diff --git a/site/0.0.7/apidocs/allclasses-frame.html b/site/0.0.7/apidocs/allclasses-frame.html
new file mode 100644
index 000000000000..4707e68a628d
--- /dev/null
+++ b/site/0.0.7/apidocs/allclasses-frame.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+All Classes (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+All Classes
+
+
+
diff --git a/site/0.0.7/apidocs/allclasses-noframe.html b/site/0.0.7/apidocs/allclasses-noframe.html
new file mode 100644
index 000000000000..e77bdb1cb46b
--- /dev/null
+++ b/site/0.0.7/apidocs/allclasses-noframe.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+All Classes (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+All Classes
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.ServiceAccountAuthCredentials.html b/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.ServiceAccountAuthCredentials.html
new file mode 100644
index 000000000000..0bcc34eac1f2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.ServiceAccountAuthCredentials.html
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+AuthCredentials.ServiceAccountAuthCredentials (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.html b/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.html
new file mode 100644
index 000000000000..25137c69ad94
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/AuthCredentials.html
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+AuthCredentials (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AuthCredentials
+public AuthCredentials()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/BaseService.html b/site/0.0.7/apidocs/com/google/gcloud/BaseService.html
new file mode 100644
index 000000000000..df414300d061
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/BaseService.html
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+BaseService (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Modifier
+Constructor and Description
+
+
+protected
+BaseService (OptionsT options)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Builder.html
new file mode 100644
index 000000000000..0061f20b4138
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Builder.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+ExceptionHandler.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.RetryResult.html b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.RetryResult.html
new file mode 100644
index 000000000000..6f984889d35f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.RetryResult.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+ExceptionHandler.Interceptor.RetryResult (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+ABORT
+
+
+RETRY
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static ExceptionHandler.Interceptor.RetryResult valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.html b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.html
new file mode 100644
index 000000000000..70d6c9626677
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.Interceptor.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+ExceptionHandler.Interceptor (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.html b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.html
new file mode 100644
index 000000000000..d807ff64467d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ExceptionHandler.html
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+ExceptionHandler (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.NonRetriableException.html b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.NonRetriableException.html
new file mode 100644
index 000000000000..da77f5e7bdaa
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.NonRetriableException.html
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+RetryHelper.NonRetriableException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetriesExhaustedException.html b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetriesExhaustedException.html
new file mode 100644
index 000000000000..0854a54e90d9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetriesExhaustedException.html
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+RetryHelper.RetriesExhaustedException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryHelperException.html b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryHelperException.html
new file mode 100644
index 000000000000..040b69ad1773
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryHelperException.html
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+RetryHelper.RetryHelperException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryInterruptedException.html b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryInterruptedException.html
new file mode 100644
index 000000000000..98b51b739681
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.RetryInterruptedException.html
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+RetryHelper.RetryInterruptedException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+All Implemented Interfaces:
+Serializable
+
+
+Enclosing class:
+RetryHelper <V >
+
+
+
+public static final class RetryHelper.RetryInterruptedException
+extends RetryHelper.RetryHelperException
+Thrown when a RetryHelper failed to complete its work due to interruption. Throwing this
+ exception also sets the thread interrupt flag.
+
+See Also:
+Serialized Form
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+static void
+propagate ()
+Sets the caller thread interrupt flag and throws RetryInterruptedException.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.html b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.html
new file mode 100644
index 000000000000..eaf83a4fdaf3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryHelper.html
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+RetryHelper (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryParams.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/RetryParams.Builder.html
new file mode 100644
index 000000000000..49f7c4ce0d7c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryParams.Builder.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+RetryParams.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/RetryParams.html b/site/0.0.7/apidocs/com/google/gcloud/RetryParams.html
new file mode 100644
index 000000000000..155d23b11628
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/RetryParams.html
@@ -0,0 +1,585 @@
+
+
+
+
+
+
+RetryParams (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+RetryParams.Builder
+RetryParams builder.
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/Service.html b/site/0.0.7/apidocs/com/google/gcloud/Service.html
new file mode 100644
index 000000000000..d5ec6dcdf4a6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/Service.html
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+Service (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.Builder.html
new file mode 100644
index 000000000000..654b39d05291
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.Builder.html
@@ -0,0 +1,385 @@
+
+
+
+
+
+
+ServiceOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.ServiceOptions.Builder<ServiceRpcT,OptionsT,B>
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+protected Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.HttpTransportFactory.html b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.HttpTransportFactory.html
new file mode 100644
index 000000000000..c090f61ff753
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.HttpTransportFactory.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+ServiceOptions.HttpTransportFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.html b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.html
new file mode 100644
index 000000000000..277f2e9df5b8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/ServiceOptions.html
@@ -0,0 +1,511 @@
+
+
+
+
+
+
+ServiceOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.ServiceOptions<ServiceRpcT,OptionsT>
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.ServiceAccountAuthCredentials.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.ServiceAccountAuthCredentials.html
new file mode 100644
index 000000000000..f1539bdec1a6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.ServiceAccountAuthCredentials.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.html
new file mode 100644
index 000000000000..2011e86b0736
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/AuthCredentials.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.AuthCredentials (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/BaseService.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/BaseService.html
new file mode 100644
index 000000000000..f1c2fa4cc6c9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/BaseService.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.BaseService (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.BaseService
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Builder.html
new file mode 100644
index 000000000000..d4c3ec60be8d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Builder.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.ExceptionHandler.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.RetryResult.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.RetryResult.html
new file mode 100644
index 000000000000..fc1dd3c4eb80
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.RetryResult.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.ExceptionHandler.Interceptor.RetryResult (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.html
new file mode 100644
index 000000000000..a906e89fe560
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.Interceptor.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.ExceptionHandler.Interceptor (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.html
new file mode 100644
index 000000000000..45790a5d7cb9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ExceptionHandler.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.ExceptionHandler (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.NonRetriableException.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.NonRetriableException.html
new file mode 100644
index 000000000000..5d3353470239
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.NonRetriableException.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryHelper.NonRetriableException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.RetryHelper.NonRetriableException
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetriesExhaustedException.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetriesExhaustedException.html
new file mode 100644
index 000000000000..4a8ba66003f4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetriesExhaustedException.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryHelper.RetriesExhaustedException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.RetryHelper.RetriesExhaustedException
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryHelperException.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryHelperException.html
new file mode 100644
index 000000000000..33e2cd85af80
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryHelperException.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryHelper.RetryHelperException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryInterruptedException.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryInterruptedException.html
new file mode 100644
index 000000000000..51a9ef3b6be8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.RetryInterruptedException.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryHelper.RetryInterruptedException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.html
new file mode 100644
index 000000000000..3a13084d45c9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryHelper.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryHelper (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.RetryHelper
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.Builder.html
new file mode 100644
index 000000000000..092be0f9cfc1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.Builder.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryParams.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.html
new file mode 100644
index 000000000000..07b1795ea988
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/RetryParams.html
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.RetryParams (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/Service.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/Service.html
new file mode 100644
index 000000000000..37f80e9ed6d7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/Service.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.Service (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.Builder.html
new file mode 100644
index 000000000000..3fcdb07e304a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.Builder.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.ServiceOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.HttpTransportFactory.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.HttpTransportFactory.html
new file mode 100644
index 000000000000..9c7f6fa83644
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.HttpTransportFactory.html
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.ServiceOptions.HttpTransportFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.html b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.html
new file mode 100644
index 000000000000..f24c949f8fc7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/class-use/ServiceOptions.html
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.ServiceOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseDatastoreBatchWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseDatastoreBatchWriter.html
new file mode 100644
index 000000000000..2e107f5c3c9e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseDatastoreBatchWriter.html
@@ -0,0 +1,550 @@
+
+
+
+
+
+
+BaseDatastoreBatchWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+put
+@SafeVarargs
+public final void put(Entity ... entities)
+A Datastore put (a.k.a upsert) operation.
+ The operation will add or modify the entities.
+ This operation will also remove from this writer any prior writes for the same entities.
+
+
+
+
+
+
+
+delete
+public final void delete(Key ... keys)
+A datastore delete operation.
+ It is OK request a deletion of a non-existing entity.
+ This operation will also remove from this batch any prior writes for entities with the same
+ keys
+
+
+
+
+
+
+
+
+
+
+
+name
+protected String name()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.Builder.html
new file mode 100644
index 000000000000..5ebea1795ac4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.Builder.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+
+BaseEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.BaseEntity.Builder<K,B>
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+abstract BaseEntity <K >
+build ()
+
+
+B
+clear ()
+Clears all the properties.
+
+
+
+protected B
+fill (com.google.api.services.datastore.DatastoreV1.Entity entityPb)
+
+
+protected K
+key ()
+
+
+B
+key (K key)
+
+
+protected Map <String ,Value <?>>
+properties ()
+
+
+protected B
+properties (Map <String ,Value <?>> properties)
+
+
+B
+remove (String name)
+Removes a property with the given name.
+
+
+
+B
+set (String name,
+ Blob value)
+
+
+B
+set (String name,
+ boolean value)
+
+
+B
+set (String name,
+ DateTime value)
+
+
+B
+set (String name,
+ double value)
+
+
+B
+set (String name,
+ FullEntity <?> value)
+
+
+B
+set (String name,
+ Key value)
+
+
+B
+set (String name,
+ List <? extends Value <?>> values)
+
+
+B
+set (String name,
+ long value)
+
+
+B
+set (String name,
+ String value)
+
+
+B
+set (String name,
+ Value <?> value)
+
+
+B
+set (String name,
+ Value <?> value,
+ Value <?>... other)
+
+
+B
+setNull (String name)
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.html
new file mode 100644
index 000000000000..2cb6ffbb63ff
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BaseEntity.html
@@ -0,0 +1,668 @@
+
+
+
+
+
+
+BaseEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.Response.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.Response.html
new file mode 100644
index 000000000000..d7e4fb820308
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.Response.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+Batch.Response (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.html
new file mode 100644
index 000000000000..356cd44d7f1b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Batch.html
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+Batch (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public interface Batch
+An interface to represent a batch of write operations.
+ Any write operation that is applied on a batch will only be sent
+ to the Datastore upon
submit().
+ A usage example:
+
+ Entity entity1 = datastore.get(key1);
+ Batch batch = datastore.newBatch();
+ Entity entity2 = Entity.builder(key2).set("name", "John").build();
+ entity1 = Entity.builder(entity1).clear().setNull("bla").build();
+ Entity entity3 = Entity.builder(key3).set("title", "title").build();
+ batch.update(entity1);
+ batch.add(entity2, entity3);
+ batch.submit();
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Interface and Description
+
+
+static interface
+Batch.Response
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+put
+void put(Entity ... entity)
+A Datastore put (a.k.a upsert) operation.
+ The operation will add or modify the entities.
+ This operation will also remove from this writer any prior writes for the same entities.
+
+Specified by:
+put in interface DatastoreWriter
+Throws:
+DatastoreException - if not active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.ForceWrites.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.ForceWrites.html
new file mode 100644
index 000000000000..f90a14d2f96b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.ForceWrites.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+BatchOption.ForceWrites (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+ForceWrites (boolean force)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+force
+public boolean force()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.html
new file mode 100644
index 000000000000..183c427e788e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BatchOption.html
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+BatchOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Blob.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Blob.html
new file mode 100644
index 000000000000..37439c942d49
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Blob.html
@@ -0,0 +1,481 @@
+
+
+
+
+
+
+Blob (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.Builder.html
new file mode 100644
index 000000000000..d696c41aaf5a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+BlobValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.html
new file mode 100644
index 000000000000..0dc960d3df90
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BlobValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+BlobValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+BlobValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+BlobValue (Blob blob)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.Builder.html
new file mode 100644
index 000000000000..6d1beea5f27e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+BooleanValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.html
new file mode 100644
index 000000000000..c7cca0034fbc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/BooleanValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+BooleanValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+BooleanValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+BooleanValue (boolean value)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Cursor.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Cursor.html
new file mode 100644
index 000000000000..ee0bbd224936
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Cursor.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+Cursor (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.TransactionCallable.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.TransactionCallable.html
new file mode 100644
index 000000000000..15d67d5fefa7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.TransactionCallable.html
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+Datastore.TransactionCallable (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.html
new file mode 100644
index 000000000000..274685ca09a5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Datastore.html
@@ -0,0 +1,452 @@
+
+
+
+
+
+
+Datastore (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+allocateId
+Key allocateId(IncompleteKey key)
+Allocate a unique id for the given key.
+ The returned key will have the same information (projectId, kind, namespace and ancestors)
+ as the given key and will have a newly assigned id.
+
+Throws:
+DatastoreException - upon failure
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.Code.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.Code.html
new file mode 100644
index 000000000000..a82f83c6a0f5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.Code.html
@@ -0,0 +1,490 @@
+
+
+
+
+
+
+DatastoreException.Code (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static DatastoreException.Code valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+httpStatus
+public int httpStatus()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.html
new file mode 100644
index 000000000000..19ce1dfaf3cd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreException.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+DatastoreException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+DatastoreException.Code
+An error code to represent the failure.
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreFactory.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreFactory.html
new file mode 100644
index 000000000000..c2a470a0f6a4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreFactory.html
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+DatastoreFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.Builder.html
new file mode 100644
index 000000000000..6f81f2afadd0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.Builder.html
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+DatastoreOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.html
new file mode 100644
index 000000000000..aee802d3bef5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreOptions.html
@@ -0,0 +1,407 @@
+
+
+
+
+
+
+DatastoreOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.ServiceOptions
+appEngineAppId , authCredentials , baseEquals , baseHashCode , createRpc , getAppEngineProjectId , googleCloudProjectId , host , httpRequestInitializer , httpTransportFactory , projectId , retryParams , serviceRpcFactory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReader.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReader.html
new file mode 100644
index 000000000000..b42531840507
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReader.html
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+DatastoreReader (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReaderWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReaderWriter.html
new file mode 100644
index 000000000000..89498d13f50b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreReaderWriter.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+DatastoreReaderWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreWriter.html
new file mode 100644
index 000000000000..da33df515f1a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DatastoreWriter.html
@@ -0,0 +1,318 @@
+
+
+
+
+
+
+DatastoreWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTime.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTime.html
new file mode 100644
index 000000000000..09ab3d556ab1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTime.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+DateTime (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.Builder.html
new file mode 100644
index 000000000000..5d21134b0a6f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+DateTimeValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.html
new file mode 100644
index 000000000000..e5b663045264
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DateTimeValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+DateTimeValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.Builder.html
new file mode 100644
index 000000000000..ef5ad05156b3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.Builder.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+DoubleValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Builder ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.html
new file mode 100644
index 000000000000..be7468f358d9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/DoubleValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+DoubleValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+DoubleValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+DoubleValue (double value)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.Builder.html
new file mode 100644
index 000000000000..4a02a320f6e9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.Builder.html
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+Entity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity.Builder
+clear , fill , key , properties , properties , remove , set , set , set , set , set , set , set , set , set , set , set , setNull
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.html
new file mode 100644
index 000000000000..be81943e0066
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Entity.html
@@ -0,0 +1,370 @@
+
+
+
+
+
+
+Entity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Entity.Builder
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity
+contains , equals , fromPb , getBlob , getBoolean , getDateTime , getDouble , getEntity , getKey , getList , getLong , getString , getValue , hashCode , hasKey , isNull , key , names , toPb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.Builder.html
new file mode 100644
index 000000000000..e3579cdf338a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+EntityValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.html
new file mode 100644
index 000000000000..6f7f4fc3bfc4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/EntityValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+EntityValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+EntityValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.Builder.html
new file mode 100644
index 000000000000..e506fadcef6b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.Builder.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+FullEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity.Builder
+clear , fill , key , key , properties , properties , remove , set , set , set , set , set , set , set , set , set , set , set , setNull
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.html
new file mode 100644
index 000000000000..b9b9f687db6f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/FullEntity.html
@@ -0,0 +1,361 @@
+
+
+
+
+
+
+FullEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity
+contains , equals , fromPb , getBlob , getBoolean , getDateTime , getDouble , getEntity , getKey , getList , getLong , getString , getValue , hashCode , hasKey , isNull , key , names , toPb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.Builder.html
new file mode 100644
index 000000000000..7c9e59f2c2cd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.Builder.html
@@ -0,0 +1,546 @@
+
+
+
+
+
+
+GqlQuery.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.html
new file mode 100644
index 000000000000..770f186a13f4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/GqlQuery.html
@@ -0,0 +1,485 @@
+
+
+
+
+
+
+GqlQuery (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+GqlQuery.Builder <V >
+A GQL query builder.
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.Builder.html
new file mode 100644
index 000000000000..8ebc6c2265ed
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.Builder.html
@@ -0,0 +1,321 @@
+
+
+
+
+
+
+IncompleteKey.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.html
new file mode 100644
index 000000000000..c873e1a4f1a8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/IncompleteKey.html
@@ -0,0 +1,464 @@
+
+
+
+
+
+
+IncompleteKey (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.Builder.html
new file mode 100644
index 000000000000..c54972f249d5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.Builder.html
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+Key.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.html
new file mode 100644
index 000000000000..edb8db65074a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Key.html
@@ -0,0 +1,656 @@
+
+
+
+
+
+
+Key (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Key.Builder
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+List <PathElement >
+ancestors ()
+Returns an immutable list with the key's ancestors.
+
+
+
+static Key.Builder
+builder (IncompleteKey copyFrom,
+ long id)
+
+
+static Key.Builder
+builder (IncompleteKey copyFrom,
+ String name)
+
+
+static Key.Builder
+builder (Key copyFrom)
+
+
+static Key.Builder
+builder (Key parent,
+ String kind,
+ long id)
+
+
+static Key.Builder
+builder (Key parent,
+ String kind,
+ String name)
+
+
+static Key.Builder
+builder (String projectId,
+ String kind,
+ long id)
+
+
+static Key.Builder
+builder (String projectId,
+ String kind,
+ String name)
+
+
+boolean
+equals (Object obj)
+
+
+protected Object
+fromPb (byte[] bytesPb)
+
+
+static Key
+fromUrlSafe (String urlSafe)
+Create a Key given its URL safe encoded form.
+
+
+
+int
+hashCode ()
+
+
+boolean
+hasId ()
+
+
+boolean
+hasName ()
+
+
+Long
+id ()
+Returns the key's id or null if it has a name instead.
+
+
+
+String
+kind ()
+Returns the key's kind.
+
+
+
+String
+name ()
+Returns the key's name or null if it has an id instead.
+
+
+
+Object
+nameOrId ()
+Returns the key's id (as
Long) or name (as
String).
+
+
+
+String
+namespace ()
+Returns the key's namespace or null if not provided.
+
+
+
+String
+projectId ()
+Returns the key's projectId.
+
+
+
+protected Object
+readResolve ()
+
+
+protected com.google.api.services.datastore.DatastoreV1.Key
+toPb ()
+
+
+String
+toString ()
+
+
+String
+toUrlSafe ()
+Returns the key in an encoded form that can be used as part of a URL.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyFactory.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyFactory.html
new file mode 100644
index 000000000000..3fb914acf0de
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyFactory.html
@@ -0,0 +1,426 @@
+
+
+
+
+
+
+KeyFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.Builder.html
new file mode 100644
index 000000000000..2c5b9c5d6853
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.Builder.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+KeyValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Builder ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.html
new file mode 100644
index 000000000000..b5d1d512848f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/KeyValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+KeyValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+KeyValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+KeyValue (Key key)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+KeyValue
+public KeyValue(Key key)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.Builder.html
new file mode 100644
index 000000000000..fead755ed0f9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.Builder.html
@@ -0,0 +1,420 @@
+
+
+
+
+
+
+ListValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.html
new file mode 100644
index 000000000000..483e35a38c69
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ListValue.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+ListValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+ListValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.Builder.html
new file mode 100644
index 000000000000..4745e94723d0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+LongValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.html
new file mode 100644
index 000000000000..3f5b95763f5a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/LongValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+LongValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+LongValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+LongValue (long value)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.Builder.html
new file mode 100644
index 000000000000..8e0fcb9de4cb
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.Builder.html
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+NullValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.html
new file mode 100644
index 000000000000..daac718bb45d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/NullValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+NullValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+NullValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+NullValue ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+NullValue
+public NullValue()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/PathElement.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/PathElement.html
new file mode 100644
index 000000000000..860a6dbd3e79
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/PathElement.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+PathElement (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+kind
+public String kind()
+
+
+
+
+
+
+
+hasId
+public boolean hasId()
+
+
+
+
+
+
+
+id
+public Long id()
+
+
+
+
+
+
+
+hasName
+public boolean hasName()
+
+
+
+
+
+
+
+name
+public String name()
+
+
+
+
+
+
+
+nameOrId
+public Object nameOrId()
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode in class Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.Builder.html
new file mode 100644
index 000000000000..b7fbd6b3270b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.Builder.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+ProjectionEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity.Builder
+clear , fill , key , key , properties , properties , remove , set , set , set , set , set , set , set , set , set , set , set , setNull
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.html
new file mode 100644
index 000000000000..850643c0cbce
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ProjectionEntity.html
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+ProjectionEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.datastore.BaseEntity
+contains , equals , fromPb , getBoolean , getDouble , getEntity , getKey , getList , getLong , getString , getValue , hashCode , hasKey , isNull , key , names , toPb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.ResultType.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.ResultType.html
new file mode 100644
index 000000000000..884946f7544a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.ResultType.html
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+Query.ResultType (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.html
new file mode 100644
index 000000000000..ba62b3d115c4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Query.html
@@ -0,0 +1,477 @@
+
+
+
+
+
+
+Query (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Query.ResultType <V >
+This class represents the expected type of the result.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/QueryResults.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/QueryResults.html
new file mode 100644
index 000000000000..64eb1c167d04
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/QueryResults.html
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+QueryResults (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+cursorAfter
+Cursor cursorAfter()
+Returns the Cursor for point after the value returned in the last
Iterator.next() call.
+ Not currently implemented (depends on v1beta3).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.Builder.html
new file mode 100644
index 000000000000..785ea7230b2b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+RawValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.html
new file mode 100644
index 000000000000..3979b2f13b1d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/RawValue.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+RawValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+RawValue.Builder
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.Builder.html
new file mode 100644
index 000000000000..e52abe1d2172
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.Builder.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+StringValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+get
+public V get()
+
+Specified by:
+get in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+set
+public B set(V value)
+
+Specified by:
+set in interface ValueBuilder <V,P extends Value <V>,B extends com.google.gcloud.datastore.Value.BaseBuilder<V,P,B>>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.html
new file mode 100644
index 000000000000..1b518bc03ea7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StringValue.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+StringValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+StringValue.Builder
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.CompositeFilter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.CompositeFilter.html
new file mode 100644
index 000000000000..60a60eb2ad38
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.CompositeFilter.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+StructuredQuery.CompositeFilter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.EntityQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.EntityQueryBuilder.html
new file mode 100644
index 000000000000..6bbb540b702d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.EntityQueryBuilder.html
@@ -0,0 +1,375 @@
+
+
+
+
+
+
+StructuredQuery.EntityQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.StructuredQuery.EntityQueryBuilder
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Filter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Filter.html
new file mode 100644
index 000000000000..7d92d9884aab
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Filter.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+StructuredQuery.Filter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method and Description
+
+
+protected abstract com.google.api.services.datastore.DatastoreV1.Filter
+toPb ()
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.KeyQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.KeyQueryBuilder.html
new file mode 100644
index 000000000000..1cff78408cf5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.KeyQueryBuilder.html
@@ -0,0 +1,388 @@
+
+
+
+
+
+
+StructuredQuery.KeyQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.Direction.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.Direction.html
new file mode 100644
index 000000000000..0e47d06ca800
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.Direction.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+StructuredQuery.OrderBy.Direction (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static StructuredQuery.OrderBy.Direction valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.html
new file mode 100644
index 000000000000..e49b3e4b2ec2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.OrderBy.html
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+StructuredQuery.OrderBy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.Aggregate.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.Aggregate.html
new file mode 100644
index 000000000000..8bb7cf018e58
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.Aggregate.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+StructuredQuery.Projection.Aggregate (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+FIRST
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static StructuredQuery.Projection.Aggregate valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.html
new file mode 100644
index 000000000000..cb6f5bcb8745
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.Projection.html
@@ -0,0 +1,361 @@
+
+
+
+
+
+
+StructuredQuery.Projection (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.StructuredQuery.Projection
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.ProjectionEntityQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.ProjectionEntityQueryBuilder.html
new file mode 100644
index 000000000000..1ddb1279d437
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.ProjectionEntityQueryBuilder.html
@@ -0,0 +1,461 @@
+
+
+
+
+
+
+StructuredQuery.ProjectionEntityQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.PropertyFilter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.PropertyFilter.html
new file mode 100644
index 000000000000..d212721df4c2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.PropertyFilter.html
@@ -0,0 +1,948 @@
+
+
+
+
+
+
+StructuredQuery.PropertyFilter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+eq (String property,
+ Value <?> value)
+
+
+boolean
+equals (Object obj)
+
+
+static StructuredQuery.PropertyFilter
+fromPb (com.google.api.services.datastore.DatastoreV1.PropertyFilter propertyFilterPb)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+gt (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+gte (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+hasAncestor (Key key)
+
+
+int
+hashCode ()
+
+
+static StructuredQuery.PropertyFilter
+isNull (String property)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+le (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+lte (String property,
+ Value <?> value)
+
+
+protected com.google.api.services.datastore.DatastoreV1.Filter
+toPb ()
+
+
+String
+toString ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.html
new file mode 100644
index 000000000000..adef41c22cbf
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/StructuredQuery.html
@@ -0,0 +1,580 @@
+
+
+
+
+
+
+StructuredQuery (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.Response.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.Response.html
new file mode 100644
index 000000000000..41ea54af3310
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.Response.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+Transaction.Response (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.html
new file mode 100644
index 000000000000..14e32855affd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Transaction.html
@@ -0,0 +1,582 @@
+
+
+
+
+
+
+Transaction (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Interface and Description
+
+
+static interface
+Transaction.Response
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+get
+Entity get(Key key)
+Returns an
Entity for the given
Key or
null if does not exists.
+ The requested entity will be part of this Datastore transaction (so a commit is guaranteed
+ to fail if entity was changed by others after it was seen by this transaction) but any
+ write changes in this transaction will not be reflected by the returned entity.
+
+Specified by:
+get in interface DatastoreReader
+Throws:
+DatastoreException - upon failure or if no longer active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+put
+void put(Entity ... entity)
+A Datastore put (a.k.a upsert) operation.
+ The operation will add or modify the entities.
+ This operation will also remove from this writer any prior writes for the same entities.
+
+Specified by:
+put in interface DatastoreWriter
+Throws:
+DatastoreException - if not active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.ForceWrites.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.ForceWrites.html
new file mode 100644
index 000000000000..41e85362c2a2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.ForceWrites.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+TransactionOption.ForceWrites (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+ForceWrites (boolean force)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+force
+public boolean force()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.Level.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.Level.html
new file mode 100644
index 000000000000..b9c890ca540a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.Level.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+TransactionOption.IsolationLevel.Level (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static TransactionOption.IsolationLevel.Level valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.html
new file mode 100644
index 000000000000..fec9d77c9037
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.IsolationLevel.html
@@ -0,0 +1,321 @@
+
+
+
+
+
+
+TransactionOption.IsolationLevel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.html
new file mode 100644
index 000000000000..69160c1786ae
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/TransactionOption.html
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+TransactionOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/Value.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/Value.html
new file mode 100644
index 000000000000..4144371453a9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/Value.html
@@ -0,0 +1,443 @@
+
+
+
+
+
+
+Value (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueBuilder.html
new file mode 100644
index 000000000000..5bdafcc1e161
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueBuilder.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+ValueBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+All Known Implementing Classes:
+BlobValue.Builder , BooleanValue.Builder , DateTimeValue.Builder , DoubleValue.Builder , EntityValue.Builder , KeyValue.Builder , ListValue.Builder , LongValue.Builder , NullValue.Builder , RawValue.Builder , StringValue.Builder
+
+
+
+public interface ValueBuilder<V,P extends Value <V>,B extends ValueBuilder<V,P,B>>
+A common interface for Value builders.
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueType.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueType.html
new file mode 100644
index 000000000000..da645e9e97b6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/ValueType.html
@@ -0,0 +1,487 @@
+
+
+
+
+
+
+ValueType (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+BLOB
+
+
+
+
+BOOLEAN
+Represents a boolean value.
+
+
+
+DATE_TIME
+
+
+
+
+DOUBLE
+Represents a double value.
+
+
+
+ENTITY
+Represents an entity value.
+
+
+
+KEY
+Represents a key as a value.
+
+
+
+LIST
+Represents a
list of
Values.
+
+
+
+LONG
+Represents a long value.
+
+
+
+NULL
+Represents a null value.
+
+
+
+RAW_VALUE
+Represents a raw/unparsed value.
+
+
+
+STRING
+Represents a string value.
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+static ValueType
+valueOf (String name)
+Returns the enum constant of this type with the specified name.
+
+
+
+static ValueType []
+values ()
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static ValueType valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseDatastoreBatchWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseDatastoreBatchWriter.html
new file mode 100644
index 000000000000..cb0f4545ff4e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseDatastoreBatchWriter.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BaseDatastoreBatchWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.Builder.html
new file mode 100644
index 000000000000..c8f5092fb867
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.Builder.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BaseEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.html
new file mode 100644
index 000000000000..41574f1733f4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BaseEntity.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BaseEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.Response.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.Response.html
new file mode 100644
index 000000000000..24923c4d7489
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.Response.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Batch.Response (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.html
new file mode 100644
index 000000000000..5183b57d4df2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Batch.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Batch (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.ForceWrites.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.ForceWrites.html
new file mode 100644
index 000000000000..ff3d3cfd062f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.ForceWrites.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BatchOption.ForceWrites (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.html
new file mode 100644
index 000000000000..5e41a31343f6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BatchOption.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BatchOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Blob.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Blob.html
new file mode 100644
index 000000000000..279b3bcffe85
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Blob.html
@@ -0,0 +1,251 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Blob (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.Builder.html
new file mode 100644
index 000000000000..4c9b5d50dbbd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BlobValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.html
new file mode 100644
index 000000000000..c92f35066695
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BlobValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BlobValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.Builder.html
new file mode 100644
index 000000000000..bbc68dc2f0e2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BooleanValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.html
new file mode 100644
index 000000000000..1a8c90e4f030
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/BooleanValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.BooleanValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Cursor.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Cursor.html
new file mode 100644
index 000000000000..71182a40899b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Cursor.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Cursor (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.TransactionCallable.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.TransactionCallable.html
new file mode 100644
index 000000000000..34f49d8e95c8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.TransactionCallable.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Datastore.TransactionCallable (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.html
new file mode 100644
index 000000000000..79bd65b2f4d0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Datastore.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Datastore (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.Code.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.Code.html
new file mode 100644
index 000000000000..cce617a296f4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.Code.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DatastoreException.Code (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.html
new file mode 100644
index 000000000000..2d04c692ddbe
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreException.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DatastoreException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreFactory.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreFactory.html
new file mode 100644
index 000000000000..01422042e8ae
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreFactory.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DatastoreFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.Builder.html
new file mode 100644
index 000000000000..4811e196662a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.Builder.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DatastoreOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.html
new file mode 100644
index 000000000000..f36da4c4af91
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreOptions.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DatastoreOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReader.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReader.html
new file mode 100644
index 000000000000..bc7ca73d6589
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReader.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.DatastoreReader (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReaderWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReaderWriter.html
new file mode 100644
index 000000000000..abb7d4e24cbf
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreReaderWriter.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.DatastoreReaderWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreWriter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreWriter.html
new file mode 100644
index 000000000000..f2696b88e2dd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DatastoreWriter.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.DatastoreWriter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Subinterfaces of DatastoreWriter in com.google.gcloud.datastore
+
+Modifier and Type
+Interface and Description
+
+
+
+interface
+Batch
+An interface to represent a batch of write operations.
+
+
+
+interface
+Datastore
+An interface for Google Cloud Datastore.
+
+
+
+(package private) interface
+com.google.gcloud.datastore.DatastoreBatchWriter
+An interface to represent a batch of write operations.
+
+
+
+interface
+DatastoreReaderWriter
+An interface that combines both Google Cloud Datastore read and write operations.
+
+
+
+interface
+Transaction
+A Google cloud datastore transaction.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTime.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTime.html
new file mode 100644
index 000000000000..17401ed47b45
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTime.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DateTime (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.Builder.html
new file mode 100644
index 000000000000..19eae4ffe00c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DateTimeValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.html
new file mode 100644
index 000000000000..7aba84d7986d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DateTimeValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DateTimeValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.Builder.html
new file mode 100644
index 000000000000..bbb0d56b2989
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DoubleValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.html
new file mode 100644
index 000000000000..7ac96844f309
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/DoubleValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.DoubleValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.Builder.html
new file mode 100644
index 000000000000..f1c061c59ed8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.Builder.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Entity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.html
new file mode 100644
index 000000000000..0ac6e1d75d09
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Entity.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Entity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore with parameters of type Entity
+
+Modifier and Type
+Method and Description
+
+
+
+static Entity.Builder
+Entity. builder (Entity copyFrom)
+
+
+void
+DatastoreWriter. put (Entity ... entity)
+A Datastore put (a.k.a upsert) operation.
+
+
+
+void
+Datastore. put (Entity ... entity)
+A Datastore put (a.k.a upsert) operation.
+
+
+
+void
+BaseDatastoreBatchWriter. put (Entity ... entities)
+
+
+void
+DatastoreWriter. update (Entity ... entity)
+A Datastore update operation.
+
+
+
+void
+Datastore. update (Entity ... entity)
+A Datastore update operation.
+
+
+
+void
+BaseDatastoreBatchWriter. update (Entity ... entities)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.Builder.html
new file mode 100644
index 000000000000..b146d1c35757
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.Builder.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.EntityValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.html
new file mode 100644
index 000000000000..ad66f286cae7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/EntityValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.EntityValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.Builder.html
new file mode 100644
index 000000000000..bdb6fb334cad
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.Builder.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.FullEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.html
new file mode 100644
index 000000000000..c23dbe17d0ec
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/FullEntity.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.FullEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.Builder.html
new file mode 100644
index 000000000000..b60494d97829
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.Builder.html
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.GqlQuery.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore that return GqlQuery.Builder
+
+Modifier and Type
+Method and Description
+
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (Blob ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (boolean... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (Cursor cursor)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (DateTime ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (double... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (FullEntity <?>... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (Key ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (long... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (String ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. allowLiteral (boolean allowLiteral)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. clearBindings ()
+
+
+static <V> GqlQuery.Builder <V>
+Query. gqlQueryBuilder (Query.ResultType <V> resultType,
+ String gql)
+
+
+
+
+static GqlQuery.Builder <?>
+Query. gqlQueryBuilder (String gql)
+
+
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. namespace (String namespace)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. query (String query)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ Blob ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ boolean... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ Cursor cursor)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ DateTime ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ double... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ FullEntity <?>... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ Key ... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ long... value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ String ... value)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.html
new file mode 100644
index 000000000000..29a322c2dbfb
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/GqlQuery.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.GqlQuery (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.Builder.html
new file mode 100644
index 000000000000..b6812e071f45
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.Builder.html
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.IncompleteKey.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.html
new file mode 100644
index 000000000000..757e6cc4f851
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/IncompleteKey.html
@@ -0,0 +1,294 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.IncompleteKey (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.Builder.html
new file mode 100644
index 000000000000..9d217092aa54
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.Builder.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Key.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore that return Key.Builder
+
+Modifier and Type
+Method and Description
+
+
+
+static Key.Builder
+Key. builder (IncompleteKey copyFrom,
+ long id)
+
+
+static Key.Builder
+Key. builder (IncompleteKey copyFrom,
+ String name)
+
+
+static Key.Builder
+Key. builder (Key copyFrom)
+
+
+static Key.Builder
+Key. builder (Key parent,
+ String kind,
+ long id)
+
+
+static Key.Builder
+Key. builder (Key parent,
+ String kind,
+ String name)
+
+
+static Key.Builder
+Key. builder (String projectId,
+ String kind,
+ long id)
+
+
+static Key.Builder
+Key. builder (String projectId,
+ String kind,
+ String name)
+
+
+Key.Builder
+Key.Builder. id (long id)
+
+
+Key.Builder
+Key.Builder. name (String name)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.html
new file mode 100644
index 000000000000..ead44c43c713
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Key.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Key (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore with parameters of type Key
+
+Modifier and Type
+Method and Description
+
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. addBinding (Key ... value)
+
+
+static Entity.Builder
+Entity. builder (Key key)
+
+
+static KeyValue.Builder
+KeyValue. builder (Key key)
+
+
+static Key.Builder
+Key. builder (Key copyFrom)
+
+
+static Entity.Builder
+Entity. builder (Key key,
+ FullEntity <?> copyFrom)
+
+
+static IncompleteKey.Builder
+IncompleteKey. builder (Key parent,
+ String kind)
+
+
+static Key.Builder
+Key. builder (Key parent,
+ String kind,
+ long id)
+
+
+static Key.Builder
+Key. builder (Key parent,
+ String kind,
+ String name)
+
+
+void
+DatastoreWriter. delete (Key ... key)
+A datastore delete operation.
+
+
+
+void
+Datastore. delete (Key ... key)
+A datastore delete operation.
+
+
+
+void
+BaseDatastoreBatchWriter. delete (Key ... keys)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ Key value)
+
+
+List <Entity >
+DatastoreReader. fetch (Key ... keys)
+Returns a list with a value for each given key (ordered by input).
+
+
+
+List <Entity >
+Transaction. fetch (Key ... keys)
+Returns a list with a value for each given key (ordered by input).
+
+
+
+Iterator <Entity >
+DatastoreReader. get (Key ... key)
+Returns an
Entity for each given
Key that exists in the Datastore.
+
+
+
+Iterator <Entity >
+Transaction. get (Key ... key)
+Returns an
Entity for each given
Key that exists in the Datastore.
+
+
+
+Entity
+DatastoreReader. get (Key key)
+Returns an
Entity for the given
Key or
null if does not exists.
+
+
+
+Entity
+Transaction. get (Key key)
+Returns an
Entity for the given
Key or
null if does not exists.
+
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. hasAncestor (Key key)
+
+
+Entity.Builder
+Entity.Builder. key (Key key)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ Key value)
+
+
+static KeyValue
+KeyValue. of (Key key)
+
+
+B
+BaseEntity.Builder. set (String name,
+ Key value)
+
+
+GqlQuery.Builder <V >
+GqlQuery.Builder. setBinding (String name,
+ Key ... value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyFactory.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyFactory.html
new file mode 100644
index 000000000000..4701023f0874
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyFactory.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.KeyFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.Builder.html
new file mode 100644
index 000000000000..9b2652e91a78
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.KeyValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.html
new file mode 100644
index 000000000000..e00749461857
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/KeyValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.KeyValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.Builder.html
new file mode 100644
index 000000000000..c40f37b741a7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.Builder.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.ListValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.html
new file mode 100644
index 000000000000..d989e4dcb0f5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ListValue.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.ListValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.Builder.html
new file mode 100644
index 000000000000..ef9b4fe76714
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.LongValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.html
new file mode 100644
index 000000000000..14513a12a069
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/LongValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.LongValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.Builder.html
new file mode 100644
index 000000000000..5e5469db8aca
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.Builder.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.NullValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.html
new file mode 100644
index 000000000000..de194f056437
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/NullValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.NullValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/PathElement.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/PathElement.html
new file mode 100644
index 000000000000..69a969ca8d83
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/PathElement.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.PathElement (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.Builder.html
new file mode 100644
index 000000000000..d16a7b0acbbc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.ProjectionEntity.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.html
new file mode 100644
index 000000000000..bbf62e646bd8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ProjectionEntity.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.ProjectionEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.ResultType.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.ResultType.html
new file mode 100644
index 000000000000..d41779daf5e4
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.ResultType.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Query.ResultType (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.html
new file mode 100644
index 000000000000..94b49a63ef03
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Query.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Query (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Subclasses of Query in com.google.gcloud.datastore
+
+Modifier and Type
+Class and Description
+
+
+
+class
+GqlQuery <V>
+A Google Cloud Datastore GQL query.
+
+
+
+class
+StructuredQuery <V>
+An implementation of a Google Cloud Datastore Query that can be constructed by providing
+ all the specific query elements.
+
+
+
+
+
+Methods in com.google.gcloud.datastore that return Query
+
+Modifier and Type
+Method and Description
+
+
+
+protected abstract Query <V >
+Query. nextQuery (com.google.api.services.datastore.DatastoreV1.QueryResultBatch responsePb)
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/QueryResults.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/QueryResults.html
new file mode 100644
index 000000000000..4cce91a9e97b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/QueryResults.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.QueryResults (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.Builder.html
new file mode 100644
index 000000000000..63ec6ed6528a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.Builder.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.RawValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.html
new file mode 100644
index 000000000000..97dffd3c0221
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/RawValue.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.RawValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.Builder.html
new file mode 100644
index 000000000000..0dc190b7439d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.Builder.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StringValue.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.html
new file mode 100644
index 000000000000..78de059ff90c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StringValue.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StringValue (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.CompositeFilter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.CompositeFilter.html
new file mode 100644
index 000000000000..c7abe0a66aac
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.CompositeFilter.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.CompositeFilter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.EntityQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.EntityQueryBuilder.html
new file mode 100644
index 000000000000..f7963ac66e8b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.EntityQueryBuilder.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.EntityQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Filter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Filter.html
new file mode 100644
index 000000000000..efc5fd6a7411
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Filter.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.Filter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.KeyQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.KeyQueryBuilder.html
new file mode 100644
index 000000000000..58e9c1fe475a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.KeyQueryBuilder.html
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.Direction.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.Direction.html
new file mode 100644
index 000000000000..86a1b868d35a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.Direction.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.OrderBy.Direction (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.html
new file mode 100644
index 000000000000..fba5d99f4aa8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.OrderBy.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.OrderBy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.Aggregate.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.Aggregate.html
new file mode 100644
index 000000000000..8614430c2863
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.Aggregate.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.Projection.Aggregate (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.html
new file mode 100644
index 000000000000..fcd3c814a2d2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.Projection.html
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.Projection (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.ProjectionEntityQueryBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.ProjectionEntityQueryBuilder.html
new file mode 100644
index 000000000000..35e06c37471d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.ProjectionEntityQueryBuilder.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.PropertyFilter.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.PropertyFilter.html
new file mode 100644
index 000000000000..32d0d363e360
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.PropertyFilter.html
@@ -0,0 +1,374 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery.PropertyFilter (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore that return StructuredQuery.PropertyFilter
+
+Modifier and Type
+Method and Description
+
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. fromPb (com.google.api.services.datastore.DatastoreV1.PropertyFilter propertyFilterPb)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. hasAncestor (Key key)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. isNull (String property)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ Blob value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ boolean value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ DateTime value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ double value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ Key value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ long value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ String value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ Value <?> value)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.html
new file mode 100644
index 000000000000..62d92871c554
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/StructuredQuery.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.StructuredQuery (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.Response.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.Response.html
new file mode 100644
index 000000000000..5ff2563139b0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.Response.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Transaction.Response (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.html
new file mode 100644
index 000000000000..2a84e88230dc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Transaction.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.Transaction (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.ForceWrites.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.ForceWrites.html
new file mode 100644
index 000000000000..9942a0c3591b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.ForceWrites.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.TransactionOption.ForceWrites (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.Level.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.Level.html
new file mode 100644
index 000000000000..9b29ef4cc2f9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.Level.html
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.TransactionOption.IsolationLevel.Level (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.html
new file mode 100644
index 000000000000..2fe3bacc4b13
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.IsolationLevel.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.TransactionOption.IsolationLevel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.html
new file mode 100644
index 000000000000..bead61f91e17
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/TransactionOption.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.TransactionOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Value.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Value.html
new file mode 100644
index 000000000000..dbe4283b7421
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/Value.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.Value (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.datastore with parameters of type Value
+
+Modifier and Type
+Method and Description
+
+
+
+ListValue.Builder
+ListValue.Builder. addValue (Value <?> value)
+
+
+ListValue.Builder
+ListValue.Builder. addValue (Value <?> first,
+ Value <?>... other)
+
+
+ListValue.Builder
+ListValue.Builder. addValue (Value <?> first,
+ Value <?>... other)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. eq (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gt (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. gte (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. le (String property,
+ Value <?> value)
+
+
+static StructuredQuery.PropertyFilter
+StructuredQuery.PropertyFilter. lte (String property,
+ Value <?> value)
+
+
+static ListValue
+ListValue. of (Value <?> first,
+ Value <?>... other)
+
+
+static ListValue
+ListValue. of (Value <?> first,
+ Value <?>... other)
+
+
+B
+BaseEntity.Builder. set (String name,
+ Value <?> value)
+
+
+B
+BaseEntity.Builder. set (String name,
+ Value <?> value,
+ Value <?>... other)
+
+
+B
+BaseEntity.Builder. set (String name,
+ Value <?> value,
+ Value <?>... other)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueBuilder.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueBuilder.html
new file mode 100644
index 000000000000..fec54a726a5d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueBuilder.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.datastore.ValueBuilder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueType.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueType.html
new file mode 100644
index 000000000000..529323c388ed
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/class-use/ValueType.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.datastore.ValueType (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/package-frame.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-frame.html
new file mode 100644
index 000000000000..38cf05741a87
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-frame.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+com.google.gcloud.datastore (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
Interfaces
+
+
Classes
+
+
Enums
+
+
Exceptions
+
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/package-summary.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-summary.html
new file mode 100644
index 000000000000..1c6c20d4444e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-summary.html
@@ -0,0 +1,594 @@
+
+
+
+
+
+
+com.google.gcloud.datastore (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Package com.google.gcloud.datastore Description
+
A client to the Google Cloud Datastore.
+
+
A simple usage example:
+
+ DatastoreOptions options = DatastoreOptions.builder().projectId(PROJECT_ID).build();
+ Datastore datastore = DatastoreFactory.instance().get(options);
+ KeyFactory keyFactory = datastore.newKeyFactory().kind(kind);
+ Key key = keyFactory.newKey(keyName);
+ Entity entity = datastore.get(key);
+ if (entity == null) {
+ entity = Entity.builder(key)
+ .set("name", "John Do")
+ .set("age", LongValue.builder(100).indexed(false).build())
+ .set("updated", false)
+ .build();
+ datastore.put(entity);
+ } else {
+ boolean updated = entity.getBoolean("updated");
+ if (!updated) {
+ String[] name = entity.getString("name").split(" ");
+ entity = Entity.builder(entity)
+ .set("name", name[0])
+ .set("last_name", StringValue.builder(name[1]).indexed(false).build())
+ .set("updated", true)
+ .remove("old_property")
+ .set("new_property", 1.1)
+ .build();
+ datastore.update(entity);
+ }
+ }
+
+
+See Also:
+Google Cloud Datastore
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/package-tree.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-tree.html
new file mode 100644
index 000000000000..e4a6af6c89f1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-tree.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+
+com.google.gcloud.datastore Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
Enum Hierarchy
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/datastore/package-use.html b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-use.html
new file mode 100644
index 000000000000..3623eb1da604
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/datastore/package-use.html
@@ -0,0 +1,471 @@
+
+
+
+
+
+
+Uses of Package com.google.gcloud.datastore (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/DatastoreExample.html b/site/0.0.7/apidocs/com/google/gcloud/examples/DatastoreExample.html
new file mode 100644
index 000000000000..734620dff706
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/DatastoreExample.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
+DatastoreExample (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/StorageExample.html b/site/0.0.7/apidocs/com/google/gcloud/examples/StorageExample.html
new file mode 100644
index 000000000000..c7f2eb86e20f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/StorageExample.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+StorageExample (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+StorageExample ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+StorageExample
+public StorageExample()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/DatastoreExample.html b/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/DatastoreExample.html
new file mode 100644
index 000000000000..9e93726500a1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/DatastoreExample.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.examples.DatastoreExample (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.examples.DatastoreExample
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/StorageExample.html b/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/StorageExample.html
new file mode 100644
index 000000000000..5e2407a822a2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/class-use/StorageExample.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.examples.StorageExample (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.examples.StorageExample
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/package-frame.html b/site/0.0.7/apidocs/com/google/gcloud/examples/package-frame.html
new file mode 100644
index 000000000000..9a552c96036b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/package-frame.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+com.google.gcloud.examples (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/package-summary.html b/site/0.0.7/apidocs/com/google/gcloud/examples/package-summary.html
new file mode 100644
index 000000000000..412304a333ec
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/package-summary.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+com.google.gcloud.examples (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+DatastoreExample
+
+An example of using the Google Cloud Datastore.
+
+
+
+StorageExample
+
+An example of using the Google Cloud Storage.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/package-tree.html b/site/0.0.7/apidocs/com/google/gcloud/examples/package-tree.html
new file mode 100644
index 000000000000..a4c65dced4e6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/package-tree.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+com.google.gcloud.examples Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/examples/package-use.html b/site/0.0.7/apidocs/com/google/gcloud/examples/package-use.html
new file mode 100644
index 000000000000..50461481a9ff
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/examples/package-use.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Package com.google.gcloud.examples (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.examples
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/package-frame.html b/site/0.0.7/apidocs/com/google/gcloud/package-frame.html
new file mode 100644
index 000000000000..9b9b2eb871a1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/package-frame.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+com.google.gcloud (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
Interfaces
+
+
Classes
+
+
Enums
+
+
Exceptions
+
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/package-summary.html b/site/0.0.7/apidocs/com/google/gcloud/package-summary.html
new file mode 100644
index 000000000000..29652c2bd6d9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/package-summary.html
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+com.google.gcloud (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/package-tree.html b/site/0.0.7/apidocs/com/google/gcloud/package-tree.html
new file mode 100644
index 000000000000..55d6c4d7c103
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/package-tree.html
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+com.google.gcloud Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
Enum Hierarchy
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/package-use.html b/site/0.0.7/apidocs/com/google/gcloud/package-use.html
new file mode 100644
index 000000000000..fd0385119a4b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/package-use.html
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+Uses of Package com.google.gcloud (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.Reason.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.Reason.html
new file mode 100644
index 000000000000..d3380337551b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.Reason.html
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+DatastoreRpc.DatastoreRpcException.Reason (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static DatastoreRpc.DatastoreRpcException.Reason valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+httpStatus
+public int httpStatus()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.html
new file mode 100644
index 000000000000..60af72c2a567
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.DatastoreRpcException.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+DatastoreRpc.DatastoreRpcException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+DatastoreRpcException
+public DatastoreRpcException(String reason,
+ int httpStatus,
+ boolean retryable,
+ String message)
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+reason
+public String reason()
+
+
+
+
+
+
+
+httpStatus
+public int httpStatus()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.html
new file mode 100644
index 000000000000..4a1c034f9928
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpc.html
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+DatastoreRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method and Description
+
+
+com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse
+allocateIds (com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse
+beginTransaction (com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.CommitResponse
+commit (com.google.api.services.datastore.DatastoreV1.CommitRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.LookupResponse
+lookup (com.google.api.services.datastore.DatastoreV1.LookupRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RollbackResponse
+rollback (com.google.api.services.datastore.DatastoreV1.RollbackRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RunQueryResponse
+runQuery (com.google.api.services.datastore.DatastoreV1.RunQueryRequest request)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpcFactory.html
new file mode 100644
index 000000000000..b96384bfe519
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DatastoreRpcFactory.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+DatastoreRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultDatastoreRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultDatastoreRpc.html
new file mode 100644
index 000000000000..b61d263cb223
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultDatastoreRpc.html
@@ -0,0 +1,398 @@
+
+
+
+
+
+
+DefaultDatastoreRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse
+allocateIds (com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse
+beginTransaction (com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.CommitResponse
+commit (com.google.api.services.datastore.DatastoreV1.CommitRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.LookupResponse
+lookup (com.google.api.services.datastore.DatastoreV1.LookupRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RollbackResponse
+rollback (com.google.api.services.datastore.DatastoreV1.RollbackRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RunQueryResponse
+runQuery (com.google.api.services.datastore.DatastoreV1.RunQueryRequest request)
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultStorageRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultStorageRpc.html
new file mode 100644
index 000000000000..c0a903524846
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/DefaultStorageRpc.html
@@ -0,0 +1,686 @@
+
+
+
+
+
+
+DefaultStorageRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+StorageRpc.BatchResponse
+batch (StorageRpc.BatchRequest request)
+
+
+com.google.api.services.storage.model.StorageObject
+compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.Bucket
+create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+create (com.google.api.services.storage.model.StorageObject storageObject,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+delete (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+delete (com.google.api.services.storage.model.StorageObject blob,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+get (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+get (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+load (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+patch (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+patch (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+void
+write (String uploadId,
+ byte[] toWrite,
+ int toWriteOffset,
+ com.google.api.services.storage.model.StorageObject dest,
+ long destOffset,
+ int length,
+ boolean last)
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/ServiceRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/ServiceRpcFactory.html
new file mode 100644
index 000000000000..07aacebdda99
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/ServiceRpcFactory.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+ServiceRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchRequest.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchRequest.html
new file mode 100644
index 000000000000..e503a7b2294e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchRequest.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+StorageRpc.BatchRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchResponse.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchResponse.html
new file mode 100644
index 000000000000..94cfeaf39f65
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.BatchResponse.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+StorageRpc.BatchResponse (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Option.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Option.html
new file mode 100644
index 000000000000..0e1d4dcd0a6d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Option.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+StorageRpc.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static StorageRpc.Option valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+value
+public String value()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Tuple.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Tuple.html
new file mode 100644
index 000000000000..c56e3f9a7447
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.Tuple.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+StorageRpc.Tuple (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.html
new file mode 100644
index 000000000000..7f7830bf6e83
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpc.html
@@ -0,0 +1,601 @@
+
+
+
+
+
+
+StorageRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method and Description
+
+
+StorageRpc.BatchResponse
+batch (StorageRpc.BatchRequest request)
+
+
+com.google.api.services.storage.model.StorageObject
+compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.Bucket
+create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+create (com.google.api.services.storage.model.StorageObject object,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+delete (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+delete (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+get (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+get (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+load (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+patch (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+patch (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+void
+write (String uploadId,
+ byte[] toWrite,
+ int toWriteOffset,
+ com.google.api.services.storage.model.StorageObject dest,
+ long destOffset,
+ int length,
+ boolean last)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpcFactory.html
new file mode 100644
index 000000000000..363d69ec507d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/StorageRpcFactory.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+StorageRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.Reason.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.Reason.html
new file mode 100644
index 000000000000..cc8627b1f6e3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.Reason.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.html
new file mode 100644
index 000000000000..c4ea866cc0fc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.DatastoreRpcException.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.spi that throw DatastoreRpc.DatastoreRpcException
+
+Modifier and Type
+Method and Description
+
+
+
+com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse
+DefaultDatastoreRpc. allocateIds (com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse
+DatastoreRpc. allocateIds (com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse
+DefaultDatastoreRpc. beginTransaction (com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse
+DatastoreRpc. beginTransaction (com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.CommitResponse
+DefaultDatastoreRpc. commit (com.google.api.services.datastore.DatastoreV1.CommitRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.CommitResponse
+DatastoreRpc. commit (com.google.api.services.datastore.DatastoreV1.CommitRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.LookupResponse
+DefaultDatastoreRpc. lookup (com.google.api.services.datastore.DatastoreV1.LookupRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.LookupResponse
+DatastoreRpc. lookup (com.google.api.services.datastore.DatastoreV1.LookupRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RollbackResponse
+DefaultDatastoreRpc. rollback (com.google.api.services.datastore.DatastoreV1.RollbackRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RollbackResponse
+DatastoreRpc. rollback (com.google.api.services.datastore.DatastoreV1.RollbackRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RunQueryResponse
+DefaultDatastoreRpc. runQuery (com.google.api.services.datastore.DatastoreV1.RunQueryRequest request)
+
+
+com.google.api.services.datastore.DatastoreV1.RunQueryResponse
+DatastoreRpc. runQuery (com.google.api.services.datastore.DatastoreV1.RunQueryRequest request)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.html
new file mode 100644
index 000000000000..f76afe99134c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpc.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.spi.DatastoreRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpcFactory.html
new file mode 100644
index 000000000000..c5fa2ed00b2a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DatastoreRpcFactory.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.spi.DatastoreRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.spi.DatastoreRpcFactory
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultDatastoreRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultDatastoreRpc.html
new file mode 100644
index 000000000000..c4116c1deedd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultDatastoreRpc.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.DefaultDatastoreRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.spi.DefaultDatastoreRpc
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultStorageRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultStorageRpc.html
new file mode 100644
index 000000000000..84c67f772e99
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/DefaultStorageRpc.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.DefaultStorageRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.spi.DefaultStorageRpc
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/ServiceRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/ServiceRpcFactory.html
new file mode 100644
index 000000000000..db3bd1530044
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/ServiceRpcFactory.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.spi.ServiceRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchRequest.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchRequest.html
new file mode 100644
index 000000000000..a76221217a98
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchRequest.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.StorageRpc.BatchRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchResponse.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchResponse.html
new file mode 100644
index 000000000000..61c42ab01794
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.BatchResponse.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.StorageRpc.BatchResponse (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Option.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Option.html
new file mode 100644
index 000000000000..e1d9c174b1df
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Option.html
@@ -0,0 +1,400 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.StorageRpc.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method parameters in com.google.gcloud.spi with type arguments of type StorageRpc.Option
+
+Modifier and Type
+Method and Description
+
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.Bucket
+DefaultStorageRpc. create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. create (com.google.api.services.storage.model.StorageObject storageObject,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. create (com.google.api.services.storage.model.StorageObject object,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+DefaultStorageRpc. delete (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+StorageRpc. delete (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+DefaultStorageRpc. delete (com.google.api.services.storage.model.StorageObject blob,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+StorageRpc. delete (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+DefaultStorageRpc. get (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. get (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. get (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. get (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+DefaultStorageRpc. list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+StorageRpc. list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+DefaultStorageRpc. list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+StorageRpc. list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+DefaultStorageRpc. load (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+StorageRpc. load (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+DefaultStorageRpc. open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+StorageRpc. open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+DefaultStorageRpc. patch (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. patch (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. patch (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. patch (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+DefaultStorageRpc. read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+byte[]
+StorageRpc. read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+
+
+Constructor parameters in com.google.gcloud.spi with type arguments of type StorageRpc.Option
+
+Constructor and Description
+
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Tuple.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Tuple.html
new file mode 100644
index 000000000000..8ea6098f1185
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.Tuple.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.spi.StorageRpc.Tuple (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fields in com.google.gcloud.spi with type parameters of type StorageRpc.Tuple
+
+Modifier and Type
+Field and Description
+
+
+
+Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >>
+StorageRpc.BatchResponse. deletes
+
+
+Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >>
+StorageRpc.BatchResponse. gets
+
+
+List <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>>
+StorageRpc.BatchRequest. toDelete
+
+
+List <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>>
+StorageRpc.BatchRequest. toGet
+
+
+List <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>>
+StorageRpc.BatchRequest. toUpdate
+
+
+Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >>
+StorageRpc.BatchResponse. updates
+
+
+
+
+Methods in com.google.gcloud.spi that return StorageRpc.Tuple
+
+Modifier and Type
+Method and Description
+
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+DefaultStorageRpc. list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+StorageRpc. list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+DefaultStorageRpc. list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+StorageRpc. list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+static <X,Y> StorageRpc.Tuple <X,Y>
+StorageRpc.Tuple. of (X x,
+ Y y)
+
+
+
+
+Constructor parameters in com.google.gcloud.spi with type arguments of type StorageRpc.Tuple
+
+Constructor and Description
+
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+BatchRequest (Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toDelete,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toUpdate,
+ Iterable <StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,Map <StorageRpc.Option ,?>>> toGet)
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.html
new file mode 100644
index 000000000000..d6010e761470
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpc.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.spi.StorageRpc (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpcFactory.html b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpcFactory.html
new file mode 100644
index 000000000000..d4887dfeb969
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/class-use/StorageRpcFactory.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.spi.StorageRpcFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.spi.StorageRpcFactory
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/package-frame.html b/site/0.0.7/apidocs/com/google/gcloud/spi/package-frame.html
new file mode 100644
index 000000000000..8d7a9181fdb1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/package-frame.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+com.google.gcloud.spi (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
Interfaces
+
+
Classes
+
+
Enums
+
+
Exceptions
+
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/package-summary.html b/site/0.0.7/apidocs/com/google/gcloud/spi/package-summary.html
new file mode 100644
index 000000000000..eba251568446
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/package-summary.html
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+com.google.gcloud.spi (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/package-tree.html b/site/0.0.7/apidocs/com/google/gcloud/spi/package-tree.html
new file mode 100644
index 000000000000..4d9dcccd8589
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/package-tree.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+com.google.gcloud.spi Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
Enum Hierarchy
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/spi/package-use.html b/site/0.0.7/apidocs/com/google/gcloud/spi/package-use.html
new file mode 100644
index 000000000000..c811205adadc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/spi/package-use.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+Uses of Package com.google.gcloud.spi (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Domain.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Domain.html
new file mode 100644
index 000000000000..55ba0d20d3ce
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Domain.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+Acl.Domain (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Domain (String domain)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+domain
+public String domain()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.Type.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.Type.html
new file mode 100644
index 000000000000..396868d86899
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.Type.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+Acl.Entity.Type (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static Acl.Entity.Type valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.html
new file mode 100644
index 000000000000..24a9b14b8031
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Entity.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+Acl.Entity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Acl.Entity.Type
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Group.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Group.html
new file mode 100644
index 000000000000..6796162a3d79
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Group.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+Acl.Group (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Group (String email)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+email
+public String email()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.ProjectRole.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.ProjectRole.html
new file mode 100644
index 000000000000..cc3e52c25517
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.ProjectRole.html
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+Acl.Project.ProjectRole (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static Acl.Project.ProjectRole valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.html
new file mode 100644
index 000000000000..9e6c19568daa
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Project.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+Acl.Project (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.RawEntity.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.RawEntity.html
new file mode 100644
index 000000000000..e3d341512186
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.RawEntity.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+Acl.RawEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Role.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Role.html
new file mode 100644
index 000000000000..67c16f2ac61d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.Role.html
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+Acl.Role (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+OWNER
+
+
+READER
+
+
+WRITER
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method and Description
+
+
+static Acl.Role
+valueOf (String name)
+Returns the enum constant of this type with the specified name.
+
+
+
+static Acl.Role []
+values ()
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static Acl.Role valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.User.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.User.html
new file mode 100644
index 000000000000..0b75a2d4a7e3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.User.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+Acl.User (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+User (String email)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.html
new file mode 100644
index 000000000000..fc3f18d1e533
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Acl.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+Acl (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.Builder.html
new file mode 100644
index 000000000000..d4521d155737
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.Builder.html
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+BatchRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.html
new file mode 100644
index 000000000000..45b1460272ec
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchRequest.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+BatchRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+BatchRequest.Builder
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.Result.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.Result.html
new file mode 100644
index 000000000000..894eeaae953e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.Result.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+BatchResponse.Result (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+Result
+public Result(T value)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.html
new file mode 100644
index 000000000000..d2f77bc323d6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BatchResponse.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
+BatchResponse (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.Builder.html
new file mode 100644
index 000000000000..3f67acd7c447
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.Builder.html
@@ -0,0 +1,384 @@
+
+
+
+
+
+
+BlobInfo.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.html
new file mode 100644
index 000000000000..a5d98e38707a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobInfo.html
@@ -0,0 +1,649 @@
+
+
+
+
+
+
+BlobInfo (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+BlobInfo.Builder
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BlobReadChannel.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobReadChannel.html
new file mode 100644
index 000000000000..f1b21cae3042
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobReadChannel.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+BlobReadChannel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method and Description
+
+
+void
+chunkSize (int chunkSize)
+Sets the minimum size that will be read by a single RPC.
+
+
+
+void
+close ()
+Overridden to remove IOException.
+
+
+
+void
+seek (int position)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BlobWriteChannel.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobWriteChannel.html
new file mode 100644
index 000000000000..5ddcd509fd36
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BlobWriteChannel.html
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+BlobWriteChannel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.AgeDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.AgeDeleteRule.html
new file mode 100644
index 000000000000..a4c3a6bcb6a8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.AgeDeleteRule.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+BucketInfo.AgeDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+AgeDeleteRule (int daysToLive)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+daysToLive
+public int daysToLive()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Builder.html
new file mode 100644
index 000000000000..0251f61d42dc
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Builder.html
@@ -0,0 +1,371 @@
+
+
+
+
+
+
+BucketInfo.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.CreatedBeforeDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.CreatedBeforeDeleteRule.html
new file mode 100644
index 000000000000..8d2f3b459625
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.CreatedBeforeDeleteRule.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+BucketInfo.CreatedBeforeDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+timeMillis
+public long timeMillis()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.Type.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.Type.html
new file mode 100644
index 000000000000..bbd305cd2f6b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.Type.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+BucketInfo.DeleteRule.Type (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static BucketInfo.DeleteRule.Type valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.html
new file mode 100644
index 000000000000..654351fa2eac
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.DeleteRule.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+BucketInfo.DeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.IsLiveDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.IsLiveDeleteRule.html
new file mode 100644
index 000000000000..835889719c9e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.IsLiveDeleteRule.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+BucketInfo.IsLiveDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+IsLiveDeleteRule (boolean isLive)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+isLive
+public boolean isLive()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.Option.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.Option.html
new file mode 100644
index 000000000000..70715f9a0015
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.Option.html
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+BucketInfo.Location.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+ASIA
+
+
+EU
+
+
+US
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static BucketInfo.Location.Option valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.html
new file mode 100644
index 000000000000..ba658c942e40
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.Location.html
@@ -0,0 +1,372 @@
+
+
+
+
+
+
+BucketInfo.Location (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.NumNewerVersionsDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.NumNewerVersionsDeleteRule.html
new file mode 100644
index 000000000000..e8ef4a357250
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.NumNewerVersionsDeleteRule.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+BucketInfo.NumNewerVersionsDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.Option.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.Option.html
new file mode 100644
index 000000000000..72327bbc48cd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.Option.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+BucketInfo.StorageClass.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static BucketInfo.StorageClass.Option valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.html
new file mode 100644
index 000000000000..f27f51fc5147
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.StorageClass.html
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+BucketInfo.StorageClass (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.html b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.html
new file mode 100644
index 000000000000..0769e26a7b8e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/BucketInfo.html
@@ -0,0 +1,581 @@
+
+
+
+
+
+
+BucketInfo (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Builder.html
new file mode 100644
index 000000000000..f0d52c2bd889
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Builder.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+Cors.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Origin.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Origin.html
new file mode 100644
index 000000000000..8e2f22bc58ad
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.Origin.html
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+Cors.Origin (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.html
new file mode 100644
index 000000000000..b09c39215c2c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Cors.html
@@ -0,0 +1,369 @@
+
+
+
+
+
+
+Cors (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class and Description
+
+
+static class
+Cors.Builder
+
+
+static class
+Cors.Origin
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/HttpMethod.html b/site/0.0.7/apidocs/com/google/gcloud/storage/HttpMethod.html
new file mode 100644
index 000000000000..b09c68a5b0e2
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/HttpMethod.html
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+HttpMethod (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant and Description
+
+
+DELETE
+
+
+GET
+
+
+HEAD
+
+
+POST
+
+
+PUT
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static HttpMethod valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.NextPageFetcher.html b/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.NextPageFetcher.html
new file mode 100644
index 000000000000..c0daf491763a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.NextPageFetcher.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+ListResult.NextPageFetcher (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.html b/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.html
new file mode 100644
index 000000000000..00b1517af513
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/ListResult.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+ListResult (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobListOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobListOption.html
new file mode 100644
index 000000000000..9cb893c81d9b
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobListOption.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+Storage.BlobListOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobSourceOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobSourceOption.html
new file mode 100644
index 000000000000..b2b9b3fa030a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobSourceOption.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+Storage.BlobSourceOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobTargetOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobTargetOption.html
new file mode 100644
index 000000000000..2ad38672fd7f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BlobTargetOption.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+Storage.BlobTargetOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketListOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketListOption.html
new file mode 100644
index 000000000000..15425eba9cec
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketListOption.html
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+Storage.BucketListOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketSourceOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketSourceOption.html
new file mode 100644
index 000000000000..0f0f8e60b4e3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketSourceOption.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+Storage.BucketSourceOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.storage.Storage.BucketSourceOption
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketTargetOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketTargetOption.html
new file mode 100644
index 000000000000..8c22bb546404
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.BucketTargetOption.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+Storage.BucketTargetOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.storage.Storage.BucketTargetOption
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.Builder.html
new file mode 100644
index 000000000000..80547ac2cea7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.Builder.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+Storage.ComposeRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Builder ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.SourceBlob.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.SourceBlob.html
new file mode 100644
index 000000000000..45c4c888113d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.SourceBlob.html
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+Storage.ComposeRequest.SourceBlob (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.storage.Storage.ComposeRequest.SourceBlob
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+name
+public String name()
+
+
+
+
+
+
+
+generation
+public Long generation()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.html
new file mode 100644
index 000000000000..55f4cbe0b72a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.ComposeRequest.html
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+Storage.ComposeRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.Builder.html
new file mode 100644
index 000000000000..6f9d179cd40c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.Builder.html
@@ -0,0 +1,329 @@
+
+
+
+
+
+
+Storage.CopyRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+Builder ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+public Builder()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.html
new file mode 100644
index 000000000000..90e71e4685c6
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.CopyRequest.html
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+Storage.CopyRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.PredefinedAcl.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.PredefinedAcl.html
new file mode 100644
index 000000000000..010f4be4e086
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.PredefinedAcl.html
@@ -0,0 +1,417 @@
+
+
+
+
+
+
+Storage.PredefinedAcl (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static Storage.PredefinedAcl valueOf(String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name - the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+IllegalArgumentException - if this enum type has no constant with the specified name
+NullPointerException - if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.SignUrlOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.SignUrlOption.html
new file mode 100644
index 000000000000..dc7cc345a2a7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.SignUrlOption.html
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+Storage.SignUrlOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+withContentType
+public static Storage.SignUrlOption withContentType()
+Use it if signature should include the blob's content-type.
+ When used, users of the signed URL should include the blob's content-type with their request.
+
+
+
+
+
+
+
+withMd5
+public static Storage.SignUrlOption withMd5()
+Use it if signature should include the blob's md5.
+ When used, users of the signed URL should include the blob's md5 with their request.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.html b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.html
new file mode 100644
index 000000000000..d8d3f40f2dbd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/Storage.html
@@ -0,0 +1,686 @@
+
+
+
+
+
+
+Storage (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method and Description
+
+
+BatchResponse
+apply (BatchRequest batchRequest)
+Send a batch request.
+
+
+
+BlobInfo
+compose (Storage.ComposeRequest composeRequest)
+Send a compose request.
+
+
+
+BlobInfo
+copy (Storage.CopyRequest copyRequest)
+Send a copy request.
+
+
+
+BlobInfo
+create (BlobInfo blobInfo,
+ byte[] content,
+ Storage.BlobTargetOption ... options)
+Create a new blob.
+
+
+
+BucketInfo
+create (BucketInfo bucketInfo,
+ Storage.BucketTargetOption ... options)
+Create a new bucket.
+
+
+
+boolean
+delete (String bucket,
+ Storage.BucketSourceOption ... options)
+Delete the requested bucket.
+
+
+
+boolean
+delete (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Delete the requested blob.
+
+
+
+BucketInfo
+get (String bucket,
+ Storage.BucketSourceOption ... options)
+Return the requested bucket or null if not found.
+
+
+
+BlobInfo
+get (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Return the requested blob or null if not found.
+
+
+
+ListResult <BucketInfo >
+list (Storage.BucketListOption ... options)
+List the project's buckets.
+
+
+
+ListResult <BlobInfo >
+list (String bucket,
+ Storage.BlobListOption ... options)
+List the bucket's blobs.
+
+
+
+byte[]
+readAllBytes (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Reads all the bytes from a blob.
+
+
+
+BlobReadChannel
+reader (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Return a channel for reading the blob's content.
+
+
+
+URL
+signUrl (BlobInfo blobInfo,
+ long expirationTimeInSeconds,
+ Storage.SignUrlOption ... options)
+Generates a signed URL for a blob.
+
+
+
+BlobInfo
+update (BlobInfo blobInfo,
+ Storage.BlobTargetOption ... options)
+Update blob information.
+
+
+
+BucketInfo
+update (BucketInfo bucketInfo,
+ Storage.BucketTargetOption ... options)
+Update bucket information.
+
+
+
+BlobWriteChannel
+writer (BlobInfo blobInfo,
+ Storage.BlobTargetOption ... options)
+Create a blob and return a channel for writing its content.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+signUrl
+URL signUrl(BlobInfo blobInfo,
+ long expirationTimeInSeconds,
+ Storage.SignUrlOption ... options)
+Generates a signed URL for a blob.
+ If you have a blob that you want to allow access to for a fixed
+ amount of time, you can use this method to generate a URL that
+ is only valid within a certain time period.
+ This is particularly useful if you don't want publicly
+ accessible blobs, but don't want to require users to explicitly log in.
+
+Parameters:
+blobInfo - the blob associated with the signed url
+expirationTimeInSeconds - the signed URL expiration (using epoch time)
+See Also:
+Signed-URLs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/StorageException.html b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageException.html
new file mode 100644
index 000000000000..7d64271e1575
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageException.html
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+StorageException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+StorageException (int code,
+ String message,
+ boolean retryable)
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+addSuppressed , fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , getSuppressed , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/StorageFactory.html b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageFactory.html
new file mode 100644
index 000000000000..054a97e15b04
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageFactory.html
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+StorageFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor and Description
+
+
+StorageFactory ()
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+StorageFactory
+public StorageFactory()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.Builder.html
new file mode 100644
index 000000000000..2bb149136f46
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.Builder.html
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+StorageOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.html b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.html
new file mode 100644
index 000000000000..69954b5b4d63
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/StorageOptions.html
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+StorageOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class com.google.gcloud.ServiceOptions
+appEngineAppId , authCredentials , baseEquals , baseHashCode , createRpc , defaultProject , getAppEngineProjectId , googleCloudProjectId , host , httpRequestInitializer , httpTransportFactory , projectId , retryParams , serviceRpcFactory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Domain.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Domain.html
new file mode 100644
index 000000000000..3483919f26ad
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Domain.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Domain (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.Acl.Domain
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.Type.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.Type.html
new file mode 100644
index 000000000000..529d97d4cb94
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.Type.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Entity.Type (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.html
new file mode 100644
index 000000000000..97c655d69e70
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Entity.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Entity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Group.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Group.html
new file mode 100644
index 000000000000..03403dcd1afd
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Group.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Group (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.Acl.Group
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.ProjectRole.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.ProjectRole.html
new file mode 100644
index 000000000000..acb85410c9f1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.ProjectRole.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Project.ProjectRole (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.html
new file mode 100644
index 000000000000..ae170c23e313
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Project.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Project (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.Acl.Project
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.RawEntity.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.RawEntity.html
new file mode 100644
index 000000000000..0599aaf7fff0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.RawEntity.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.RawEntity (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.Acl.RawEntity
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Role.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Role.html
new file mode 100644
index 000000000000..850e2eebe084
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.Role.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.Role (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.User.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.User.html
new file mode 100644
index 000000000000..6c7564ec838a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.User.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl.User (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.html
new file mode 100644
index 000000000000..c148a73adc3a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Acl.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Acl (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.Builder.html
new file mode 100644
index 000000000000..144026e5c7e8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.Builder.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BatchRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.html
new file mode 100644
index 000000000000..151ab363fc45
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchRequest.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BatchRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.Result.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.Result.html
new file mode 100644
index 000000000000..62de7a5404bf
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.Result.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BatchResponse.Result (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.html
new file mode 100644
index 000000000000..1c6ff5131dc5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BatchResponse.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BatchResponse (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.Builder.html
new file mode 100644
index 000000000000..82c08ce7ef85
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.Builder.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BlobInfo.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.html
new file mode 100644
index 000000000000..87d7f209f47f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobInfo.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BlobInfo (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.storage with parameters of type BlobInfo
+
+Modifier and Type
+Method and Description
+
+
+
+BlobInfo
+Storage. create (BlobInfo blobInfo,
+ byte[] content,
+ Storage.BlobTargetOption ... options)
+Create a new blob.
+
+
+
+static Storage.ComposeRequest
+Storage.ComposeRequest. of (Iterable <String > sources,
+ BlobInfo target)
+
+
+static Storage.CopyRequest
+Storage.CopyRequest. of (String sourceBucket,
+ String sourceBlob,
+ BlobInfo target)
+
+
+URL
+Storage. signUrl (BlobInfo blobInfo,
+ long expirationTimeInSeconds,
+ Storage.SignUrlOption ... options)
+Generates a signed URL for a blob.
+
+
+
+Storage.ComposeRequest.Builder
+Storage.ComposeRequest.Builder. target (BlobInfo target)
+
+
+Storage.CopyRequest.Builder
+Storage.CopyRequest.Builder. target (BlobInfo target)
+
+
+BatchRequest.Builder
+BatchRequest.Builder. update (BlobInfo blobInfo,
+ Storage.BlobTargetOption ... options)
+Update the given blob.
+
+
+
+BlobInfo
+Storage. update (BlobInfo blobInfo,
+ Storage.BlobTargetOption ... options)
+Update blob information.
+
+
+
+BlobWriteChannel
+Storage. writer (BlobInfo blobInfo,
+ Storage.BlobTargetOption ... options)
+Create a blob and return a channel for writing its content.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobReadChannel.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobReadChannel.html
new file mode 100644
index 000000000000..249661af1697
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobReadChannel.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.storage.BlobReadChannel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobWriteChannel.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobWriteChannel.html
new file mode 100644
index 000000000000..ebed35155a65
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BlobWriteChannel.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.storage.BlobWriteChannel (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.AgeDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.AgeDeleteRule.html
new file mode 100644
index 000000000000..2c151717c77f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.AgeDeleteRule.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.AgeDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.BucketInfo.AgeDeleteRule
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Builder.html
new file mode 100644
index 000000000000..667a8111b52d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Builder.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.CreatedBeforeDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.CreatedBeforeDeleteRule.html
new file mode 100644
index 000000000000..62436ce0ed2e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.CreatedBeforeDeleteRule.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.CreatedBeforeDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.BucketInfo.CreatedBeforeDeleteRule
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.Type.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.Type.html
new file mode 100644
index 000000000000..8f3b25a4ca1d
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.Type.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.DeleteRule.Type (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.html
new file mode 100644
index 000000000000..d3bb59732079
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.DeleteRule.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.DeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.IsLiveDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.IsLiveDeleteRule.html
new file mode 100644
index 000000000000..e4c7250cfbd9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.IsLiveDeleteRule.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.IsLiveDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.BucketInfo.IsLiveDeleteRule
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.Option.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.Option.html
new file mode 100644
index 000000000000..8048fbad3c41
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.Option.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.Location.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.html
new file mode 100644
index 000000000000..4d9fc9062f4f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.Location.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.Location (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.NumNewerVersionsDeleteRule.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.NumNewerVersionsDeleteRule.html
new file mode 100644
index 000000000000..c66a6cfa6c8a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.NumNewerVersionsDeleteRule.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.NumNewerVersionsDeleteRule (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+No usage of com.google.gcloud.storage.BucketInfo.NumNewerVersionsDeleteRule
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.Option.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.Option.html
new file mode 100644
index 000000000000..b879f9185ac1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.Option.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.StorageClass.Option (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.html
new file mode 100644
index 000000000000..d2145b1d5bc8
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.StorageClass.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo.StorageClass (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.html
new file mode 100644
index 000000000000..ac4b008530cf
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/BucketInfo.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.BucketInfo (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Builder.html
new file mode 100644
index 000000000000..6c9d7d3a3865
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Builder.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Cors.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Origin.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Origin.html
new file mode 100644
index 000000000000..40bf1812da5a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.Origin.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Cors.Origin (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.html
new file mode 100644
index 000000000000..99f7f213e2a0
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Cors.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Cors (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/HttpMethod.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/HttpMethod.html
new file mode 100644
index 000000000000..cbaec86f1d94
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/HttpMethod.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.HttpMethod (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.storage that return HttpMethod
+
+Modifier and Type
+Method and Description
+
+
+
+static HttpMethod
+HttpMethod. valueOf (String name)
+Returns the enum constant of this type with the specified name.
+
+
+
+static HttpMethod []
+HttpMethod. values ()
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.NextPageFetcher.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.NextPageFetcher.html
new file mode 100644
index 000000000000..71031325a0d3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.NextPageFetcher.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.storage.ListResult.NextPageFetcher (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.html
new file mode 100644
index 000000000000..d1875a56e828
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/ListResult.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.ListResult (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobListOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobListOption.html
new file mode 100644
index 000000000000..f0374a19ee86
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobListOption.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BlobListOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobSourceOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobSourceOption.html
new file mode 100644
index 000000000000..20557171c2e3
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobSourceOption.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BlobSourceOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.storage with parameters of type Storage.BlobSourceOption
+
+Modifier and Type
+Method and Description
+
+
+
+BatchRequest.Builder
+BatchRequest.Builder. delete (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Delete the given blob.
+
+
+
+boolean
+Storage. delete (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Delete the requested blob.
+
+
+
+BatchRequest.Builder
+BatchRequest.Builder. get (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Retrieve metadata for the given blob.
+
+
+
+BlobInfo
+Storage. get (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Return the requested blob or null if not found.
+
+
+
+byte[]
+Storage. readAllBytes (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Reads all the bytes from a blob.
+
+
+
+BlobReadChannel
+Storage. reader (String bucket,
+ String blob,
+ Storage.BlobSourceOption ... options)
+Return a channel for reading the blob's content.
+
+
+
+Storage.CopyRequest.Builder
+Storage.CopyRequest.Builder. sourceOptions (Storage.BlobSourceOption ... options)
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobTargetOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobTargetOption.html
new file mode 100644
index 000000000000..57e274c98cfa
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BlobTargetOption.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BlobTargetOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketListOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketListOption.html
new file mode 100644
index 000000000000..81863aa48e8f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketListOption.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BucketListOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketSourceOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketSourceOption.html
new file mode 100644
index 000000000000..e047554b8b11
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketSourceOption.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BucketSourceOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketTargetOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketTargetOption.html
new file mode 100644
index 000000000000..9dd213b0482f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.BucketTargetOption.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.BucketTargetOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.Builder.html
new file mode 100644
index 000000000000..4bcbebef2fa1
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.Builder.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.ComposeRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.SourceBlob.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.SourceBlob.html
new file mode 100644
index 000000000000..370d0282610e
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.SourceBlob.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.ComposeRequest.SourceBlob (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.html
new file mode 100644
index 000000000000..4e93be33e051
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.ComposeRequest.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.ComposeRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.Builder.html
new file mode 100644
index 000000000000..9bd13c5d4116
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.Builder.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.CopyRequest.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.html
new file mode 100644
index 000000000000..43f9d698788a
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.CopyRequest.html
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.CopyRequest (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.PredefinedAcl.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.PredefinedAcl.html
new file mode 100644
index 000000000000..a463d60809bb
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.PredefinedAcl.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.PredefinedAcl (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.SignUrlOption.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.SignUrlOption.html
new file mode 100644
index 000000000000..e738e7dc67d7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.SignUrlOption.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.Storage.SignUrlOption (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.html
new file mode 100644
index 000000000000..81c8ac841616
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/Storage.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Interface com.google.gcloud.storage.Storage (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageException.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageException.html
new file mode 100644
index 000000000000..136954409ad9
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageException.html
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.StorageException (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods in com.google.gcloud.spi that throw StorageException
+
+Modifier and Type
+Method and Description
+
+
+
+StorageRpc.BatchResponse
+DefaultStorageRpc. batch (StorageRpc.BatchRequest request)
+
+
+StorageRpc.BatchResponse
+StorageRpc. batch (StorageRpc.BatchRequest request)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. compose (Iterable <com.google.api.services.storage.model.StorageObject> sources,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. copy (com.google.api.services.storage.model.StorageObject source,
+ Map <StorageRpc.Option ,?> sourceOptions,
+ com.google.api.services.storage.model.StorageObject target,
+ Map <StorageRpc.Option ,?> targetOptions)
+
+
+com.google.api.services.storage.model.Bucket
+DefaultStorageRpc. create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. create (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+DefaultStorageRpc. create (com.google.api.services.storage.model.StorageObject storageObject,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. create (com.google.api.services.storage.model.StorageObject object,
+ byte[] content,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+StorageRpc. delete (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+boolean
+StorageRpc. delete (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. get (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. get (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.Bucket>>
+StorageRpc. list (Map <StorageRpc.Option ,?> options)
+
+
+StorageRpc.Tuple <String ,Iterable <com.google.api.services.storage.model.StorageObject>>
+StorageRpc. list (String bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+DefaultStorageRpc. load (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+StorageRpc. load (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+DefaultStorageRpc. open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+String
+StorageRpc. open (com.google.api.services.storage.model.StorageObject object,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.Bucket
+StorageRpc. patch (com.google.api.services.storage.model.Bucket bucket,
+ Map <StorageRpc.Option ,?> options)
+
+
+com.google.api.services.storage.model.StorageObject
+StorageRpc. patch (com.google.api.services.storage.model.StorageObject storageObject,
+ Map <StorageRpc.Option ,?> options)
+
+
+byte[]
+DefaultStorageRpc. read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+byte[]
+StorageRpc. read (com.google.api.services.storage.model.StorageObject from,
+ Map <StorageRpc.Option ,?> options,
+ long position,
+ int bytes)
+
+
+void
+DefaultStorageRpc. write (String uploadId,
+ byte[] toWrite,
+ int toWriteOffset,
+ com.google.api.services.storage.model.StorageObject dest,
+ long destOffset,
+ int length,
+ boolean last)
+
+
+void
+StorageRpc. write (String uploadId,
+ byte[] toWrite,
+ int toWriteOffset,
+ com.google.api.services.storage.model.StorageObject dest,
+ long destOffset,
+ int length,
+ boolean last)
+
+
+
+
+Constructor parameters in com.google.gcloud.spi with type arguments of type StorageException
+
+Constructor and Description
+
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+BatchResponse (Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <Boolean ,StorageException >> deletes,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> updates,
+ Map <com.google.api.services.storage.model.StorageObject,StorageRpc.Tuple <com.google.api.services.storage.model.StorageObject,StorageException >> gets)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageFactory.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageFactory.html
new file mode 100644
index 000000000000..1a214d878364
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageFactory.html
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.StorageFactory (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.Builder.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.Builder.html
new file mode 100644
index 000000000000..92a0a2b9129c
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.Builder.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.StorageOptions.Builder (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.html b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.html
new file mode 100644
index 000000000000..eeb599954960
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/class-use/StorageOptions.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+Uses of Class com.google.gcloud.storage.StorageOptions (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/package-frame.html b/site/0.0.7/apidocs/com/google/gcloud/storage/package-frame.html
new file mode 100644
index 000000000000..8e38511883b5
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/package-frame.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+com.google.gcloud.storage (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
Interfaces
+
+
Classes
+
+
Enums
+
+
Exceptions
+
+
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/package-summary.html b/site/0.0.7/apidocs/com/google/gcloud/storage/package-summary.html
new file mode 100644
index 000000000000..33f9d2d67cf7
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/package-summary.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+com.google.gcloud.storage (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Exception Summary
+
+Exception
+Description
+
+
+
+StorageException
+
+Storage service exception.
+
+
+
+
+
+
+
+
+
+
Package com.google.gcloud.storage Description
+
A client to Google Cloud Storage.
+
+
A simple usage example:
+
+ StorageOptions options = StorageOptions.builder().projectId("project").build();
+ Storage storage = StorageFactory.instance().get(options);
+ byte[] content = readContent();
+ BlobInfo blobInfo = storage.get("bucket", "blob_name");
+ if (blobInfo == null) {
+ storage.create(BlobInfo.of("bucket", "blob_name"), content);
+ } else {
+ byte[] prevContent = storage.readAllBytes("bucket", "blob_name");
+ content = mergeContent(prevContent, content);
+ WritableByteChannel channel = storage.writer(blob);
+ channel.write(ByteBuffer.wrap(content));
+ channel.close();
+ }
+
+See Also:
+Google Cloud Storage
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/package-tree.html b/site/0.0.7/apidocs/com/google/gcloud/storage/package-tree.html
new file mode 100644
index 000000000000..93ddde0b1214
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/package-tree.html
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+com.google.gcloud.storage Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
Enum Hierarchy
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/com/google/gcloud/storage/package-use.html b/site/0.0.7/apidocs/com/google/gcloud/storage/package-use.html
new file mode 100644
index 000000000000..87095d2efd7f
--- /dev/null
+++ b/site/0.0.7/apidocs/com/google/gcloud/storage/package-use.html
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+Uses of Package com.google.gcloud.storage (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/constant-values.html b/site/0.0.7/apidocs/constant-values.html
new file mode 100644
index 000000000000..a32507119c57
--- /dev/null
+++ b/site/0.0.7/apidocs/constant-values.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+Constant Field Values (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/deprecated-list.html b/site/0.0.7/apidocs/deprecated-list.html
new file mode 100644
index 000000000000..e85428df5b2c
--- /dev/null
+++ b/site/0.0.7/apidocs/deprecated-list.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+Deprecated List (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/index-all.html b/site/0.0.7/apidocs/index-all.html
new file mode 100644
index 000000000000..2a82c5b887a1
--- /dev/null
+++ b/site/0.0.7/apidocs/index-all.html
@@ -0,0 +1,2881 @@
+
+
+
+
+
+
+Index (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+A B C D E F G H I K L M N O P Q R S T U V W X Y
+
+
+
A
+
+abortOn(Class<? extends Exception>...) - Method in class com.google.gcloud.ExceptionHandler.Builder
+
+Adds the exceptions to abort on.
+
+account() - Method in class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials
+
+Acl - Class in com.google.gcloud.storage
+
+Access Control List on for buckets or blobs.
+
+Acl(Acl.Entity, Acl.Role) - Constructor for class com.google.gcloud.storage.Acl
+
+acl() - Method in class com.google.gcloud.storage.BlobInfo
+
+acl(List<Acl>) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+acl() - Method in class com.google.gcloud.storage.BucketInfo
+
+acl(Iterable<Acl>) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+Acl.Domain - Class in com.google.gcloud.storage
+
+Acl.Entity - Class in com.google.gcloud.storage
+
+Acl.Entity.Type - Enum in com.google.gcloud.storage
+
+Acl.Group - Class in com.google.gcloud.storage
+
+Acl.Project - Class in com.google.gcloud.storage
+
+Acl.Project.ProjectRole - Enum in com.google.gcloud.storage
+
+Acl.RawEntity - Class in com.google.gcloud.storage
+
+Acl.Role - Enum in com.google.gcloud.storage
+
+Acl.User - Class in com.google.gcloud.storage
+
+active() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+active() - Method in interface com.google.gcloud.datastore.Transaction
+
+Returns true if the transaction is still active (was not committed or rolledback).
+
+add(FullEntity<?>) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+add(FullEntity<?>...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+add(FullEntity<?>) - Method in interface com.google.gcloud.datastore.DatastoreWriter
+
+Datastore add operation.
+
+add(FullEntity<?>...) - Method in interface com.google.gcloud.datastore.DatastoreWriter
+
+Datastore add operation.
+
+addBinding(Cursor) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(String...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(long...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(double...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(boolean...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(DateTime...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(Key...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(FullEntity<?>...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addBinding(Blob...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+addGroupBy(String, String...) - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+addProjection(StructuredQuery.Projection, StructuredQuery.Projection...) - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+addSource(Iterable<String>) - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+addSource(String...) - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+addSource(String, long) - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+Add a source with a specific generation to match.
+
+addValue(Value<?>) - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+addValue(Value<?>, Value<?>...) - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+addWithDeferredIdAllocation(FullEntity<?>...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+afterEval(Exception, ExceptionHandler.Interceptor.RetryResult) - Method in interface com.google.gcloud.ExceptionHandler.Interceptor
+
+This method is called after the evaluation and could alter its result.
+
+AgeDeleteRule(int) - Constructor for class com.google.gcloud.storage.BucketInfo.AgeDeleteRule
+
+aggregate(StructuredQuery.Projection.Aggregate, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+allocateId(IncompleteKey) - Method in interface com.google.gcloud.datastore.Datastore
+
+Allocate a unique id for the given key.
+
+allocateId(IncompleteKey...) - Method in interface com.google.gcloud.datastore.Datastore
+
+Returns a list of keys using the allocated ids ordered by the input.
+
+allocateIds(DatastoreV1.AllocateIdsRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+allocateIds(DatastoreV1.AllocateIdsRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+allowLiteral() - Method in class com.google.gcloud.datastore.GqlQuery
+
+allowLiteral(boolean) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+and(StructuredQuery.Filter, StructuredQuery.Filter...) - Static method in class com.google.gcloud.datastore.StructuredQuery.CompositeFilter
+
+any() - Static method in class com.google.gcloud.storage.Cors.Origin
+
+appEngineAppId() - Static method in class com.google.gcloud.ServiceOptions
+
+apply(BatchRequest) - Method in interface com.google.gcloud.storage.Storage
+
+Send a batch request.
+
+asc(String) - Static method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+asia() - Static method in class com.google.gcloud.storage.BucketInfo.Location
+
+asInputStream() - Method in class com.google.gcloud.datastore.Blob
+
+
+
+asReadOnlyByteBuffer() - Method in class com.google.gcloud.datastore.Blob
+
+Returns a read-only
ByteBuffer for this blob content.
+
+AuthCredentials - Class in com.google.gcloud
+
+Credentials for accessing Google Cloud services.
+
+AuthCredentials() - Constructor for class com.google.gcloud.AuthCredentials
+
+authCredentials() - Method in class com.google.gcloud.ServiceOptions
+
+authCredentials(AuthCredentials) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+AuthCredentials.ServiceAccountAuthCredentials - Class in com.google.gcloud
+
+
+
+
+
+
B
+
+BaseDatastoreBatchWriter - Class in com.google.gcloud.datastore
+
+Base class for DatastoreBatchWriter.
+
+BaseDatastoreBatchWriter(String) - Constructor for class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+BaseEntity <K extends IncompleteKey > - Class in com.google.gcloud.datastore
+
+A base class for entities (key and properties).
+
+BaseEntity.Builder <K extends IncompleteKey ,B extends BaseEntity.Builder <K ,B >> - Class in com.google.gcloud.datastore
+
+baseEquals(ServiceOptions<?, ?>) - Method in class com.google.gcloud.ServiceOptions
+
+baseHashCode() - Method in class com.google.gcloud.ServiceOptions
+
+BaseService <OptionsT extends ServiceOptions <?,OptionsT >> - Class in com.google.gcloud
+
+BaseService(OptionsT) - Constructor for class com.google.gcloud.BaseService
+
+Batch - Interface in com.google.gcloud.datastore
+
+An interface to represent a batch of write operations.
+
+batch(StorageRpc.BatchRequest) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+batch(StorageRpc.BatchRequest) - Method in interface com.google.gcloud.spi.StorageRpc
+
+Batch.Response - Interface in com.google.gcloud.datastore
+
+BatchOption - Class in com.google.gcloud.datastore
+
+BatchOption.ForceWrites - Class in com.google.gcloud.datastore
+
+BatchRequest(Iterable<StorageRpc.Tuple<StorageObject, Map<StorageRpc.Option, ?>>>, Iterable<StorageRpc.Tuple<StorageObject, Map<StorageRpc.Option, ?>>>, Iterable<StorageRpc.Tuple<StorageObject, Map<StorageRpc.Option, ?>>>) - Constructor for class com.google.gcloud.spi.StorageRpc.BatchRequest
+
+BatchRequest - Class in com.google.gcloud.storage
+
+Google storage batch request.
+
+BatchRequest.Builder - Class in com.google.gcloud.storage
+
+BatchResponse(Map<StorageObject, StorageRpc.Tuple<Boolean, StorageException>>, Map<StorageObject, StorageRpc.Tuple<StorageObject, StorageException>>, Map<StorageObject, StorageRpc.Tuple<StorageObject, StorageException>>) - Constructor for class com.google.gcloud.spi.StorageRpc.BatchResponse
+
+BatchResponse - Class in com.google.gcloud.storage
+
+Google Storage batch response.
+
+BatchResponse(List<BatchResponse.Result<Boolean>>, List<BatchResponse.Result<BlobInfo>>, List<BatchResponse.Result<BlobInfo>>) - Constructor for class com.google.gcloud.storage.BatchResponse
+
+BatchResponse.Result <T extends Serializable > - Class in com.google.gcloud.storage
+
+beforeEval(Exception) - Method in interface com.google.gcloud.ExceptionHandler.Interceptor
+
+This method is called before exception evaluation and could short-circuit the process.
+
+beginTransaction(DatastoreV1.BeginTransactionRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+beginTransaction(DatastoreV1.BeginTransactionRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+Blob - Class in com.google.gcloud.datastore
+
+A Google Cloud Datastore Blob.
+
+BlobInfo - Class in com.google.gcloud.storage
+
+A Google Storage object.
+
+BlobInfo.Builder - Class in com.google.gcloud.storage
+
+BlobReadChannel - Interface in com.google.gcloud.storage
+
+A channel for reading data from a Google Cloud Storage object.
+
+BlobValue - Class in com.google.gcloud.datastore
+
+BlobValue(Blob) - Constructor for class com.google.gcloud.datastore.BlobValue
+
+BlobValue.Builder - Class in com.google.gcloud.datastore
+
+BlobWriteChannel - Interface in com.google.gcloud.storage
+
+A channel for writing data to a Google Cloud Storage object.
+
+BooleanValue - Class in com.google.gcloud.datastore
+
+BooleanValue(boolean) - Constructor for class com.google.gcloud.datastore.BooleanValue
+
+BooleanValue.Builder - Class in com.google.gcloud.datastore
+
+bucket() - Method in class com.google.gcloud.storage.BlobInfo
+
+bucket(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+BucketInfo - Class in com.google.gcloud.storage
+
+A Google Storage bucket.
+
+BucketInfo.AgeDeleteRule - Class in com.google.gcloud.storage
+
+BucketInfo.Builder - Class in com.google.gcloud.storage
+
+BucketInfo.CreatedBeforeDeleteRule - Class in com.google.gcloud.storage
+
+BucketInfo.DeleteRule - Class in com.google.gcloud.storage
+
+BucketInfo.DeleteRule.Type - Enum in com.google.gcloud.storage
+
+BucketInfo.IsLiveDeleteRule - Class in com.google.gcloud.storage
+
+BucketInfo.Location - Class in com.google.gcloud.storage
+
+BucketInfo.Location.Option - Enum in com.google.gcloud.storage
+
+BucketInfo.NumNewerVersionsDeleteRule - Class in com.google.gcloud.storage
+
+BucketInfo.StorageClass - Class in com.google.gcloud.storage
+
+BucketInfo.StorageClass.Option - Enum in com.google.gcloud.storage
+
+build() - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+build() - Method in class com.google.gcloud.datastore.BlobValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.BooleanValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.DatastoreOptions.Builder
+
+build() - Method in class com.google.gcloud.datastore.DateTimeValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.DoubleValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.Entity.Builder
+
+build() - Method in class com.google.gcloud.datastore.EntityValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.FullEntity.Builder
+
+build() - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+build() - Method in class com.google.gcloud.datastore.IncompleteKey.Builder
+
+build() - Method in class com.google.gcloud.datastore.Key.Builder
+
+build() - Method in class com.google.gcloud.datastore.KeyFactory
+
+build() - Method in class com.google.gcloud.datastore.KeyValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.LongValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.NullValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.ProjectionEntity.Builder
+
+build() - Method in class com.google.gcloud.datastore.RawValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.StringValue.Builder
+
+build() - Method in class com.google.gcloud.datastore.StructuredQuery.EntityQueryBuilder
+
+build() - Method in class com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder
+
+build() - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+build() - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+build() - Method in class com.google.gcloud.ExceptionHandler.Builder
+
+Returns a new ExceptionHandler instance.
+
+build() - Method in class com.google.gcloud.RetryParams.Builder
+
+Create an instance of RetryParams with the parameters set in this builder.
+
+build() - Method in class com.google.gcloud.ServiceOptions.Builder
+
+build() - Method in class com.google.gcloud.storage.BatchRequest.Builder
+
+build() - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+build() - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+build() - Method in class com.google.gcloud.storage.Cors.Builder
+
+build() - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+build() - Method in class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+build() - Method in class com.google.gcloud.storage.StorageOptions.Builder
+
+builder(Blob) - Static method in class com.google.gcloud.datastore.BlobValue
+
+builder(boolean) - Static method in class com.google.gcloud.datastore.BooleanValue
+
+builder() - Static method in class com.google.gcloud.datastore.DatastoreOptions
+
+builder(DateTime) - Static method in class com.google.gcloud.datastore.DateTimeValue
+
+builder(double) - Static method in class com.google.gcloud.datastore.DoubleValue
+
+Builder() - Constructor for class com.google.gcloud.datastore.DoubleValue.Builder
+
+builder(Key) - Static method in class com.google.gcloud.datastore.Entity
+
+builder(Entity) - Static method in class com.google.gcloud.datastore.Entity
+
+builder(Key, FullEntity<?>) - Static method in class com.google.gcloud.datastore.Entity
+
+builder(FullEntity<?>) - Static method in class com.google.gcloud.datastore.EntityValue
+
+builder() - Static method in class com.google.gcloud.datastore.FullEntity
+
+builder(K) - Static method in class com.google.gcloud.datastore.FullEntity
+
+builder(FullEntity<K>) - Static method in class com.google.gcloud.datastore.FullEntity
+
+builder(String, String) - Static method in class com.google.gcloud.datastore.IncompleteKey
+
+builder(IncompleteKey) - Static method in class com.google.gcloud.datastore.IncompleteKey
+
+builder(Key, String) - Static method in class com.google.gcloud.datastore.IncompleteKey
+
+builder(String, String, String) - Static method in class com.google.gcloud.datastore.Key
+
+builder(String, String, long) - Static method in class com.google.gcloud.datastore.Key
+
+builder(Key) - Static method in class com.google.gcloud.datastore.Key
+
+builder(IncompleteKey, String) - Static method in class com.google.gcloud.datastore.Key
+
+builder(IncompleteKey, long) - Static method in class com.google.gcloud.datastore.Key
+
+builder(Key, String, String) - Static method in class com.google.gcloud.datastore.Key
+
+builder(Key, String, long) - Static method in class com.google.gcloud.datastore.Key
+
+builder(Key) - Static method in class com.google.gcloud.datastore.KeyValue
+
+Builder() - Constructor for class com.google.gcloud.datastore.KeyValue.Builder
+
+builder() - Static method in class com.google.gcloud.datastore.ListValue
+
+builder(long) - Static method in class com.google.gcloud.datastore.LongValue
+
+builder() - Static method in class com.google.gcloud.datastore.NullValue
+
+builder(ProjectionEntity) - Static method in class com.google.gcloud.datastore.ProjectionEntity
+
+builder(String) - Static method in class com.google.gcloud.datastore.StringValue
+
+builder() - Static method in class com.google.gcloud.ExceptionHandler
+
+builder() - Static method in class com.google.gcloud.RetryParams
+
+Builder() - Constructor for class com.google.gcloud.ServiceOptions.Builder
+
+Builder(ServiceOptions<ServiceRpcT, OptionsT>) - Constructor for class com.google.gcloud.ServiceOptions.Builder
+
+builder() - Static method in class com.google.gcloud.storage.BatchRequest
+
+builder(BucketInfo, String) - Static method in class com.google.gcloud.storage.BlobInfo
+
+builder(String, String) - Static method in class com.google.gcloud.storage.BlobInfo
+
+builder(String) - Static method in class com.google.gcloud.storage.BucketInfo
+
+builder() - Static method in class com.google.gcloud.storage.Cors
+
+builder() - Static method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+Builder() - Constructor for class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+builder() - Static method in class com.google.gcloud.storage.Storage.CopyRequest
+
+Builder() - Constructor for class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+builder() - Static method in class com.google.gcloud.storage.StorageOptions
+
+
+
+
+
+
C
+
+cacheControl(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+cacheControl() - Method in class com.google.gcloud.storage.BlobInfo
+
+chunkSize(int) - Method in interface com.google.gcloud.storage.BlobReadChannel
+
+Sets the minimum size that will be read by a single RPC.
+
+chunkSize(int) - Method in interface com.google.gcloud.storage.BlobWriteChannel
+
+Sets the minimum size that will be written by a single RPC.
+
+clear() - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+Clears all the properties.
+
+clearBindings() - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+clearGroupBy() - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+clearProjection() - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+close() - Method in interface com.google.gcloud.storage.BlobReadChannel
+
+Overridden to remove IOException.
+
+code() - Method in exception com.google.gcloud.datastore.DatastoreException
+
+Returns the code associated with this exception.
+
+code() - Method in exception com.google.gcloud.storage.StorageException
+
+Returns the code associated with this exception.
+
+com.google.gcloud - package com.google.gcloud
+
+com.google.gcloud.datastore - package com.google.gcloud.datastore
+
+A client to the Google Cloud Datastore.
+
+com.google.gcloud.examples - package com.google.gcloud.examples
+
+com.google.gcloud.spi - package com.google.gcloud.spi
+
+com.google.gcloud.storage - package com.google.gcloud.storage
+
+A client to Google Cloud Storage.
+
+commit() - Method in interface com.google.gcloud.datastore.Transaction
+
+Commit the transaction.
+
+commit(DatastoreV1.CommitRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+commit(DatastoreV1.CommitRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+compareTo(DateTime) - Method in class com.google.gcloud.datastore.DateTime
+
+componentCount() - Method in class com.google.gcloud.storage.BlobInfo
+
+compose(Iterable<StorageObject>, StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+compose(Iterable<StorageObject>, StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+compose(Storage.ComposeRequest) - Method in interface com.google.gcloud.storage.Storage
+
+Send a compose request.
+
+contains(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns true if the entity contains a property with the given name.
+
+contentDisposition(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+contentDisposition() - Method in class com.google.gcloud.storage.BlobInfo
+
+contentEncoding(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+contentEncoding() - Method in class com.google.gcloud.storage.BlobInfo
+
+contentLanguage(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+contentLanguage() - Method in class com.google.gcloud.storage.BlobInfo
+
+contentType(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+contentType() - Method in class com.google.gcloud.storage.BlobInfo
+
+convert(DatastoreV1.Entity) - Method in class com.google.gcloud.datastore.Query.ResultType
+
+copy(StorageObject, Map<StorageRpc.Option, ?>, StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+copy(StorageObject, Map<StorageRpc.Option, ?>, StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+copy(Storage.CopyRequest) - Method in interface com.google.gcloud.storage.Storage
+
+Send a copy request.
+
+copyFrom(byte[]) - Static method in class com.google.gcloud.datastore.Blob
+
+copyFrom(ByteBuffer) - Static method in class com.google.gcloud.datastore.Blob
+
+copyFrom(InputStream) - Static method in class com.google.gcloud.datastore.Blob
+
+copyFrom(byte[]) - Static method in class com.google.gcloud.datastore.Cursor
+
+copyFrom(Date) - Static method in class com.google.gcloud.datastore.DateTime
+
+copyFrom(Calendar) - Static method in class com.google.gcloud.datastore.DateTime
+
+copyTo(ByteBuffer) - Method in class com.google.gcloud.datastore.Blob
+
+Copies bytes into a ByteBuffer.
+
+copyTo(byte[]) - Method in class com.google.gcloud.datastore.Blob
+
+Copies bytes into a buffer.
+
+cors(Iterable<Cors>) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+cors() - Method in class com.google.gcloud.storage.BucketInfo
+
+Cors - Class in com.google.gcloud.storage
+
+Cross-Origin Resource Sharing (CORS) configuration for a bucket.
+
+Cors.Builder - Class in com.google.gcloud.storage
+
+Cors.Origin - Class in com.google.gcloud.storage
+
+crc32c(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+crc32c() - Method in class com.google.gcloud.storage.BlobInfo
+
+create() - Method in interface com.google.gcloud.ServiceOptions.HttpTransportFactory
+
+create(Bucket, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+create(StorageObject, byte[], Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+create(OptionsT) - Method in interface com.google.gcloud.spi.ServiceRpcFactory
+
+create(Bucket, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+create(StorageObject, byte[], Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+create(BucketInfo, Storage.BucketTargetOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Create a new bucket.
+
+create(BlobInfo, byte[], Storage.BlobTargetOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Create a new blob.
+
+createApplicationDefaults() - Static method in class com.google.gcloud.AuthCredentials
+
+Returns the Application Default Credentials.
+
+CreatedBeforeDeleteRule(long) - Constructor for class com.google.gcloud.storage.BucketInfo.CreatedBeforeDeleteRule
+
+createFor(String, PrivateKey) - Static method in class com.google.gcloud.AuthCredentials
+
+createForAppEngine() - Static method in class com.google.gcloud.AuthCredentials
+
+createForComputeEngine() - Static method in class com.google.gcloud.AuthCredentials
+
+createRpc(OptionsT, Class<? extends ServiceRpcFactory<ServiceRpcT, OptionsT>>) - Static method in class com.google.gcloud.ServiceOptions
+
+
+
+createTime() - Method in class com.google.gcloud.storage.BucketInfo
+
+Cursor - Class in com.google.gcloud.datastore
+
+A Google Cloud Datastore cursor.
+
+cursorAfter() - Method in interface com.google.gcloud.datastore.QueryResults
+
+Returns the Cursor for point after the value returned in the last
Iterator.next() call.
+
+
+
+
+
+
D
+
+datastore() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+datastore() - Method in interface com.google.gcloud.datastore.Batch
+
+
+
+Datastore - Interface in com.google.gcloud.datastore
+
+An interface for Google Cloud Datastore.
+
+datastore() - Method in interface com.google.gcloud.datastore.Transaction
+
+Returns the transaction associated
Datastore.
+
+Datastore.TransactionCallable <T > - Interface in com.google.gcloud.datastore
+
+
+
+DatastoreExample - Class in com.google.gcloud.examples
+
+An example of using the Google Cloud Datastore.
+
+DatastoreExample() - Constructor for class com.google.gcloud.examples.DatastoreExample
+
+DatastoreException - Exception in com.google.gcloud.datastore
+
+DatastoreException(DatastoreException.Code, String, Exception) - Constructor for exception com.google.gcloud.datastore.DatastoreException
+
+DatastoreException(DatastoreException.Code, String) - Constructor for exception com.google.gcloud.datastore.DatastoreException
+
+DatastoreException.Code - Enum in com.google.gcloud.datastore
+
+An error code to represent the failure.
+
+DatastoreFactory - Class in com.google.gcloud.datastore
+
+A base class for Datastore factories.
+
+DatastoreFactory() - Constructor for class com.google.gcloud.datastore.DatastoreFactory
+
+DatastoreOptions - Class in com.google.gcloud.datastore
+
+DatastoreOptions.Builder - Class in com.google.gcloud.datastore
+
+DatastoreReader - Interface in com.google.gcloud.datastore
+
+An interface to represent Google Cloud Datastore read operations.
+
+DatastoreReaderWriter - Interface in com.google.gcloud.datastore
+
+An interface that combines both Google Cloud Datastore read and write operations.
+
+DatastoreRpc - Interface in com.google.gcloud.spi
+
+Provides access to the remote Datastore service.
+
+DatastoreRpc.DatastoreRpcException - Exception in com.google.gcloud.spi
+
+DatastoreRpc.DatastoreRpcException.Reason - Enum in com.google.gcloud.spi
+
+The reason for the exception.
+
+DatastoreRpcException(DatastoreRpc.DatastoreRpcException.Reason) - Constructor for exception com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException
+
+DatastoreRpcException(String, int, boolean, String) - Constructor for exception com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException
+
+DatastoreRpcFactory - Interface in com.google.gcloud.spi
+
+An interface for Datastore RPC factory.
+
+DatastoreWriter - Interface in com.google.gcloud.datastore
+
+An interface to represent Google Cloud Datastore write operations.
+
+DateTime - Class in com.google.gcloud.datastore
+
+A Google Cloud Datastore timestamp (represented in micro-seconds).
+
+DateTimeValue - Class in com.google.gcloud.datastore
+
+DateTimeValue(DateTime) - Constructor for class com.google.gcloud.datastore.DateTimeValue
+
+DateTimeValue.Builder - Class in com.google.gcloud.datastore
+
+daysToLive() - Method in class com.google.gcloud.storage.BucketInfo.AgeDeleteRule
+
+deactivate() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+DEFAULT_INITIAL_RETRY_DELAY_MILLIS - Static variable in class com.google.gcloud.RetryParams
+
+DEFAULT_MAX_RETRY_DELAY_MILLIS - Static variable in class com.google.gcloud.RetryParams
+
+DEFAULT_PROJECTION - Static variable in class com.google.gcloud.spi.DefaultStorageRpc
+
+DEFAULT_RETRY_DELAY_BACKOFF_FACTOR - Static variable in class com.google.gcloud.RetryParams
+
+DEFAULT_RETRY_MAX_ATTEMPTS - Static variable in class com.google.gcloud.RetryParams
+
+DEFAULT_RETRY_MIN_ATTEMPTS - Static variable in class com.google.gcloud.RetryParams
+
+DEFAULT_TOTAL_RETRY_PERIOD_MILLIS - Static variable in class com.google.gcloud.RetryParams
+
+defaultAcl(Iterable<Acl>) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+defaultAcl() - Method in class com.google.gcloud.storage.BucketInfo
+
+DefaultDatastoreRpc - Class in com.google.gcloud.spi
+
+DefaultDatastoreRpc(DatastoreOptions) - Constructor for class com.google.gcloud.spi.DefaultDatastoreRpc
+
+defaultInstance() - Static method in class com.google.gcloud.datastore.DatastoreOptions
+
+defaultInstance() - Static method in class com.google.gcloud.storage.StorageOptions
+
+defaultProject() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+defaultProject() - Method in class com.google.gcloud.ServiceOptions
+
+DefaultStorageRpc - Class in com.google.gcloud.spi
+
+DefaultStorageRpc(StorageOptions) - Constructor for class com.google.gcloud.spi.DefaultStorageRpc
+
+delete(Key...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+delete(Key...) - Method in interface com.google.gcloud.datastore.Datastore
+
+A datastore delete operation.
+
+delete(Key...) - Method in interface com.google.gcloud.datastore.DatastoreWriter
+
+A datastore delete operation.
+
+delete(Bucket, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+delete(StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+delete(Bucket, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+delete(StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+delete(String, String, Storage.BlobSourceOption...) - Method in class com.google.gcloud.storage.BatchRequest.Builder
+
+Delete the given blob.
+
+delete(String, Storage.BucketSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Delete the requested bucket.
+
+delete(String, String, Storage.BlobSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Delete the requested blob.
+
+deleteRules(Iterable<? extends BucketInfo.DeleteRule>) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+deleteRules() - Method in class com.google.gcloud.storage.BucketInfo
+
+deletes - Variable in class com.google.gcloud.spi.StorageRpc.BatchResponse
+
+deletes() - Method in class com.google.gcloud.storage.BatchResponse
+
+Returns the results for the delete operations using the request order.
+
+deleteTime() - Method in class com.google.gcloud.storage.BlobInfo
+
+desc(String) - Static method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+description() - Method in enum com.google.gcloud.datastore.DatastoreException.Code
+
+description() - Method in enum com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason
+
+direction() - Method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+doesNotExist() - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+Domain(String) - Constructor for class com.google.gcloud.storage.Acl.Domain
+
+domain() - Method in class com.google.gcloud.storage.Acl.Domain
+
+DoubleValue - Class in com.google.gcloud.datastore
+
+DoubleValue(double) - Constructor for class com.google.gcloud.datastore.DoubleValue
+
+DoubleValue.Builder - Class in com.google.gcloud.datastore
+
+durableReducedAvailability() - Static method in class com.google.gcloud.storage.BucketInfo.StorageClass
+
+
+
+
+
+
E
+
+email() - Method in class com.google.gcloud.storage.Acl.Group
+
+email() - Method in class com.google.gcloud.storage.Acl.User
+
+emptyBuilder() - Method in class com.google.gcloud.datastore.BaseEntity
+
+emptyBuilder() - Method in class com.google.gcloud.datastore.Entity
+
+emptyBuilder() - Method in class com.google.gcloud.datastore.FullEntity
+
+emptyBuilder() - Method in class com.google.gcloud.datastore.ProjectionEntity
+
+endCursor() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+Entity - Class in com.google.gcloud.datastore
+
+An entity is the Google Cloud Datastore persistent data object for a specific key.
+
+ENTITY - Static variable in class com.google.gcloud.datastore.Query.ResultType
+
+entity() - Method in class com.google.gcloud.storage.Acl
+
+Entity.Builder - Class in com.google.gcloud.datastore
+
+entityQueryBuilder() - Static method in class com.google.gcloud.datastore.Query
+
+Returns a new
StructuredQuery builder for full (complete entities) queries.
+
+EntityValue - Class in com.google.gcloud.datastore
+
+EntityValue(FullEntity<?>) - Constructor for class com.google.gcloud.datastore.EntityValue
+
+EntityValue.Builder - Class in com.google.gcloud.datastore
+
+eq(String, Value<?>) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, long) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, double) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, boolean) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, DateTime) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+eq(String, Blob) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+equals(Object) - Method in class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials
+
+equals(Object) - Method in class com.google.gcloud.datastore.BaseEntity
+
+equals(Object) - Method in class com.google.gcloud.datastore.Blob
+
+equals(Object) - Method in class com.google.gcloud.datastore.Cursor
+
+equals(Object) - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+equals(Object) - Method in class com.google.gcloud.datastore.DateTime
+
+equals(Object) - Method in class com.google.gcloud.datastore.GqlQuery
+
+equals(Object) - Method in class com.google.gcloud.datastore.PathElement
+
+equals(Object) - Method in class com.google.gcloud.datastore.Query.ResultType
+
+equals(Object) - Method in class com.google.gcloud.datastore.StructuredQuery.CompositeFilter
+
+equals(Object) - Method in class com.google.gcloud.datastore.StructuredQuery
+
+equals(Object) - Method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+equals(Object) - Method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+equals(Object) - Method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+equals(Object) - Method in class com.google.gcloud.datastore.Value
+
+equals(Object) - Method in class com.google.gcloud.RetryParams
+
+equals(Object) - Method in class com.google.gcloud.storage.Acl.Entity
+
+equals(Object) - Method in class com.google.gcloud.storage.Acl
+
+equals(Object) - Method in class com.google.gcloud.storage.BatchRequest
+
+equals(Object) - Method in class com.google.gcloud.storage.BatchResponse
+
+equals(Object) - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+equals(Object) - Method in class com.google.gcloud.storage.BlobInfo
+
+equals(Object) - Method in class com.google.gcloud.storage.BucketInfo.DeleteRule
+
+equals(Object) - Method in class com.google.gcloud.storage.BucketInfo
+
+equals(Object) - Method in class com.google.gcloud.storage.BucketInfo.Location
+
+equals(Object) - Method in class com.google.gcloud.storage.Cors
+
+equals(Object) - Method in class com.google.gcloud.storage.Cors.Origin
+
+equals(Object) - Method in class com.google.gcloud.storage.ListResult
+
+equals(Object) - Method in class com.google.gcloud.storage.StorageOptions
+
+etag() - Method in class com.google.gcloud.storage.BlobInfo
+
+etag() - Method in class com.google.gcloud.storage.BucketInfo
+
+eu() - Static method in class com.google.gcloud.storage.BucketInfo.Location
+
+ExceptionHandler - Class in com.google.gcloud
+
+
+
+ExceptionHandler.Builder - Class in com.google.gcloud
+
+ExceptionHandler builder.
+
+ExceptionHandler.Interceptor - Interface in com.google.gcloud
+
+ExceptionHandler.Interceptor.RetryResult - Enum in com.google.gcloud
+
+
+
+
+
+
F
+
+failed() - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+Returns true if failed, false otherwise.
+
+failure() - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+Returns the failure or null if was successful.
+
+fetch(Key...) - Method in interface com.google.gcloud.datastore.DatastoreReader
+
+Returns a list with a value for each given key (ordered by input).
+
+fetch(Key...) - Method in interface com.google.gcloud.datastore.Transaction
+
+Returns a list with a value for each given key (ordered by input).
+
+fill(DatastoreV1.Entity) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+filter() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+first(String) - Static method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+force() - Method in class com.google.gcloud.datastore.BatchOption.ForceWrites
+
+force(boolean) - Method in class com.google.gcloud.datastore.DatastoreOptions.Builder
+
+force() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+force() - Method in class com.google.gcloud.datastore.TransactionOption.ForceWrites
+
+forceWrites() - Static method in class com.google.gcloud.datastore.BatchOption
+
+ForceWrites(boolean) - Constructor for class com.google.gcloud.datastore.BatchOption.ForceWrites
+
+forceWrites() - Static method in class com.google.gcloud.datastore.TransactionOption
+
+ForceWrites(boolean) - Constructor for class com.google.gcloud.datastore.TransactionOption.ForceWrites
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.BaseEntity
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.Blob
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.Cursor
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.DateTime
+
+fromPb(Query.ResultType<V>, String, byte[]) - Method in class com.google.gcloud.datastore.GqlQuery
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.IncompleteKey
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.Key
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.PathElement
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.Query
+
+fromPb(Query.ResultType<V>, String, byte[]) - Method in class com.google.gcloud.datastore.Query
+
+fromPb(Query.ResultType<V>, String, byte[]) - Method in class com.google.gcloud.datastore.StructuredQuery
+
+fromPb(DatastoreV1.PropertyExpression) - Static method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+fromPb(DatastoreV1.PropertyFilter) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+fromPb(byte[]) - Method in class com.google.gcloud.datastore.Value
+
+fromUrlSafe(String) - Static method in class com.google.gcloud.datastore.Cursor
+
+Create a Cursor given its URL safe encoded form.
+
+fromUrlSafe(String) - Static method in class com.google.gcloud.datastore.Key
+
+Create a Key given its URL safe encoded form.
+
+FullEntity <K extends IncompleteKey > - Class in com.google.gcloud.datastore
+
+A full entity is a
BaseEntity that with a complete set of properties.
+
+FullEntity.Builder <K extends IncompleteKey > - Class in com.google.gcloud.datastore
+
+
+
+
+
+
G
+
+generatedKeys() - Method in interface com.google.gcloud.datastore.Batch.Response
+
+generatedKeys() - Method in interface com.google.gcloud.datastore.Transaction.Response
+
+generation() - Method in class com.google.gcloud.storage.BlobInfo
+
+generation() - Method in class com.google.gcloud.storage.Storage.ComposeRequest.SourceBlob
+
+generationMatch(long) - Static method in class com.google.gcloud.storage.Storage.BlobSourceOption
+
+generationMatch() - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+generationNotMatch(long) - Static method in class com.google.gcloud.storage.Storage.BlobSourceOption
+
+generationNotMatch() - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+get(DatastoreOptions) - Method in class com.google.gcloud.datastore.DatastoreFactory
+
+Returns a Datastore service for the given options.
+
+get(Key) - Method in interface com.google.gcloud.datastore.DatastoreReader
+
+Returns an
Entity for the given
Key or
null if does not exists.
+
+get(Key...) - Method in interface com.google.gcloud.datastore.DatastoreReader
+
+Returns an
Entity for each given
Key that exists in the Datastore.
+
+get() - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+get(Key) - Method in interface com.google.gcloud.datastore.Transaction
+
+Returns an
Entity for the given
Key or
null if does not exists.
+
+get(Key...) - Method in interface com.google.gcloud.datastore.Transaction
+
+Returns an
Entity for each given
Key that exists in the Datastore.
+
+get() - Method in class com.google.gcloud.datastore.Value
+
+get() - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+get(Bucket, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+get(StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+get(Bucket, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+get(StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+get(String, String, Storage.BlobSourceOption...) - Method in class com.google.gcloud.storage.BatchRequest.Builder
+
+Retrieve metadata for the given blob.
+
+get() - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+Returns the result.
+
+get(String, Storage.BucketSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Return the requested bucket or null if not found.
+
+get(String, String, Storage.BlobSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Return the requested blob or null if not found.
+
+get(StorageOptions) - Method in class com.google.gcloud.storage.StorageFactory
+
+Returns a Storage service for the given options.
+
+getAppEngineProjectId() - Static method in class com.google.gcloud.ServiceOptions
+
+getBlob(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a blob.
+
+getBlob(String) - Method in class com.google.gcloud.datastore.ProjectionEntity
+
+getBoolean(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a boolean.
+
+getDateTime(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a DateTime.
+
+getDateTime(String) - Method in class com.google.gcloud.datastore.ProjectionEntity
+
+getDefaultInstance() - Static method in class com.google.gcloud.ExceptionHandler
+
+Returns an instance which retry any checked exception and abort on any runtime exception.
+
+getDefaultInstance() - Static method in class com.google.gcloud.RetryParams
+
+Returns an instance with the default parameters.
+
+getDouble(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a double.
+
+getEntity(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as an entity.
+
+getIndexed() - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+getInitialRetryDelayMillis() - Method in class com.google.gcloud.RetryParams
+
+Returns the initialRetryDelayMillis.
+
+getKey(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a Key.
+
+getList(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a list of values.
+
+getLong(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as long.
+
+getMaxRetryDelayMillis() - Method in class com.google.gcloud.RetryParams
+
+Returns the maxRetryDelayMillis.
+
+getMeaning() - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+getNonRetriableExceptions() - Method in class com.google.gcloud.ExceptionHandler
+
+getRetriableExceptions() - Method in class com.google.gcloud.ExceptionHandler
+
+getRetryDelayBackoffFactor() - Method in class com.google.gcloud.RetryParams
+
+Returns the maxRetryDelayBackoffFactor.
+
+getRetryMaxAttempts() - Method in class com.google.gcloud.RetryParams
+
+Returns the retryMaxAttempts.
+
+getRetryMinAttempts() - Method in class com.google.gcloud.RetryParams
+
+Returns the retryMinAttempts.
+
+gets - Variable in class com.google.gcloud.spi.StorageRpc.BatchResponse
+
+gets() - Method in class com.google.gcloud.storage.BatchResponse
+
+Returns the results for the get operations using the request order.
+
+getString(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the property value as a string.
+
+getTotalRetryPeriodMillis() - Method in class com.google.gcloud.RetryParams
+
+Returns the totalRetryPeriodMillis.
+
+getValue(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the
Value for the given property
name.
+
+getValueType() - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+googleCloudProjectId() - Static method in class com.google.gcloud.ServiceOptions
+
+GqlQuery <V > - Class in com.google.gcloud.datastore
+
+A Google Cloud Datastore GQL query.
+
+GqlQuery.Builder <V > - Class in com.google.gcloud.datastore
+
+A GQL query builder.
+
+gqlQueryBuilder(String) - Static method in class com.google.gcloud.datastore.Query
+
+
+
+gqlQueryBuilder(Query.ResultType<V>, String) - Static method in class com.google.gcloud.datastore.Query
+
+
+
+Group(String) - Constructor for class com.google.gcloud.storage.Acl.Group
+
+groupBy() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+groupBy(String, String...) - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+gt(String, Value<?>) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, long) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, double) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, boolean) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, DateTime) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gt(String, Blob) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, Value<?>) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, long) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, double) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, boolean) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, DateTime) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+gte(String, Blob) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+
+
+
+
+
H
+
+hasAncestor(Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+hashCode() - Method in class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials
+
+hashCode() - Method in class com.google.gcloud.datastore.BaseEntity
+
+hashCode() - Method in class com.google.gcloud.datastore.Blob
+
+hashCode() - Method in class com.google.gcloud.datastore.Cursor
+
+hashCode() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+hashCode() - Method in class com.google.gcloud.datastore.DateTime
+
+hashCode() - Method in class com.google.gcloud.datastore.GqlQuery
+
+hashCode() - Method in class com.google.gcloud.datastore.PathElement
+
+hashCode() - Method in class com.google.gcloud.datastore.Query.ResultType
+
+hashCode() - Method in class com.google.gcloud.datastore.StructuredQuery.CompositeFilter
+
+hashCode() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+hashCode() - Method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+hashCode() - Method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+hashCode() - Method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+hashCode() - Method in class com.google.gcloud.datastore.Value
+
+hashCode() - Method in class com.google.gcloud.RetryParams
+
+hashCode() - Method in class com.google.gcloud.storage.Acl.Entity
+
+hashCode() - Method in class com.google.gcloud.storage.Acl
+
+hashCode() - Method in class com.google.gcloud.storage.BatchRequest
+
+hashCode() - Method in class com.google.gcloud.storage.BatchResponse
+
+hashCode() - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+hashCode() - Method in class com.google.gcloud.storage.BlobInfo
+
+hashCode() - Method in class com.google.gcloud.storage.BucketInfo.DeleteRule
+
+hashCode() - Method in class com.google.gcloud.storage.BucketInfo
+
+hashCode() - Method in class com.google.gcloud.storage.BucketInfo.Location
+
+hashCode() - Method in class com.google.gcloud.storage.Cors
+
+hashCode() - Method in class com.google.gcloud.storage.Cors.Origin
+
+hashCode() - Method in class com.google.gcloud.storage.ListResult
+
+hashCode() - Method in class com.google.gcloud.storage.StorageOptions
+
+hasId() - Method in class com.google.gcloud.datastore.Key
+
+hasId() - Method in class com.google.gcloud.datastore.PathElement
+
+hasIndexed() - Method in class com.google.gcloud.datastore.Value
+
+hasKey() - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns true if entity has a non-null key.
+
+hasMeaning() - Method in class com.google.gcloud.datastore.Value
+
+Deprecated.
+
+hasName() - Method in class com.google.gcloud.datastore.Key
+
+hasName() - Method in class com.google.gcloud.datastore.PathElement
+
+host(String) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+host() - Method in class com.google.gcloud.ServiceOptions
+
+HttpMethod - Enum in com.google.gcloud.storage
+
+Http method supported by Storage service.
+
+httpMethod(HttpMethod) - Static method in class com.google.gcloud.storage.Storage.SignUrlOption
+
+The HTTP method to be used with the signed URL.
+
+httpRequestInitializer(HttpTransport, Set<String>) - Method in class com.google.gcloud.AuthCredentials
+
+httpRequestInitializer(HttpTransport, Set<String>) - Method in class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials
+
+httpRequestInitializer() - Method in class com.google.gcloud.ServiceOptions
+
+httpStatus() - Method in enum com.google.gcloud.datastore.DatastoreException.Code
+
+httpStatus() - Method in exception com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException
+
+httpStatus() - Method in enum com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason
+
+httpTransportFactory(ServiceOptions.HttpTransportFactory) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+httpTransportFactory() - Method in class com.google.gcloud.ServiceOptions
+
+
+
+
+
+
I
+
+id(long) - Method in class com.google.gcloud.datastore.Key.Builder
+
+id() - Method in class com.google.gcloud.datastore.Key
+
+Returns the key's id or null if it has a name instead.
+
+id() - Method in class com.google.gcloud.datastore.PathElement
+
+id() - Method in class com.google.gcloud.storage.BlobInfo
+
+id() - Method in class com.google.gcloud.storage.BucketInfo
+
+IncompleteKey - Class in com.google.gcloud.datastore
+
+An incomplete key (without a name or id).
+
+IncompleteKey.Builder - Class in com.google.gcloud.datastore
+
+indexed(boolean) - Method in class com.google.gcloud.datastore.EntityValue.Builder
+
+indexed(boolean) - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+indexed() - Method in class com.google.gcloud.datastore.Value
+
+indexed(boolean) - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+indexPage(String) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+indexPage() - Method in class com.google.gcloud.storage.BucketInfo
+
+initialRetryDelayMillis(long) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets initialRetryDelayMillis.
+
+instance() - Static method in class com.google.gcloud.datastore.DatastoreFactory
+
+Returns the default factory instance.
+
+instance() - Static method in class com.google.gcloud.storage.StorageFactory
+
+Returns the default factory instance.
+
+interceptor(ExceptionHandler.Interceptor...) - Method in class com.google.gcloud.ExceptionHandler.Builder
+
+Adds the exception handler interceptors.
+
+isLive() - Method in class com.google.gcloud.storage.BucketInfo.IsLiveDeleteRule
+
+IsLiveDeleteRule(boolean) - Constructor for class com.google.gcloud.storage.BucketInfo.IsLiveDeleteRule
+
+isNull(String) - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns true if property is an instance of NullValue.
+
+isNull(String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+IsolationLevel(TransactionOption.IsolationLevel.Level) - Constructor for class com.google.gcloud.datastore.TransactionOption.IsolationLevel
+
+iterator() - Method in class com.google.gcloud.storage.ListResult
+
+
+
+
+
+
K
+
+key() - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+key(K) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+key() - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the associated key or null if it does not have one.
+
+key(Key) - Method in class com.google.gcloud.datastore.Entity.Builder
+
+Key - Class in com.google.gcloud.datastore
+
+A key that is guaranteed to be complete and could be used to reference a
+ Google Cloud Datastore
Entity.
+
+KEY - Static variable in class com.google.gcloud.datastore.Query.ResultType
+
+Key.Builder - Class in com.google.gcloud.datastore
+
+KeyFactory - Class in com.google.gcloud.datastore
+
+A helper for creating keys for a specific
Datastore,
+ using its associated projectId and namespace.
+
+KeyFactory(String) - Constructor for class com.google.gcloud.datastore.KeyFactory
+
+KeyFactory(String, String) - Constructor for class com.google.gcloud.datastore.KeyFactory
+
+keyQueryBuilder() - Static method in class com.google.gcloud.datastore.Query
+
+
+
+KeyValue - Class in com.google.gcloud.datastore
+
+KeyValue(Key) - Constructor for class com.google.gcloud.datastore.KeyValue
+
+KeyValue.Builder - Class in com.google.gcloud.datastore
+
+kind() - Method in class com.google.gcloud.datastore.PathElement
+
+kind() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+
+
+
+
+
L
+
+le(String, Value<?>) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, long) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, double) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, boolean) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, DateTime) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+le(String, Blob) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+length() - Method in class com.google.gcloud.datastore.Blob
+
+Returns the size of this blob.
+
+level() - Method in class com.google.gcloud.datastore.TransactionOption.IsolationLevel
+
+limit() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+list(Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+list(String, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+list(Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+list(String, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+list(Storage.BucketListOption...) - Method in interface com.google.gcloud.storage.Storage
+
+List the project's buckets.
+
+list(String, Storage.BlobListOption...) - Method in interface com.google.gcloud.storage.Storage
+
+List the bucket's blobs.
+
+ListResult <T extends Serializable > - Class in com.google.gcloud.storage
+
+Google Cloud storage list result.
+
+ListResult(ListResult.NextPageFetcher<T>, String, Iterable<T>) - Constructor for class com.google.gcloud.storage.ListResult
+
+ListResult.NextPageFetcher <T extends Serializable > - Interface in com.google.gcloud.storage
+
+ListValue - Class in com.google.gcloud.datastore
+
+ListValue(List<? extends Value<?>>) - Constructor for class com.google.gcloud.datastore.ListValue
+
+ListValue(Value<?>, Value<?>...) - Constructor for class com.google.gcloud.datastore.ListValue
+
+ListValue.Builder - Class in com.google.gcloud.datastore
+
+load(StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+load(StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+location(BucketInfo.Location) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+location() - Method in class com.google.gcloud.storage.BucketInfo
+
+LongValue - Class in com.google.gcloud.datastore
+
+LongValue(long) - Constructor for class com.google.gcloud.datastore.LongValue
+
+LongValue.Builder - Class in com.google.gcloud.datastore
+
+lookup(DatastoreV1.LookupRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+lookup(DatastoreV1.LookupRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+lte(String, Value<?>) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, String) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, long) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, double) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, boolean) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, DateTime) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, Key) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+lte(String, Blob) - Static method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+
+
+
+
+
M
+
+main(String...) - Static method in class com.google.gcloud.examples.DatastoreExample
+
+main(String...) - Static method in class com.google.gcloud.examples.StorageExample
+
+maxAgeSeconds(Integer) - Method in class com.google.gcloud.storage.Cors.Builder
+
+maxAgeSeconds() - Method in class com.google.gcloud.storage.Cors
+
+maxResults(long) - Static method in class com.google.gcloud.storage.Storage.BlobListOption
+
+maxResults(long) - Static method in class com.google.gcloud.storage.Storage.BucketListOption
+
+maxRetryDelayMillis(long) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets maxRetryDelayMillis.
+
+md5(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+md5() - Method in class com.google.gcloud.storage.BlobInfo
+
+meaning() - Method in class com.google.gcloud.datastore.Value
+
+Deprecated.
+
+meaning(Integer) - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+Deprecated.
+
+mediaLink() - Method in class com.google.gcloud.storage.BlobInfo
+
+mergeFrom(DatastoreV1.Query) - Method in class com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder
+
+mergeFrom(P) - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+metadata(Map<String, String>) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+metadata() - Method in class com.google.gcloud.storage.BlobInfo
+
+metageneration() - Method in class com.google.gcloud.storage.BlobInfo
+
+metageneration() - Method in class com.google.gcloud.storage.BucketInfo
+
+metagenerationMatch(long) - Static method in class com.google.gcloud.storage.Storage.BlobSourceOption
+
+metagenerationMatch() - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+metagenerationMatch(long) - Static method in class com.google.gcloud.storage.Storage.BucketSourceOption
+
+metagenerationMatch() - Static method in class com.google.gcloud.storage.Storage.BucketTargetOption
+
+metagenerationNotMatch(long) - Static method in class com.google.gcloud.storage.Storage.BlobSourceOption
+
+metagenerationNotMatch() - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+metagenerationNotMatch(long) - Static method in class com.google.gcloud.storage.Storage.BucketSourceOption
+
+metagenerationNotMatch() - Static method in class com.google.gcloud.storage.Storage.BucketTargetOption
+
+methods(Iterable<HttpMethod>) - Method in class com.google.gcloud.storage.Cors.Builder
+
+methods() - Method in class com.google.gcloud.storage.Cors
+
+
+
+
+
+
N
+
+name() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+name(String) - Method in class com.google.gcloud.datastore.Key.Builder
+
+name() - Method in class com.google.gcloud.datastore.Key
+
+Returns the key's name or null if it has an id instead.
+
+name() - Method in class com.google.gcloud.datastore.PathElement
+
+name(String) - Method in class com.google.gcloud.storage.BlobInfo.Builder
+
+name() - Method in class com.google.gcloud.storage.BlobInfo
+
+name(String) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+name() - Method in class com.google.gcloud.storage.BucketInfo
+
+name() - Method in class com.google.gcloud.storage.Storage.ComposeRequest.SourceBlob
+
+namedBindings() - Method in class com.google.gcloud.datastore.GqlQuery
+
+Returns an immutable map of named bindings.
+
+nameOrId() - Method in class com.google.gcloud.datastore.Key
+
+Returns the key's id (as
Long) or name (as
String).
+
+nameOrId() - Method in class com.google.gcloud.datastore.PathElement
+
+names() - Method in class com.google.gcloud.datastore.BaseEntity
+
+Returns the properties name.
+
+namespace(String) - Method in class com.google.gcloud.datastore.DatastoreOptions.Builder
+
+namespace() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+namespace(String) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+namespace() - Method in class com.google.gcloud.datastore.Query
+
+newBatch(BatchOption...) - Method in interface com.google.gcloud.datastore.Datastore
+
+Returns a new Batch for processing multiple write operations in one request.
+
+newInvalidRequest(String, Object...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+newKey() - Method in class com.google.gcloud.datastore.KeyFactory
+
+newKey(String) - Method in class com.google.gcloud.datastore.KeyFactory
+
+newKey(long) - Method in class com.google.gcloud.datastore.KeyFactory
+
+newKeyFactory() - Method in interface com.google.gcloud.datastore.Datastore
+
+Returns a new KeyFactory for this service
+
+newTransaction(TransactionOption...) - Method in interface com.google.gcloud.datastore.Datastore
+
+Returns a new Datastore transaction.
+
+nextPage() - Method in class com.google.gcloud.storage.ListResult
+
+Returns the results of the nextPage or null if no more result.
+
+nextPage() - Method in interface com.google.gcloud.storage.ListResult.NextPageFetcher
+
+nextPageCursor() - Method in class com.google.gcloud.storage.ListResult
+
+Returns the cursor for the nextPage or null if no more results.
+
+nextQuery(DatastoreV1.QueryResultBatch) - Method in class com.google.gcloud.datastore.GqlQuery
+
+nextQuery(DatastoreV1.QueryResultBatch) - Method in class com.google.gcloud.datastore.Query
+
+nextQuery(DatastoreV1.QueryResultBatch) - Method in class com.google.gcloud.datastore.StructuredQuery
+
+noCredentials() - Static method in class com.google.gcloud.AuthCredentials
+
+noRetries() - Static method in class com.google.gcloud.RetryParams
+
+notFoundPage(String) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+notFoundPage() - Method in class com.google.gcloud.storage.BucketInfo
+
+now() - Static method in class com.google.gcloud.datastore.DateTime
+
+NullValue - Class in com.google.gcloud.datastore
+
+NullValue() - Constructor for class com.google.gcloud.datastore.NullValue
+
+NullValue.Builder - Class in com.google.gcloud.datastore
+
+numberArgs() - Method in class com.google.gcloud.datastore.GqlQuery
+
+Returns an immutable list of positional bindings (using original order).
+
+numNewerVersions() - Method in class com.google.gcloud.storage.BucketInfo.NumNewerVersionsDeleteRule
+
+NumNewerVersionsDeleteRule(int) - Constructor for class com.google.gcloud.storage.BucketInfo.NumNewerVersionsDeleteRule
+
+
+
+
+
+
O
+
+of(Blob) - Static method in class com.google.gcloud.datastore.BlobValue
+
+of(boolean) - Static method in class com.google.gcloud.datastore.BooleanValue
+
+of(DateTime) - Static method in class com.google.gcloud.datastore.DateTimeValue
+
+of(double) - Static method in class com.google.gcloud.datastore.DoubleValue
+
+of(FullEntity<?>) - Static method in class com.google.gcloud.datastore.EntityValue
+
+of(Key) - Static method in class com.google.gcloud.datastore.KeyValue
+
+of(List<? extends Value<?>>) - Static method in class com.google.gcloud.datastore.ListValue
+
+of(Value<?>, Value<?>...) - Static method in class com.google.gcloud.datastore.ListValue
+
+of(long) - Static method in class com.google.gcloud.datastore.LongValue
+
+of() - Static method in class com.google.gcloud.datastore.NullValue
+
+of(String, String) - Static method in class com.google.gcloud.datastore.PathElement
+
+of(String, long) - Static method in class com.google.gcloud.datastore.PathElement
+
+of(String) - Static method in class com.google.gcloud.datastore.StringValue
+
+of(X, Y) - Static method in class com.google.gcloud.spi.StorageRpc.Tuple
+
+of(String, String) - Static method in class com.google.gcloud.storage.BlobInfo
+
+of(String) - Static method in class com.google.gcloud.storage.BucketInfo.Location
+
+of(String) - Static method in class com.google.gcloud.storage.BucketInfo
+
+of(String) - Static method in class com.google.gcloud.storage.BucketInfo.StorageClass
+
+of(String, String, int) - Static method in class com.google.gcloud.storage.Cors.Origin
+
+of(String) - Static method in class com.google.gcloud.storage.Cors.Origin
+
+of(Iterable<String>, BlobInfo) - Static method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+of(String, Iterable<String>, String) - Static method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+of(String, String, BlobInfo) - Static method in class com.google.gcloud.storage.Storage.CopyRequest
+
+of(String, String, String) - Static method in class com.google.gcloud.storage.Storage.CopyRequest
+
+ofAllAuthenticatedUsers() - Static method in class com.google.gcloud.storage.Acl.User
+
+ofAllUsers() - Static method in class com.google.gcloud.storage.Acl.User
+
+offset() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+open(StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+open(StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+options() - Method in class com.google.gcloud.BaseService
+
+options() - Method in interface com.google.gcloud.Service
+
+orderBy() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+OrderBy(String, StructuredQuery.OrderBy.Direction) - Constructor for class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+origins(Iterable<Cors.Origin>) - Method in class com.google.gcloud.storage.Cors.Builder
+
+origins() - Method in class com.google.gcloud.storage.Cors
+
+owner() - Method in class com.google.gcloud.storage.BlobInfo
+
+owner() - Method in class com.google.gcloud.storage.BucketInfo
+
+
+
+
+
+
P
+
+patch(Bucket, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+patch(StorageObject, Map<StorageRpc.Option, ?>) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+patch(Bucket, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+patch(StorageObject, Map<StorageRpc.Option, ?>) - Method in interface com.google.gcloud.spi.StorageRpc
+
+pathDelimiter(String) - Method in class com.google.gcloud.storage.StorageOptions.Builder
+
+pathDelimiter() - Method in class com.google.gcloud.storage.StorageOptions
+
+PathElement - Class in com.google.gcloud.datastore
+
+Represents a single element in a key's path.
+
+populatePb(DatastoreV1.RunQueryRequest.Builder) - Method in class com.google.gcloud.datastore.GqlQuery
+
+populatePb(DatastoreV1.RunQueryRequest.Builder) - Method in class com.google.gcloud.datastore.Query
+
+populatePb(DatastoreV1.RunQueryRequest.Builder) - Method in class com.google.gcloud.datastore.StructuredQuery
+
+predefinedAcl(Storage.PredefinedAcl) - Static method in class com.google.gcloud.storage.Storage.BlobTargetOption
+
+predefinedAcl(Storage.PredefinedAcl) - Static method in class com.google.gcloud.storage.Storage.BucketTargetOption
+
+predefinedDefaultObjectAcl(Storage.PredefinedAcl) - Static method in class com.google.gcloud.storage.Storage.BucketTargetOption
+
+prefix(String) - Static method in class com.google.gcloud.storage.Storage.BlobListOption
+
+prefix(String) - Static method in class com.google.gcloud.storage.Storage.BucketListOption
+
+printUsage() - Static method in class com.google.gcloud.examples.StorageExample
+
+privateKey() - Method in class com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials
+
+Project(Acl.Project.ProjectRole, String) - Constructor for class com.google.gcloud.storage.Acl.Project
+
+projectId(String) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+projectId() - Method in class com.google.gcloud.ServiceOptions
+
+projectId() - Method in class com.google.gcloud.storage.Acl.Project
+
+projection() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+projection(StructuredQuery.Projection, StructuredQuery.Projection...) - Method in class com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder
+
+PROJECTION_ENTITY - Static variable in class com.google.gcloud.datastore.Query.ResultType
+
+ProjectionEntity - Class in com.google.gcloud.datastore
+
+A projection entity is a result of a Google Cloud Datastore projection query.
+
+ProjectionEntity.Builder - Class in com.google.gcloud.datastore
+
+projectionEntityQueryBuilder() - Static method in class com.google.gcloud.datastore.Query
+
+
+
+projectRole() - Method in class com.google.gcloud.storage.Acl.Project
+
+propagate() - Static method in exception com.google.gcloud.RetryHelper.RetryInterruptedException
+
+Sets the caller thread interrupt flag and throws RetryInterruptedException.
+
+properties() - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+properties(Map<String, Value<?>>) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+property() - Method in class com.google.gcloud.datastore.StructuredQuery.OrderBy
+
+property(String) - Static method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+put(Entity...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+put(Entity...) - Method in interface com.google.gcloud.datastore.Datastore
+
+A Datastore put (a.k.a upsert) operation.
+
+put(Entity...) - Method in interface com.google.gcloud.datastore.DatastoreWriter
+
+A Datastore put (a.k.a upsert) operation.
+
+
+
+
+
+
Q
+
+query(String) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+Query <V > - Class in com.google.gcloud.datastore
+
+A Google Cloud Datastore query.
+
+Query.ResultType <V > - Class in com.google.gcloud.datastore
+
+This class represents the expected type of the result.
+
+QueryResults <V > - Interface in com.google.gcloud.datastore
+
+The result of a Google Cloud Datastore query submission.
+
+queryString() - Method in class com.google.gcloud.datastore.GqlQuery
+
+
+
+
+
+
R
+
+RawValue - Class in com.google.gcloud.datastore
+
+RawValue.Builder - Class in com.google.gcloud.datastore
+
+read(StorageObject, Map<StorageRpc.Option, ?>, long, int) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+read(StorageObject, Map<StorageRpc.Option, ?>, long, int) - Method in interface com.google.gcloud.spi.StorageRpc
+
+readAllBytes(String, String, Storage.BlobSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Reads all the bytes from a blob.
+
+reader(String, String, Storage.BlobSourceOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Return a channel for reading the blob's content.
+
+reason() - Method in exception com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException
+
+recursive(boolean) - Static method in class com.google.gcloud.storage.Storage.BlobListOption
+
+remove(String) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+Removes a property with the given name.
+
+reset() - Method in class com.google.gcloud.datastore.KeyFactory
+
+Resets the KeyFactory to its initial state.
+
+responseHeaders(Iterable<String>) - Method in class com.google.gcloud.storage.Cors.Builder
+
+responseHeaders() - Method in class com.google.gcloud.storage.Cors
+
+Result(T) - Constructor for class com.google.gcloud.storage.BatchResponse.Result
+
+Result(StorageException) - Constructor for class com.google.gcloud.storage.BatchResponse.Result
+
+resultClass() - Method in class com.google.gcloud.datastore.Query.ResultType
+
+resultClass() - Method in interface com.google.gcloud.datastore.QueryResults
+
+Returns the actual class of the result's values.
+
+retryable() - Method in enum com.google.gcloud.datastore.DatastoreException.Code
+
+Returns true if this exception is transient and the same request could be retried.
+
+retryable() - Method in enum com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason
+
+retryable() - Method in exception com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException
+
+retryable() - Method in exception com.google.gcloud.storage.StorageException
+
+retryDelayBackoffFactor(double) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets retryDelayBackoffFactor.
+
+RetryHelper <V > - Class in com.google.gcloud
+
+Utility class for retrying operations.
+
+RetryHelper.NonRetriableException - Exception in com.google.gcloud
+
+Thrown when RetryHelper callable has indicate it should not be retried.
+
+RetryHelper.RetriesExhaustedException - Exception in com.google.gcloud
+
+Thrown when a RetryHelper has attempted the maximum number of attempts allowed by RetryParams
+ and was not successful.
+
+RetryHelper.RetryHelperException - Exception in com.google.gcloud
+
+RetryHelper.RetryInterruptedException - Exception in com.google.gcloud
+
+Thrown when a RetryHelper failed to complete its work due to interruption.
+
+retryMaxAttempts(int) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets retryMaxAttempts.
+
+retryMinAttempts(int) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets retryMinAttempts.
+
+retryOn(Class<? extends Exception>...) - Method in class com.google.gcloud.ExceptionHandler.Builder
+
+Add the exceptions to ignore/retry-on.
+
+RetryParams - Class in com.google.gcloud
+
+Parameters for configuring retries with an exponential backoff.
+
+retryParams(RetryParams) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+retryParams() - Method in class com.google.gcloud.ServiceOptions
+
+RetryParams.Builder - Class in com.google.gcloud
+
+RetryParams builder.
+
+role() - Method in class com.google.gcloud.storage.Acl
+
+rollback() - Method in interface com.google.gcloud.datastore.Transaction
+
+Rollback the transaction.
+
+rollback(DatastoreV1.RollbackRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+rollback(DatastoreV1.RollbackRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+run(DatastoreReaderWriter) - Method in interface com.google.gcloud.datastore.Datastore.TransactionCallable
+
+run(Query<T>) - Method in interface com.google.gcloud.datastore.DatastoreReader
+
+Submit a
Query and returns its result.
+
+run(Query<T>) - Method in interface com.google.gcloud.datastore.Transaction
+
+Submit a
Query and returns its result.
+
+runInTransaction(Datastore.TransactionCallable<T>, TransactionOption...) - Method in interface com.google.gcloud.datastore.Datastore
+
+
+
+runQuery(DatastoreV1.RunQueryRequest) - Method in interface com.google.gcloud.spi.DatastoreRpc
+
+runQuery(DatastoreV1.RunQueryRequest) - Method in class com.google.gcloud.spi.DefaultDatastoreRpc
+
+runWithRetries(Callable<V>) - Static method in class com.google.gcloud.RetryHelper
+
+runWithRetries(Callable<V>, RetryParams, ExceptionHandler) - Static method in class com.google.gcloud.RetryHelper
+
+
+
+
+
+
S
+
+scopes() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+scopes() - Method in class com.google.gcloud.ServiceOptions
+
+scopes() - Method in class com.google.gcloud.storage.StorageOptions
+
+seek(int) - Method in interface com.google.gcloud.storage.BlobReadChannel
+
+self() - Method in class com.google.gcloud.ServiceOptions.Builder
+
+selfLink() - Method in class com.google.gcloud.storage.BlobInfo
+
+selfLink() - Method in class com.google.gcloud.storage.BucketInfo
+
+serializable() - Static method in class com.google.gcloud.datastore.TransactionOption
+
+Service <OptionsT extends ServiceOptions <?,OptionsT >> - Interface in com.google.gcloud
+
+serviceAccount(AuthCredentials.ServiceAccountAuthCredentials) - Static method in class com.google.gcloud.storage.Storage.SignUrlOption
+
+Service account credentials which are used for signing the URL.
+
+ServiceOptions <ServiceRpcT ,OptionsT extends ServiceOptions <ServiceRpcT ,OptionsT >> - Class in com.google.gcloud
+
+ServiceOptions(ServiceOptions.Builder<ServiceRpcT, OptionsT, ?>) - Constructor for class com.google.gcloud.ServiceOptions
+
+ServiceOptions.Builder <ServiceRpcT ,OptionsT extends ServiceOptions <ServiceRpcT ,OptionsT >,B extends ServiceOptions.Builder <ServiceRpcT ,OptionsT ,B >> - Class in com.google.gcloud
+
+ServiceOptions.HttpTransportFactory - Interface in com.google.gcloud
+
+serviceRpcFactory(ServiceRpcFactory<ServiceRpcT, OptionsT>) - Method in class com.google.gcloud.ServiceOptions.Builder
+
+serviceRpcFactory() - Method in class com.google.gcloud.ServiceOptions
+
+ServiceRpcFactory <ServiceRpcT ,OptionsT extends ServiceOptions <ServiceRpcT ,OptionsT >> - Interface in com.google.gcloud.spi
+
+A base interface for all service RPC factories.
+
+set(String, Value<?>) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, String) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, long) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, double) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, boolean) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, DateTime) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, Key) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, FullEntity<?>) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, List<? extends Value<?>>) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, Value<?>, Value<?>...) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(String, Blob) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+set(List<? extends Value<?>>) - Method in class com.google.gcloud.datastore.ListValue.Builder
+
+Copy the list of values.
+
+set(Void) - Method in class com.google.gcloud.datastore.NullValue.Builder
+
+set(V) - Method in interface com.google.gcloud.datastore.ValueBuilder
+
+setBinding(String, Cursor) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, String...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, long...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, double...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, boolean...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, DateTime...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, Key...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, FullEntity<?>...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setBinding(String, Blob...) - Method in class com.google.gcloud.datastore.GqlQuery.Builder
+
+setNull(String) - Method in class com.google.gcloud.datastore.BaseEntity.Builder
+
+signUrl(BlobInfo, long, Storage.SignUrlOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Generates a signed URL for a blob.
+
+size() - Method in class com.google.gcloud.storage.BlobInfo
+
+snapshot() - Static method in class com.google.gcloud.datastore.TransactionOption
+
+source(String, String) - Method in class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+sourceBlob() - Method in class com.google.gcloud.storage.Storage.CopyRequest
+
+sourceBlobs() - Method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+sourceBucket() - Method in class com.google.gcloud.storage.Storage.CopyRequest
+
+sourceOptions(Storage.BlobSourceOption...) - Method in class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+sourceOptions() - Method in class com.google.gcloud.storage.Storage.CopyRequest
+
+standard() - Static method in class com.google.gcloud.storage.BucketInfo.StorageClass
+
+startCursor() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+startPageToken(String) - Static method in class com.google.gcloud.storage.Storage.BlobListOption
+
+startPageToken(String) - Static method in class com.google.gcloud.storage.Storage.BucketListOption
+
+Storage - Interface in com.google.gcloud.storage
+
+An interface for Google Cloud Storage.
+
+Storage.BlobListOption - Class in com.google.gcloud.storage
+
+Storage.BlobSourceOption - Class in com.google.gcloud.storage
+
+Storage.BlobTargetOption - Class in com.google.gcloud.storage
+
+Storage.BucketListOption - Class in com.google.gcloud.storage
+
+Storage.BucketSourceOption - Class in com.google.gcloud.storage
+
+Storage.BucketTargetOption - Class in com.google.gcloud.storage
+
+Storage.ComposeRequest - Class in com.google.gcloud.storage
+
+Storage.ComposeRequest.Builder - Class in com.google.gcloud.storage
+
+Storage.ComposeRequest.SourceBlob - Class in com.google.gcloud.storage
+
+Storage.CopyRequest - Class in com.google.gcloud.storage
+
+Storage.CopyRequest.Builder - Class in com.google.gcloud.storage
+
+Storage.PredefinedAcl - Enum in com.google.gcloud.storage
+
+Storage.SignUrlOption - Class in com.google.gcloud.storage
+
+storageClass(BucketInfo.StorageClass) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+storageClass() - Method in class com.google.gcloud.storage.BucketInfo
+
+StorageExample - Class in com.google.gcloud.examples
+
+An example of using the Google Cloud Storage.
+
+StorageExample() - Constructor for class com.google.gcloud.examples.StorageExample
+
+StorageException - Exception in com.google.gcloud.storage
+
+Storage service exception.
+
+StorageException(int, String, boolean) - Constructor for exception com.google.gcloud.storage.StorageException
+
+StorageFactory - Class in com.google.gcloud.storage
+
+A base class for Storage factories.
+
+StorageFactory() - Constructor for class com.google.gcloud.storage.StorageFactory
+
+StorageOptions - Class in com.google.gcloud.storage
+
+StorageOptions.Builder - Class in com.google.gcloud.storage
+
+StorageRpc - Interface in com.google.gcloud.spi
+
+StorageRpc.BatchRequest - Class in com.google.gcloud.spi
+
+StorageRpc.BatchResponse - Class in com.google.gcloud.spi
+
+StorageRpc.Option - Enum in com.google.gcloud.spi
+
+StorageRpc.Tuple <X ,Y > - Class in com.google.gcloud.spi
+
+StorageRpcFactory - Interface in com.google.gcloud.spi
+
+An interface for Storage RPC factory.
+
+StringValue - Class in com.google.gcloud.datastore
+
+StringValue(String) - Constructor for class com.google.gcloud.datastore.StringValue
+
+StringValue.Builder - Class in com.google.gcloud.datastore
+
+StructuredQuery <V > - Class in com.google.gcloud.datastore
+
+An implementation of a Google Cloud Datastore Query that can be constructed by providing
+ all the specific query elements.
+
+StructuredQuery.CompositeFilter - Class in com.google.gcloud.datastore
+
+StructuredQuery.EntityQueryBuilder - Class in com.google.gcloud.datastore
+
+StructuredQuery.Filter - Class in com.google.gcloud.datastore
+
+StructuredQuery.KeyQueryBuilder - Class in com.google.gcloud.datastore
+
+StructuredQuery.OrderBy - Class in com.google.gcloud.datastore
+
+StructuredQuery.OrderBy.Direction - Enum in com.google.gcloud.datastore
+
+StructuredQuery.Projection - Class in com.google.gcloud.datastore
+
+StructuredQuery.Projection.Aggregate - Enum in com.google.gcloud.datastore
+
+StructuredQuery.ProjectionEntityQueryBuilder - Class in com.google.gcloud.datastore
+
+StructuredQuery.PropertyFilter - Class in com.google.gcloud.datastore
+
+submit() - Method in interface com.google.gcloud.datastore.Batch
+
+Submit the batch to the Datastore.
+
+
+
+
+
+
T
+
+target(BlobInfo) - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+target() - Method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+target(BlobInfo) - Method in class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+target() - Method in class com.google.gcloud.storage.Storage.CopyRequest
+
+targetOptions(Storage.BlobTargetOption...) - Method in class com.google.gcloud.storage.Storage.ComposeRequest.Builder
+
+targetOptions() - Method in class com.google.gcloud.storage.Storage.ComposeRequest
+
+targetOptions(Storage.BlobTargetOption...) - Method in class com.google.gcloud.storage.Storage.CopyRequest.Builder
+
+targetOptions() - Method in class com.google.gcloud.storage.Storage.CopyRequest
+
+timeMillis() - Method in class com.google.gcloud.storage.BucketInfo.CreatedBeforeDeleteRule
+
+timestampMicroseconds() - Method in class com.google.gcloud.datastore.DateTime
+
+timestampMillis() - Method in class com.google.gcloud.datastore.DateTime
+
+toAdd() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toAddAutoId() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toBuilder() - Method in class com.google.gcloud.datastore.BlobValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.BooleanValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.DatastoreOptions
+
+toBuilder() - Method in class com.google.gcloud.datastore.DateTimeValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.DoubleValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.EntityValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.KeyValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.ListValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.LongValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.NullValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.RawValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.StringValue
+
+toBuilder() - Method in class com.google.gcloud.datastore.Value
+
+toBuilder() - Method in class com.google.gcloud.ServiceOptions
+
+toBuilder() - Method in class com.google.gcloud.storage.BlobInfo
+
+toBuilder() - Method in class com.google.gcloud.storage.BucketInfo
+
+toBuilder() - Method in class com.google.gcloud.storage.Cors
+
+toBuilder() - Method in class com.google.gcloud.storage.StorageOptions
+
+toByteArray() - Method in class com.google.gcloud.datastore.Blob
+
+Returns a copy as byte array.
+
+toCalendar() - Method in class com.google.gcloud.datastore.DateTime
+
+toDate() - Method in class com.google.gcloud.datastore.DateTime
+
+toDelete() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toDelete - Variable in class com.google.gcloud.spi.StorageRpc.BatchRequest
+
+toDelete() - Method in class com.google.gcloud.storage.BatchRequest
+
+toGet - Variable in class com.google.gcloud.spi.StorageRpc.BatchRequest
+
+toGet() - Method in class com.google.gcloud.storage.BatchRequest
+
+toMutationPb() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toPb() - Method in class com.google.gcloud.datastore.BaseEntity
+
+toPb() - Method in class com.google.gcloud.datastore.Blob
+
+toPb() - Method in class com.google.gcloud.datastore.Cursor
+
+toPb() - Method in class com.google.gcloud.datastore.DateTime
+
+toPb() - Method in class com.google.gcloud.datastore.GqlQuery
+
+toPb() - Method in class com.google.gcloud.datastore.PathElement
+
+toPb() - Method in class com.google.gcloud.datastore.StructuredQuery.CompositeFilter
+
+toPb() - Method in class com.google.gcloud.datastore.StructuredQuery.Filter
+
+toPb() - Method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+toPb() - Method in class com.google.gcloud.datastore.StructuredQuery
+
+toPb() - Method in class com.google.gcloud.datastore.Value
+
+toPut() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toString() - Method in class com.google.gcloud.datastore.Blob
+
+toString() - Method in class com.google.gcloud.datastore.Cursor
+
+toString() - Method in class com.google.gcloud.datastore.DateTime
+
+toString() - Method in class com.google.gcloud.datastore.Query.ResultType
+
+toString() - Method in class com.google.gcloud.datastore.Query
+
+toString() - Method in class com.google.gcloud.datastore.StructuredQuery.CompositeFilter
+
+toString() - Method in class com.google.gcloud.datastore.StructuredQuery.Projection
+
+toString() - Method in class com.google.gcloud.datastore.StructuredQuery.PropertyFilter
+
+toString() - Method in class com.google.gcloud.RetryHelper
+
+toString() - Method in class com.google.gcloud.RetryParams
+
+toString() - Method in class com.google.gcloud.storage.Acl.Entity
+
+toString() - Method in class com.google.gcloud.storage.BatchResponse.Result
+
+toString() - Method in class com.google.gcloud.storage.BlobInfo
+
+toString() - Method in class com.google.gcloud.storage.BucketInfo.Location
+
+toString() - Method in class com.google.gcloud.storage.BucketInfo.StorageClass
+
+toString() - Method in class com.google.gcloud.storage.BucketInfo
+
+toString() - Method in class com.google.gcloud.storage.Cors.Origin
+
+totalRetryPeriodMillis(long) - Method in class com.google.gcloud.RetryParams.Builder
+
+Sets totalRetryPeriodMillis.
+
+toUpdate() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+toUpdate - Variable in class com.google.gcloud.spi.StorageRpc.BatchRequest
+
+toUpdate() - Method in class com.google.gcloud.storage.BatchRequest
+
+toUrlSafe() - Method in class com.google.gcloud.datastore.Cursor
+
+Returns the cursor in an encoded form that can be used as part of a URL.
+
+toUrlSafe() - Method in class com.google.gcloud.datastore.Key
+
+Returns the key in an encoded form that can be used as part of a URL.
+
+Transaction - Interface in com.google.gcloud.datastore
+
+A Google cloud datastore transaction.
+
+Transaction.Response - Interface in com.google.gcloud.datastore
+
+TransactionOption - Class in com.google.gcloud.datastore
+
+TransactionOption.ForceWrites - Class in com.google.gcloud.datastore
+
+TransactionOption.IsolationLevel - Class in com.google.gcloud.datastore
+
+TransactionOption.IsolationLevel.Level - Enum in com.google.gcloud.datastore
+
+type() - Method in class com.google.gcloud.datastore.Value
+
+type() - Method in class com.google.gcloud.storage.Acl.Entity
+
+type() - Method in class com.google.gcloud.storage.BucketInfo.DeleteRule
+
+
+
+
+
+
U
+
+update(Entity...) - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+update(Entity...) - Method in interface com.google.gcloud.datastore.Datastore
+
+A Datastore update operation.
+
+update(Entity...) - Method in interface com.google.gcloud.datastore.DatastoreWriter
+
+A Datastore update operation.
+
+update(BlobInfo, Storage.BlobTargetOption...) - Method in class com.google.gcloud.storage.BatchRequest.Builder
+
+Update the given blob.
+
+update(BucketInfo, Storage.BucketTargetOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Update bucket information.
+
+update(BlobInfo, Storage.BlobTargetOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Update blob information.
+
+updates - Variable in class com.google.gcloud.spi.StorageRpc.BatchResponse
+
+updates() - Method in class com.google.gcloud.storage.BatchResponse
+
+Returns the results for the update operations using the request order.
+
+updateTime() - Method in class com.google.gcloud.storage.BlobInfo
+
+us() - Static method in class com.google.gcloud.storage.BucketInfo.Location
+
+User(String) - Constructor for class com.google.gcloud.storage.Acl.User
+
+
+
+
+
+
V
+
+validateActive() - Method in class com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+Value <V > - Class in com.google.gcloud.datastore
+
+Base class for all Google Cloud Datastore value types.
+
+value() - Method in enum com.google.gcloud.spi.StorageRpc.Option
+
+value() - Method in class com.google.gcloud.storage.Acl.Entity
+
+value() - Method in class com.google.gcloud.storage.BucketInfo.Location
+
+value() - Method in class com.google.gcloud.storage.BucketInfo.StorageClass
+
+value() - Method in class com.google.gcloud.storage.Cors.Origin
+
+ValueBuilder <V ,P extends Value <V >,B extends ValueBuilder <V ,P ,B >> - Interface in com.google.gcloud.datastore
+
+A common interface for Value builders.
+
+valueOf(String) - Static method in enum com.google.gcloud.datastore.DatastoreException.Code
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.datastore.StructuredQuery.OrderBy.Direction
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.datastore.StructuredQuery.Projection.Aggregate
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.datastore.TransactionOption.IsolationLevel.Level
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.datastore.ValueType
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.ExceptionHandler.Interceptor.RetryResult
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.spi.StorageRpc.Option
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.Acl.Entity.Type
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.Acl.Project.ProjectRole
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.Acl.Role
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.BucketInfo.DeleteRule.Type
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.BucketInfo.Location.Option
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.BucketInfo.StorageClass.Option
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.HttpMethod
+
+Returns the enum constant of this type with the specified name.
+
+valueOf(String) - Static method in enum com.google.gcloud.storage.Storage.PredefinedAcl
+
+Returns the enum constant of this type with the specified name.
+
+values() - Static method in enum com.google.gcloud.datastore.DatastoreException.Code
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.datastore.StructuredQuery.OrderBy.Direction
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.datastore.StructuredQuery.Projection.Aggregate
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.datastore.TransactionOption.IsolationLevel.Level
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.datastore.ValueType
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.ExceptionHandler.Interceptor.RetryResult
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.spi.StorageRpc.Option
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.Acl.Entity.Type
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.Acl.Project.ProjectRole
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.Acl.Role
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.BucketInfo.DeleteRule.Type
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.BucketInfo.Location.Option
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.BucketInfo.StorageClass.Option
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.HttpMethod
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+values() - Static method in enum com.google.gcloud.storage.Storage.PredefinedAcl
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+ValueType - Enum in com.google.gcloud.datastore
+
+The type of a Datastore property.
+
+versioningEnabled(Boolean) - Method in class com.google.gcloud.storage.BucketInfo.Builder
+
+versioningEnabled() - Method in class com.google.gcloud.storage.BucketInfo
+
+
+
+
+
+
W
+
+withContentType() - Static method in class com.google.gcloud.storage.Storage.SignUrlOption
+
+Use it if signature should include the blob's content-type.
+
+withMd5() - Static method in class com.google.gcloud.storage.Storage.SignUrlOption
+
+Use it if signature should include the blob's md5.
+
+write(String, byte[], int, StorageObject, long, int, boolean) - Method in class com.google.gcloud.spi.DefaultStorageRpc
+
+write(String, byte[], int, StorageObject, long, int, boolean) - Method in interface com.google.gcloud.spi.StorageRpc
+
+writer(BlobInfo, Storage.BlobTargetOption...) - Method in interface com.google.gcloud.storage.Storage
+
+Create a blob and return a channel for writing its content.
+
+
+
+
+
+
X
+
+x() - Method in class com.google.gcloud.spi.StorageRpc.Tuple
+
+
+
+
+
+
Y
+
+y() - Method in class com.google.gcloud.spi.StorageRpc.Tuple
+
+
+
A B C D E F G H I K L M N O P Q R S T U V W X Y
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/index.html b/site/0.0.7/apidocs/index.html
new file mode 100644
index 000000000000..b4cee0a52eec
--- /dev/null
+++ b/site/0.0.7/apidocs/index.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+GCloud Java 0.0.7-SNAPSHOT API
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+Frame Alert
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to Non-frame version .
+
+
+
diff --git a/site/0.0.7/apidocs/overview-frame.html b/site/0.0.7/apidocs/overview-frame.html
new file mode 100644
index 000000000000..19d60080149d
--- /dev/null
+++ b/site/0.0.7/apidocs/overview-frame.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+Overview List (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/apidocs/overview-summary.html b/site/0.0.7/apidocs/overview-summary.html
new file mode 100644
index 000000000000..87a2f69a6b3d
--- /dev/null
+++ b/site/0.0.7/apidocs/overview-summary.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+Overview (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/overview-tree.html b/site/0.0.7/apidocs/overview-tree.html
new file mode 100644
index 000000000000..42a0f56ceff7
--- /dev/null
+++ b/site/0.0.7/apidocs/overview-tree.html
@@ -0,0 +1,483 @@
+
+
+
+
+
+
+Class Hierarchy (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
Class Hierarchy
+
+
Interface Hierarchy
+
+
Enum Hierarchy
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/package-list b/site/0.0.7/apidocs/package-list
new file mode 100644
index 000000000000..a46b575328b1
--- /dev/null
+++ b/site/0.0.7/apidocs/package-list
@@ -0,0 +1,5 @@
+com.google.gcloud
+com.google.gcloud.datastore
+com.google.gcloud.examples
+com.google.gcloud.spi
+com.google.gcloud.storage
diff --git a/site/0.0.7/apidocs/script.js b/site/0.0.7/apidocs/script.js
new file mode 100644
index 000000000000..b34635693143
--- /dev/null
+++ b/site/0.0.7/apidocs/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+ count = 0;
+ for (var key in methods) {
+ var row = document.getElementById(key);
+ if ((methods[key] & type) != 0) {
+ row.style.display = '';
+ row.className = (count++ % 2) ? rowColor : altColor;
+ }
+ else
+ row.style.display = 'none';
+ }
+ updateTabs(type);
+}
+
+function updateTabs(type)
+{
+ for (var value in tabs) {
+ var sNode = document.getElementById(tabs[value][0]);
+ var spanNode = sNode.firstChild;
+ if (value == type) {
+ sNode.className = activeTableTab;
+ spanNode.innerHTML = tabs[value][1];
+ }
+ else {
+ sNode.className = tableTab;
+ spanNode.innerHTML = "" + tabs[value][1] + " ";
+ }
+ }
+}
diff --git a/site/0.0.7/apidocs/serialized-form.html b/site/0.0.7/apidocs/serialized-form.html
new file mode 100644
index 000000000000..c544cffc74c5
--- /dev/null
+++ b/site/0.0.7/apidocs/serialized-form.html
@@ -0,0 +1,1679 @@
+
+
+
+
+
+
+Serialized Form (GCloud Java 0.0.7-SNAPSHOT API)
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2015 Google. All rights reserved.
+
+
diff --git a/site/0.0.7/apidocs/stylesheet.css b/site/0.0.7/apidocs/stylesheet.css
new file mode 100644
index 000000000000..cebb4fd8d562
--- /dev/null
+++ b/site/0.0.7/apidocs/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+ background-color:#ffffff;
+ color:#353833;
+ font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+ font-size:14px;
+ margin:0;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:#4A6782;
+}
+a:hover, a:focus {
+ text-decoration:none;
+ color:#bb7a2a;
+}
+a:active {
+ text-decoration:none;
+ color:#4A6782;
+}
+a[name] {
+ color:#353833;
+}
+a[name]:hover {
+ text-decoration:none;
+ color:#353833;
+}
+pre {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+}
+h1 {
+ font-size:20px;
+}
+h2 {
+ font-size:18px;
+}
+h3 {
+ font-size:16px;
+ font-style:italic;
+}
+h4 {
+ font-size:13px;
+}
+h5 {
+ font-size:12px;
+}
+h6 {
+ font-size:11px;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ padding-top:4px;
+}
+table tr td dt code {
+ font-family:'DejaVu Sans Mono', monospace;
+ font-size:14px;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+ clear:both;
+ height:0px;
+ overflow:hidden;
+}
+.aboutLanguage {
+ float:right;
+ padding:0px 21px;
+ font-size:11px;
+ z-index:200;
+ margin-top:-9px;
+}
+.legalCopy {
+ margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+ color:#FFFFFF;
+ text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+ color:#bb7a2a;
+}
+.tab {
+ background-color:#0066FF;
+ color:#ffffff;
+ padding:8px;
+ width:5em;
+ font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ padding:.8em .5em .4em .8em;
+ height:auto;/*height:1.8em;*/
+ font-size:11px;
+ margin:0;
+}
+.topNav {
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.bottomNav {
+ margin-top:10px;
+ background-color:#4D7A97;
+ color:#FFFFFF;
+ float:left;
+ padding:0;
+ width:100%;
+ clear:right;
+ height:2.8em;
+ padding-top:10px;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav {
+ background-color:#dee3e9;
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:12px;
+}
+.subNav div {
+ clear:left;
+ float:left;
+ padding:0 0 5px 6px;
+ text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.navList li{
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+ul.subNavList li{
+ list-style:none;
+ float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+ color:#FFFFFF;
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+ text-decoration:none;
+ color:#bb7a2a;
+ text-transform:uppercase;
+}
+.navBarCell1Rev {
+ background-color:#F8981D;
+ color:#253441;
+ margin: auto 5px;
+}
+.skipNav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+ clear:both;
+ margin:0 20px;
+ padding:5px 0 0 0;
+}
+.indexHeader {
+ margin:10px;
+ position:relative;
+}
+.indexHeader span{
+ margin-right:15px;
+}
+.indexHeader h1 {
+ font-size:13px;
+}
+.title {
+ color:#2c4557;
+ margin:10px 0;
+}
+.subTitle {
+ margin:5px 0 0 0;
+}
+.header ul {
+ margin:0 0 15px 0;
+ padding:0;
+}
+.footer ul {
+ margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+ list-style:none;
+ font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ background-color:#dee3e9;
+ border:1px solid #d0d9e0;
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+ padding:0;
+ margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+ padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+.indexContainer {
+ margin:10px;
+ position:relative;
+ font-size:12px;
+}
+.indexContainer h2 {
+ font-size:13px;
+ padding:0 0 3px 0;
+}
+.indexContainer ul {
+ margin:0;
+ padding:0;
+}
+.indexContainer ul li {
+ list-style:none;
+ padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+ font-size:12px;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+ margin:5px 0 10px 0px;
+ font-size:14px;
+ font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+ul.inheritance {
+ margin:0;
+ padding:0;
+}
+ul.inheritance li {
+ display:inline;
+ list-style:none;
+}
+ul.inheritance li ul.inheritance {
+ margin-left:15px;
+ padding-left:15px;
+ padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+ padding:0px 20px 5px 10px;
+ border:1px solid #ededed;
+ background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+ padding:0 0 5px 8px;
+ background-color:#ffffff;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+ margin-left:0;
+ padding-left:0;
+ padding-bottom:15px;
+ border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+ list-style:none;
+ border-bottom:none;
+ padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+ width:100%;
+ border-left:1px solid #EEE;
+ border-right:1px solid #EEE;
+ border-bottom:1px solid #EEE;
+}
+.overviewSummary, .memberSummary {
+ padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:#253441;
+ font-weight:bold;
+ clear:none;
+ overflow:hidden;
+ padding:0px;
+ padding-top:10px;
+ padding-left:1px;
+ margin:0px;
+ white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+ color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ padding-bottom:7px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ border: none;
+ height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#F8981D;
+ height:16px;
+}
+.memberSummary caption span.tableTab span {
+ white-space:nowrap;
+ padding-top:5px;
+ padding-left:12px;
+ padding-right:12px;
+ margin-right:3px;
+ display:inline-block;
+ float:left;
+ background-color:#4D7A97;
+ height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+ padding-top:0px;
+ padding-left:0px;
+ padding-right:0px;
+ background-image:none;
+ float:none;
+ display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+ display:none;
+ width:5px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ float:left;
+ background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+ display:none;
+ width:5px;
+ margin-right:3px;
+ position:relative;
+ background-color:#4D7A97;
+ float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+ text-align:left;
+ padding:0px 0px 12px 10px;
+ width:100%;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+ vertical-align:top;
+ padding-right:0px;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+ background:#dee3e9;
+ text-align:left;
+ padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+ white-space:nowrap;
+ font-size:13px;
+}
+td.colLast, th.colLast {
+ font-size:13px;
+}
+td.colOne, th.colOne {
+ font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+ width:25%;
+ vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+ font-weight:bold;
+}
+.tableSubHeadingColor {
+ background-color:#EEEEFF;
+}
+.altColor {
+ background-color:#FFFFFF;
+}
+.rowColor {
+ background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+ margin-top:0;
+}
+.deprecatedContent {
+ margin:0;
+ padding:10px 0;
+}
+.docSummary {
+ padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+ font-style:normal;
+}
+
+div.block {
+ font-size:14px;
+ font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+ padding-top:0px;
+}
+
+
+td.colLast a {
+ padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+ color:green;
+ padding:0 30px 0 0;
+}
+h1.hidden {
+ visibility:hidden;
+ overflow:hidden;
+ font-size:10px;
+}
+.block {
+ display:block;
+ margin:3px 10px 2px 0px;
+ color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+ font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+ font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+ font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+ padding-bottom:0px;
+}
diff --git a/site/0.0.7/changelog.html b/site/0.0.7/changelog.html
new file mode 100644
index 000000000000..6788b1e03240
--- /dev/null
+++ b/site/0.0.7/changelog.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 7 Total number of files changed: 52
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/checkstyle-aggregate.html b/site/0.0.7/checkstyle-aggregate.html
new file mode 100644
index 000000000000..6094f0b44b40
--- /dev/null
+++ b/site/0.0.7/checkstyle-aggregate.html
@@ -0,0 +1,1271 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle 6.8.1 with checkstyle.xml ruleset.
+
+
Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+87
+0
+87
+0
+
+
+
Rules
+
+
+Category
+Rule
+Violations
+Severity
+
+coding
+OverloadMethodsDeclarationOrder
+5
+ Warning
+
+
+VariableDeclarationUsageDistance
+1
+ Warning
+
+indentation
+Indentation
+
+throwsIndent: "4"
+arrayInitIndent: "2"
+caseIndent: "2"
+basicOffset: "2"
+braceAdjustment: "0"
+lineWrappingIndentation: "4"
+4
+ Warning
+
+javadoc
+JavadocMethod
+
+scope: "public"
+allowMissingThrowsTags: "true"
+allowThrowsTagsForSubclasses: "true"
+allowMissingReturnTag: "true"
+allowMissingParamTags: "true"
+minLineCount: "2"
+allowedAnnotations: "Override, Test"
+32
+ Warning
+
+
+JavadocParagraph
+8
+ Warning
+
+modifier
+ModifierOrder
+7
+ Warning
+
+naming
+LocalVariableName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9]*$"
+allowOneCharVarInForLoop: "true"
+tokens: "VARIABLE_DEF"
+1
+ Warning
+
+
+MemberName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9]*$"
+3
+ Warning
+
+
+MethodName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9_]*$"
+2
+ Warning
+
+
+ParameterName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9]*$"
+9
+ Warning
+
+sizes
+LineLength
+
+max: "100"
+ignorePattern: "^package.*|^import.*|a href|href|http://|https://|ftp://"
+3
+ Warning
+
+whitespace
+EmptyLineSeparator
+
+allowNoEmptyLineBetweenFields: "true"
+2
+ Warning
+
+
+OperatorWrap
+
+tokens: "BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "
+option: "NL"
+2
+ Warning
+
+
+WhitespaceAround
+
+allowEmptyConstructors: "true"
+allowEmptyMethods: "true"
+allowEmptyLoops: "true"
+allowEmptyTypes: "true"
+1
+ Warning
+
+
Details
+
+
com/google/gcloud/AuthCredentials.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+indentation
+Indentation
+'catch' child have incorrect indentation level 7, expected level should be 8.
+136
+
+
com/google/gcloud/ServiceOptions.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+indentation
+Indentation
+'member def type' have incorrect indentation level 3, expected level should be 4.
+216
+
+ Warning
+indentation
+Indentation
+'method def' child have incorrect indentation level 3, expected level should be 4.
+216
+
+
com/google/gcloud/datastore/BaseEntity.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '83'.
+105
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '79'.
+110
+
+
com/google/gcloud/datastore/Blob.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+138
+
+
+
com/google/gcloud/datastore/DatastoreBatchWriter.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+50
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+60
+
+
com/google/gcloud/datastore/DatastoreImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '207'.
+217
+
+
com/google/gcloud/datastore/DateTime.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+82
+
+
com/google/gcloud/datastore/GqlQuery.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+189
+
+ Warning
+naming
+LocalVariableName
+Local variable name 'v' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
+298
+
+
+
+
com/google/gcloud/datastore/ListValue.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+73
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+80
+
+
com/google/gcloud/datastore/PathElement.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+120
+
+
com/google/gcloud/datastore/StructuredQuery.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+228
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+581
+
+
+
+
com/google/gcloud/spi/DatastoreRpc.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+whitespace
+EmptyLineSeparator
+'package' should be separated from previous statement.
+16
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+86
+
+
com/google/gcloud/spi/DefaultDatastoreRpc.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+64
+
+
+
+
+
com/google/gcloud/storage/BatchResponse.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+116
+
+
com/google/gcloud/storage/BlobInfo.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+224
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+344
+
+
com/google/gcloud/storage/BlobReadChannel.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+26
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+28
+
+
com/google/gcloud/storage/BlobWriteChannel.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+25
+
+
com/google/gcloud/storage/BucketInfo.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+modifier
+ModifierOrder
+'abstract' modifier out of order with the JLS suggestions.
+89
+
+ Warning
+modifier
+ModifierOrder
+'static' modifier out of order with the JLS suggestions.
+399
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+589
+
+
com/google/gcloud/storage/Cors.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+76
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+84
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+171
+
+
com/google/gcloud/storage/ListResult.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+40
+
+
com/google/gcloud/storage/Option.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+27
+
+
com/google/gcloud/storage/StorageException.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+32
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/checkstyle.rss b/site/0.0.7/checkstyle.rss
new file mode 100644
index 000000000000..158c11b6738e
--- /dev/null
+++ b/site/0.0.7/checkstyle.rss
@@ -0,0 +1,1272 @@
+
+
+
+
+ GCloud Java - Checkstyle report
+ https://github.com/GoogleCloudPlatform/gcloud-java
+ GCloud Java - Checkstyle report
+ en-us
+ ©2015 Google
+ -
+
File: 87,
+ Errors: 0,
+ Warnings: 87,
+ Infos: 0
+
+ https://github.com/GoogleCloudPlatform/gcloud-java/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.AuthCredentials.html b/site/0.0.7/cobertura/com.google.gcloud.AuthCredentials.html
new file mode 100644
index 000000000000..3efd9263554d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.AuthCredentials.html
@@ -0,0 +1,402 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.AuthCredentials
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
+ 22
+ import com.google.api.client.googleapis.compute.ComputeCredential;
+ 23
+ import com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential;
+ 24
+ import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
+ 25
+ import com.google.api.client.http.HttpRequestInitializer;
+ 26
+ import com.google.api.client.http.HttpTransport;
+ 27
+ import com.google.api.client.http.javanet.NetHttpTransport;
+ 28
+ import com.google.api.client.json.jackson.JacksonFactory;
+ 29
+ import com.google.auth.http.HttpCredentialsAdapter;
+ 30
+ import com.google.auth.oauth2.GoogleCredentials;
+ 31
+
+ 32
+ import java.io.IOException;
+ 33
+ import java.io.ObjectInputStream;
+ 34
+ import java.io.ObjectStreamException;
+ 35
+ import java.io.Serializable;
+ 36
+ import java.security.GeneralSecurityException;
+ 37
+ import java.security.PrivateKey;
+ 38
+ import java.util.Objects;
+ 39
+ import java.util.Set;
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ public abstract class AuthCredentials implements Serializable {
+ 45
+
+ 46
+ private static final long serialVersionUID = 236297804453464604L;
+ 47
+
+ 48 0 private static class AppEngineAuthCredentials extends AuthCredentials {
+ 49
+
+ 50
+ private static final long serialVersionUID = 7931300552744202954L;
+ 51
+
+ 52 0 private static final AuthCredentials INSTANCE = new AppEngineAuthCredentials();
+ 53
+
+ 54
+ @Override
+ 55
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 56
+ Set<String> scopes) {
+ 57 0 return new AppIdentityCredential(scopes);
+ 58
+ }
+ 59
+
+ 60
+ private Object readResolve() throws ObjectStreamException {
+ 61 0 return INSTANCE;
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65 0 public static class ServiceAccountAuthCredentials extends AuthCredentials {
+ 66
+
+ 67
+ private static final long serialVersionUID = 8007708734318445901L;
+ 68
+ private final String account;
+ 69
+ private final PrivateKey privateKey;
+ 70
+
+ 71 0 private static final AuthCredentials NO_CREDENTIALS = new ServiceAccountAuthCredentials();
+ 72
+
+ 73 0 ServiceAccountAuthCredentials(String account, PrivateKey privateKey) {
+ 74 0 this .account = checkNotNull(account);
+ 75 0 this .privateKey = checkNotNull(privateKey);
+ 76 0 }
+ 77
+
+ 78
+ ServiceAccountAuthCredentials() {
+ 79
+ account = null ;
+ 80
+ privateKey = null ;
+ 81
+ }
+ 82
+
+ 83
+ @Override
+ 84
+ protected HttpRequestInitializer httpRequestInitializer(
+ 85
+ HttpTransport transport, Set<String> scopes) {
+ 86 0 GoogleCredential.Builder builder = new GoogleCredential.Builder()
+ 87 0 .setTransport(transport)
+ 88 0 .setJsonFactory(new JacksonFactory());
+ 89 0 if (privateKey != null ) {
+ 90 0 builder.setServiceAccountPrivateKey(privateKey);
+ 91 0 builder.setServiceAccountId(account);
+ 92 0 builder.setServiceAccountScopes(scopes);
+ 93
+ }
+ 94 0 return builder.build();
+ 95
+ }
+ 96
+
+ 97
+ public String account() {
+ 98 0 return account;
+ 99
+ }
+ 100
+
+ 101
+ public PrivateKey privateKey() {
+ 102 0 return privateKey;
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ public int hashCode() {
+ 107 0 return Objects.hash(account, privateKey);
+ 108
+ }
+ 109
+
+ 110
+ @Override
+ 111
+ public boolean equals(Object obj) {
+ 112 0 if (!(obj instanceof ServiceAccountAuthCredentials)) {
+ 113 0 return false ;
+ 114
+ }
+ 115 0 ServiceAccountAuthCredentials other = (ServiceAccountAuthCredentials) obj;
+ 116 0 return Objects.equals(account, other.account)
+ 117 0 && Objects.equals(privateKey, other.privateKey);
+ 118
+ }
+ 119
+ }
+ 120
+
+ 121
+ private static class ComputeEngineAuthCredentials extends AuthCredentials {
+ 122
+
+ 123
+ private static final long serialVersionUID = -5217355402127260144L;
+ 124
+
+ 125
+ private transient ComputeCredential computeCredential;
+ 126
+
+ 127 0 ComputeEngineAuthCredentials() throws IOException, GeneralSecurityException {
+ 128 0 computeCredential = getComputeCredential();
+ 129 0 }
+ 130
+
+ 131
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 132 0 in.defaultReadObject();
+ 133
+ try {
+ 134 0 computeCredential = getComputeCredential();
+ 135 0 } catch (GeneralSecurityException e) {
+ 136 0 throw new IOException(e);
+ 137 0 }
+ 138 0 }
+ 139
+
+ 140
+ @Override
+ 141
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 142
+ Set<String> scopes) {
+ 143 0 return computeCredential;
+ 144
+ }
+ 145
+ }
+ 146
+
+ 147
+ private static class ApplicationDefaultAuthCredentials extends AuthCredentials {
+ 148
+
+ 149
+ private static final long serialVersionUID = -8306873864136099893L;
+ 150
+
+ 151
+ private transient GoogleCredentials googleCredentials;
+ 152
+
+ 153 0 ApplicationDefaultAuthCredentials() throws IOException {
+ 154 0 googleCredentials = GoogleCredentials.getApplicationDefault();
+ 155 0 }
+ 156
+
+ 157
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 158 0 in.defaultReadObject();
+ 159 0 googleCredentials = GoogleCredentials.getApplicationDefault();
+ 160 0 }
+ 161
+
+ 162
+ @Override
+ 163
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 164
+ Set<String> scopes) {
+ 165 0 return new HttpCredentialsAdapter(googleCredentials);
+ 166
+ }
+ 167
+ }
+ 168
+
+ 169
+ protected abstract HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 170
+ Set<String> scopes);
+ 171
+
+ 172
+ public static AuthCredentials createForAppEngine() {
+ 173 0 return AppEngineAuthCredentials.INSTANCE;
+ 174
+ }
+ 175
+
+ 176
+ public static AuthCredentials createForComputeEngine()
+ 177
+ throws IOException, GeneralSecurityException {
+ 178 0 return new ComputeEngineAuthCredentials();
+ 179
+ }
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185
+
+ 186
+
+ 187
+
+ 188
+
+ 189
+
+ 190
+
+ 191
+
+ 192
+
+ 193
+ public static AuthCredentials createApplicationDefaults() throws IOException {
+ 194 0 return new ApplicationDefaultAuthCredentials();
+ 195
+ }
+ 196
+
+ 197
+ public static ServiceAccountAuthCredentials createFor(String account, PrivateKey privateKey) {
+ 198 0 return new ServiceAccountAuthCredentials(account, privateKey);
+ 199
+ }
+ 200
+
+ 201
+ public static AuthCredentials noCredentials() {
+ 202 0 return ServiceAccountAuthCredentials.NO_CREDENTIALS;
+ 203
+ }
+ 204
+
+ 205
+ static ComputeCredential getComputeCredential() throws IOException, GeneralSecurityException {
+ 206 0 NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
+ 207
+
+ 208 0 ComputeCredential credential = new ComputeCredential(transport, new JacksonFactory());
+ 209
+
+ 210 0 credential.refreshToken();
+ 211 0 return credential;
+ 212
+ }
+ 213
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.BaseService.html b/site/0.0.7/cobertura/com.google.gcloud.BaseService.html
new file mode 100644
index 000000000000..a3a438a0b139
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.BaseService.html
@@ -0,0 +1,87 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.BaseService
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ public abstract class BaseService<OptionsT extends ServiceOptions<?, OptionsT>>
+ 20
+ implements Service<OptionsT> {
+ 21
+
+ 22
+ private final OptionsT options;
+ 23
+
+ 24
+ protected BaseService(OptionsT options) {
+ 25
+ this .options = options;
+ 26
+ }
+ 27
+
+ 28
+ @Override
+ 29
+ public OptionsT options() {
+ 30 0 return options;
+ 31
+ }
+ 32
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.ExceptionHandler.html b/site/0.0.7/cobertura/com.google.gcloud.ExceptionHandler.html
new file mode 100644
index 000000000000..788357734d61
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.ExceptionHandler.html
@@ -0,0 +1,499 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.ExceptionHandler
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.common.annotations.VisibleForTesting;
+ 23
+ import com.google.common.base.Preconditions;
+ 24
+ import com.google.common.collect.ImmutableList;
+ 25
+ import com.google.common.collect.ImmutableSet;
+ 26
+ import com.google.common.collect.Sets;
+ 27
+
+ 28
+ import java.io.Serializable;
+ 29
+ import java.lang.reflect.Method;
+ 30
+ import java.util.Set;
+ 31
+ import java.util.concurrent.Callable;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 public final class ExceptionHandler implements Serializable {
+ 37
+
+ 38
+ private static final long serialVersionUID = -2460707015779532919L;
+ 39
+
+ 40 0 private static final ExceptionHandler DEFAULT_INSTANCE =
+ 41 0 builder().retryOn(Exception.class ).abortOn(RuntimeException.class ).build();
+ 42
+
+ 43
+ private final ImmutableList<Interceptor> interceptors;
+ 44
+ private final ImmutableSet<Class<? extends Exception>> retriableExceptions;
+ 45
+ private final ImmutableSet<Class<? extends Exception>> nonRetriableExceptions;
+ 46 0 private final Set<RetryInfo> retryInfo = Sets.newHashSet();
+ 47
+
+ 48
+ public interface Interceptor extends Serializable {
+ 49
+
+ 50 0 enum RetryResult {
+ 51
+
+ 52 0 RETRY(true ), ABORT(false );
+ 53
+
+ 54
+ private final boolean booleanValue;
+ 55
+
+ 56
+ RetryResult(boolean booleanValue) {
+ 57
+ this .booleanValue = booleanValue;
+ 58
+ }
+ 59
+
+ 60
+ boolean booleanValue() {
+ 61 0 return booleanValue;
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+ RetryResult beforeEval(Exception exception);
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+ RetryResult afterEval(Exception exception, RetryResult retryResult);
+ 85
+ }
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90 0 public static class Builder {
+ 91
+
+ 92 0 private final ImmutableList.Builder<Interceptor> interceptors = ImmutableList.builder();
+ 93 0 private final ImmutableSet.Builder<Class<? extends Exception>> retriableExceptions =
+ 94 0 ImmutableSet.builder();
+ 95 0 private final ImmutableSet.Builder<Class<? extends Exception>> nonRetriableExceptions =
+ 96 0 ImmutableSet.builder();
+ 97
+
+ 98 0 private Builder() {}
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+ public Builder interceptor(Interceptor... interceptors) {
+ 108 0 for (Interceptor interceptor : interceptors) {
+ 109 0 this .interceptors.add(interceptor);
+ 110
+ }
+ 111 0 return this ;
+ 112
+ }
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+ @SafeVarargs
+ 121
+ public final Builder retryOn(Class<? extends Exception>... exceptions) {
+ 122 0 for (Class<? extends Exception> exception : exceptions) {
+ 123 0 retriableExceptions.add(checkNotNull(exception));
+ 124
+ }
+ 125 0 return this ;
+ 126
+ }
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+ @SafeVarargs
+ 135
+ public final Builder abortOn(Class<? extends Exception>... exceptions) {
+ 136 0 for (Class<? extends Exception> exception : exceptions) {
+ 137 0 nonRetriableExceptions.add(checkNotNull(exception));
+ 138
+ }
+ 139 0 return this ;
+ 140
+ }
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+ public ExceptionHandler build() {
+ 146 0 return new ExceptionHandler(this );
+ 147
+ }
+ 148
+ }
+ 149
+
+ 150
+ @VisibleForTesting
+ 151 0 static final class RetryInfo implements Serializable {
+ 152
+
+ 153
+ private static final long serialVersionUID = -4264634837841455974L;
+ 154
+ private final Class<? extends Exception> exception;
+ 155
+ private final Interceptor.RetryResult retry;
+ 156 0 private final Set<RetryInfo> children = Sets.newHashSet();
+ 157
+
+ 158 0 RetryInfo(Class<? extends Exception> exception, Interceptor.RetryResult retry) {
+ 159 0 this .exception = checkNotNull(exception);
+ 160 0 this .retry = retry;
+ 161 0 }
+ 162
+
+ 163
+ @Override
+ 164
+ public int hashCode() {
+ 165 0 return exception.hashCode();
+ 166
+ }
+ 167
+
+ 168
+ @Override
+ 169
+ public boolean equals(Object obj) {
+ 170 0 if (obj == this ) {
+ 171 0 return true ;
+ 172
+ }
+ 173 0 if (!(obj instanceof RetryInfo)) {
+ 174 0 return false ;
+ 175
+ }
+ 176
+
+ 177 0 return ((RetryInfo) obj).exception.equals(exception);
+ 178
+ }
+ 179
+ }
+ 180
+
+ 181 0 private ExceptionHandler(Builder builder) {
+ 182 0 interceptors = builder.interceptors.build();
+ 183 0 retriableExceptions = builder.retriableExceptions.build();
+ 184 0 nonRetriableExceptions = builder.nonRetriableExceptions.build();
+ 185 0 Preconditions.checkArgument(
+ 186 0 Sets.intersection(retriableExceptions, nonRetriableExceptions).isEmpty(),
+ 187
+ "Same exception was found in both retryable and non-retryable sets" );
+ 188 0 for (Class<? extends Exception> exception : retriableExceptions) {
+ 189 0 addRetryInfo(new RetryInfo(exception, Interceptor.RetryResult.RETRY), retryInfo);
+ 190 0 }
+ 191 0 for (Class<? extends Exception> exception : nonRetriableExceptions) {
+ 192 0 addRetryInfo(new RetryInfo(exception, Interceptor.RetryResult.ABORT), retryInfo);
+ 193 0 }
+ 194 0 }
+ 195
+
+ 196
+ private static void addRetryInfo(RetryInfo retryInfo, Set<RetryInfo> dest) {
+ 197 0 for (RetryInfo current : dest) {
+ 198 0 if (current.exception.isAssignableFrom(retryInfo.exception)) {
+ 199 0 addRetryInfo(retryInfo, current.children);
+ 200 0 return ;
+ 201
+ }
+ 202 0 if (retryInfo.exception.isAssignableFrom(current.exception)) {
+ 203 0 retryInfo.children.add(current);
+ 204
+ }
+ 205 0 }
+ 206 0 dest.removeAll(retryInfo.children);
+ 207 0 dest.add(retryInfo);
+ 208 0 }
+ 209
+
+ 210
+ private static RetryInfo findMostSpecificRetryInfo(Set<RetryInfo> retryInfo,
+ 211
+ Class<? extends Exception> exception) {
+ 212 0 for (RetryInfo current : retryInfo) {
+ 213 0 if (current.exception.isAssignableFrom(exception)) {
+ 214 0 RetryInfo match = findMostSpecificRetryInfo(current.children, exception);
+ 215 0 return match == null ? current : match;
+ 216
+ }
+ 217 0 }
+ 218 0 return null ;
+ 219
+ }
+ 220
+
+ 221
+
+ 222
+ private static Method getCallableMethod(Class<?> clazz) {
+ 223
+ try {
+ 224 0 return clazz.getDeclaredMethod("call" );
+ 225 0 } catch (NoSuchMethodException e) {
+ 226
+
+ 227 0 return getCallableMethod(clazz.getSuperclass());
+ 228 0 } catch (SecurityException e) {
+ 229
+
+ 230 0 throw new IllegalStateException("Unexpected exception" , e);
+ 231
+ }
+ 232
+ }
+ 233
+
+ 234
+ void verifyCaller(Callable<?> callable) {
+ 235 0 Method callMethod = getCallableMethod(callable.getClass());
+ 236 0 for (Class<?> exceptionOrError : callMethod.getExceptionTypes()) {
+ 237 0 Preconditions.checkArgument(Exception.class .isAssignableFrom(exceptionOrError),
+ 238
+ "Callable method exceptions must be derived from Exception" );
+ 239
+ @SuppressWarnings("unchecked" )
+ 240 0 Class<? extends Exception> exception = (Class<? extends Exception>) exceptionOrError;
+ 241 0 Preconditions.checkArgument(findMostSpecificRetryInfo(retryInfo, exception) != null ,
+ 242
+ "Declared exception '" + exception + "' is not covered by exception handler" );
+ 243
+ }
+ 244 0 }
+ 245
+
+ 246
+ public Set<Class<? extends Exception>> getRetriableExceptions() {
+ 247
+ return retriableExceptions;
+ 248
+ }
+ 249
+
+ 250
+ public Set<Class<? extends Exception>> getNonRetriableExceptions() {
+ 251
+ return nonRetriableExceptions;
+ 252
+ }
+ 253
+
+ 254
+ boolean shouldRetry(Exception ex) {
+ 255 0 for (Interceptor interceptor : interceptors) {
+ 256 0 Interceptor.RetryResult retryResult = interceptor.beforeEval(ex);
+ 257 0 if (retryResult != null ) {
+ 258 0 return retryResult.booleanValue();
+ 259
+ }
+ 260 0 }
+ 261 0 RetryInfo retryInfo = findMostSpecificRetryInfo(this .retryInfo, ex.getClass());
+ 262 0 Interceptor.RetryResult retryResult =
+ 263 0 retryInfo == null ? Interceptor.RetryResult.ABORT : retryInfo.retry;
+ 264 0 for (Interceptor interceptor : interceptors) {
+ 265 0 retryResult = firstNonNull(interceptor.afterEval(ex, retryResult), retryResult);
+ 266 0 }
+ 267 0 return retryResult.booleanValue();
+ 268
+ }
+ 269
+
+ 270
+
+ 271
+
+ 272
+
+ 273
+ public static ExceptionHandler getDefaultInstance() {
+ 274 0 return DEFAULT_INSTANCE;
+ 275
+ }
+ 276
+
+ 277
+ public static Builder builder() {
+ 278 0 return new Builder();
+ 279
+ }
+ 280
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.RetryHelper.html b/site/0.0.7/cobertura/com.google.gcloud.RetryHelper.html
new file mode 100644
index 000000000000..d0829e303f93
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.RetryHelper.html
@@ -0,0 +1,466 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.RetryHelper
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static java.lang.StrictMath.max;
+ 21
+ import static java.lang.StrictMath.min;
+ 22
+ import static java.lang.StrictMath.pow;
+ 23
+ import static java.lang.StrictMath.random;
+ 24
+ import static java.util.concurrent.TimeUnit.MILLISECONDS;
+ 25
+
+ 26
+ import com.google.common.annotations.VisibleForTesting;
+ 27
+ import com.google.common.base.MoreObjects;
+ 28
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 29
+ import com.google.common.base.Stopwatch;
+ 30
+
+ 31
+ import java.io.InterruptedIOException;
+ 32
+ import java.nio.channels.ClosedByInterruptException;
+ 33
+ import java.util.concurrent.Callable;
+ 34
+ import java.util.logging.Level;
+ 35
+ import java.util.logging.Logger;
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public class RetryHelper<V> {
+ 45
+
+ 46 0 private static final Logger log = Logger.getLogger(RetryHelper.class .getName());
+ 47
+
+ 48
+ private final Stopwatch stopwatch;
+ 49
+ private final Callable<V> callable;
+ 50
+ private final RetryParams params;
+ 51
+ private final ExceptionHandler exceptionHandler;
+ 52
+ private int attemptNumber;
+ 53
+
+ 54
+
+ 55 0 private static final ThreadLocal<Context> context = new ThreadLocal<>();
+ 56
+
+ 57
+ public static class RetryHelperException extends RuntimeException {
+ 58
+
+ 59
+ private static final long serialVersionUID = -2907061015610448235L;
+ 60
+
+ 61
+ RetryHelperException() {}
+ 62
+
+ 63
+ RetryHelperException(String message) {
+ 64
+ super (message);
+ 65
+ }
+ 66
+
+ 67
+ RetryHelperException(Throwable cause) {
+ 68
+ super (cause);
+ 69
+ }
+ 70
+
+ 71
+ RetryHelperException(String message, Throwable cause) {
+ 72
+ super (message, cause);
+ 73
+ }
+ 74
+ }
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+ public static final class RetryInterruptedException extends RetryHelperException {
+ 81
+
+ 82
+ private static final long serialVersionUID = 1678966737697204885L;
+ 83
+
+ 84
+ RetryInterruptedException() {}
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ public static void propagate() throws RetryInterruptedException {
+ 90 0 Thread.currentThread().interrupt();
+ 91 0 throw new RetryInterruptedException();
+ 92
+ }
+ 93
+ }
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+ public static final class RetriesExhaustedException extends RetryHelperException {
+ 100
+
+ 101
+ private static final long serialVersionUID = 780199686075408083L;
+ 102
+
+ 103
+ RetriesExhaustedException(String message) {
+ 104
+ super (message);
+ 105
+ }
+ 106
+
+ 107
+ RetriesExhaustedException(String message, Throwable cause) {
+ 108
+ super (message, cause);
+ 109
+ }
+ 110
+ }
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+ public static final class NonRetriableException extends RetryHelperException {
+ 116
+
+ 117
+ private static final long serialVersionUID = -2331878521983499652L;
+ 118
+
+ 119
+ NonRetriableException(Throwable throwable) {
+ 120
+ super (throwable);
+ 121
+ }
+ 122
+ }
+ 123
+
+ 124
+ static class Context {
+ 125
+
+ 126
+ private final RetryHelper<?> helper;
+ 127
+
+ 128
+ Context(RetryHelper<?> helper) {
+ 129
+ this .helper = helper;
+ 130
+ }
+ 131
+
+ 132
+ public RetryParams getRetryParams() {
+ 133 0 return helper.params;
+ 134
+ }
+ 135
+
+ 136
+ public int getAttemptNumber() {
+ 137 0 return helper.attemptNumber;
+ 138
+ }
+ 139
+ }
+ 140
+
+ 141
+ @VisibleForTesting
+ 142
+ static void setContext(Context ctx) {
+ 143 0 if (ctx == null ) {
+ 144 0 context.remove();
+ 145
+ } else {
+ 146 0 context.set(ctx);
+ 147
+ }
+ 148 0 }
+ 149
+
+ 150
+ static Context getContext() {
+ 151 0 return context.get();
+ 152
+ }
+ 153
+
+ 154
+ @VisibleForTesting
+ 155
+ RetryHelper(Callable<V> callable, RetryParams params, ExceptionHandler exceptionHandler,
+ 156 0 Stopwatch stopwatch) {
+ 157 0 this .callable = checkNotNull(callable);
+ 158 0 this .params = checkNotNull(params);
+ 159 0 this .stopwatch = checkNotNull(stopwatch);
+ 160 0 this .exceptionHandler = checkNotNull(exceptionHandler);
+ 161 0 exceptionHandler.verifyCaller(callable);
+ 162 0 }
+ 163
+
+ 164
+ @Override
+ 165
+ public String toString() {
+ 166 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 167 0 toStringHelper.add("params" , params);
+ 168 0 toStringHelper.add("stopwatch" , stopwatch);
+ 169 0 toStringHelper.add("attemptNumber" , attemptNumber);
+ 170 0 toStringHelper.add("callable" , callable);
+ 171 0 toStringHelper.add("exceptionHandler" , exceptionHandler);
+ 172 0 return toStringHelper.toString();
+ 173
+ }
+ 174
+
+ 175
+ private V doRetry() throws RetryHelperException {
+ 176 0 stopwatch.start();
+ 177
+ while (true ) {
+ 178 0 attemptNumber++;
+ 179
+ Exception exception;
+ 180
+ try {
+ 181 0 V value = callable.call();
+ 182 0 if (attemptNumber > 1 && log.isLoggable(Level.FINE)) {
+ 183 0 log.fine(this + ": attempt #" + attemptNumber + " succeeded" );
+ 184
+ }
+ 185 0 return value;
+ 186 0 } catch (InterruptedException | InterruptedIOException | ClosedByInterruptException e) {
+ 187 0 if (!exceptionHandler.shouldRetry(e)) {
+ 188 0 RetryInterruptedException.propagate();
+ 189
+ }
+ 190 0 exception = e;
+ 191 0 } catch (Exception e) {
+ 192 0 if (!exceptionHandler.shouldRetry(e)) {
+ 193 0 throw new NonRetriableException(e);
+ 194
+ }
+ 195 0 exception = e;
+ 196 0 }
+ 197 0 if (attemptNumber >= params.getRetryMaxAttempts()
+ 198 0 || attemptNumber >= params.getRetryMinAttempts()
+ 199 0 && stopwatch.elapsed(MILLISECONDS) >= params.getTotalRetryPeriodMillis()) {
+ 200 0 throw new RetriesExhaustedException(this + ": Too many failures, giving up" , exception);
+ 201
+ }
+ 202 0 long sleepDurationMillis = getSleepDuration(params, attemptNumber);
+ 203 0 if (log.isLoggable(Level.FINE)) {
+ 204 0 log.fine(this + ": Attempt #" + attemptNumber + " failed [" + exception
+ 205
+ + "], sleeping for " + sleepDurationMillis + " ms" );
+ 206
+ }
+ 207
+ try {
+ 208 0 Thread.sleep(sleepDurationMillis);
+ 209 0 } catch (InterruptedException e) {
+ 210
+
+ 211 0 RetryInterruptedException.propagate();
+ 212 0 }
+ 213 0 }
+ 214
+ }
+ 215
+
+ 216
+ @VisibleForTesting
+ 217
+ static long getSleepDuration(RetryParams retryParams, int attemptsSoFar) {
+ 218 0 long initialDelay = retryParams.getInitialRetryDelayMillis();
+ 219 0 double backoffFactor = retryParams.getRetryDelayBackoffFactor();
+ 220 0 long maxDelay = retryParams.getMaxRetryDelayMillis();
+ 221 0 long retryDelay = getExponentialValue(initialDelay, backoffFactor, maxDelay, attemptsSoFar);
+ 222 0 return (long ) ((random() / 2.0 + .75) * retryDelay);
+ 223
+ }
+ 224
+
+ 225
+ private static long getExponentialValue(long initialDelay, double backoffFactor, long maxDelay,
+ 226
+ int attemptsSoFar) {
+ 227 0 return (long ) min(maxDelay, pow(backoffFactor, max(1, attemptsSoFar) - 1) * initialDelay);
+ 228
+ }
+ 229
+
+ 230
+ public static <V> V runWithRetries(Callable<V> callable) throws RetryHelperException {
+ 231 0 return runWithRetries(callable, RetryParams.getDefaultInstance(),
+ 232 0 ExceptionHandler.getDefaultInstance());
+ 233
+ }
+ 234
+
+ 235
+ public static <V> V runWithRetries(Callable<V> callable, RetryParams params,
+ 236
+ ExceptionHandler exceptionHandler) throws RetryHelperException {
+ 237 0 return runWithRetries(callable, params, exceptionHandler, Stopwatch.createUnstarted());
+ 238
+ }
+ 239
+
+ 240
+ @VisibleForTesting
+ 241
+ static <V> V runWithRetries(Callable<V> callable, RetryParams params,
+ 242
+ ExceptionHandler exceptionHandler, Stopwatch stopwatch) throws RetryHelperException {
+ 243 0 RetryHelper<V> retryHelper = new RetryHelper<>(callable, params, exceptionHandler, stopwatch);
+ 244 0 Context previousContext = getContext();
+ 245 0 setContext(new Context(retryHelper));
+ 246
+ try {
+ 247 0 return retryHelper.doRetry();
+ 248
+ } finally {
+ 249 0 setContext(previousContext);
+ 250
+ }
+ 251
+ }
+ 252
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.RetryParams.html b/site/0.0.7/cobertura/com.google.gcloud.RetryParams.html
new file mode 100644
index 000000000000..843df9f63e0f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.RetryParams.html
@@ -0,0 +1,542 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.RetryParams
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.common.base.MoreObjects;
+ 22
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.Objects;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47 0 public final class RetryParams implements Serializable {
+ 48
+
+ 49
+ private static final long serialVersionUID = -8492751576749007700L;
+ 50
+
+ 51
+ public static final int DEFAULT_RETRY_MIN_ATTEMPTS = 3;
+ 52
+ public static final int DEFAULT_RETRY_MAX_ATTEMPTS = 6;
+ 53
+ public static final long DEFAULT_INITIAL_RETRY_DELAY_MILLIS = 250L;
+ 54
+ public static final long DEFAULT_MAX_RETRY_DELAY_MILLIS = 10_000L;
+ 55
+ public static final double DEFAULT_RETRY_DELAY_BACKOFF_FACTOR = 2.0;
+ 56
+ public static final long DEFAULT_TOTAL_RETRY_PERIOD_MILLIS = 50_000L;
+ 57
+
+ 58
+ private final int retryMinAttempts;
+ 59
+ private final int retryMaxAttempts;
+ 60
+ private final long initialRetryDelayMillis;
+ 61
+ private final long maxRetryDelayMillis;
+ 62
+ private final double retryDelayBackoffFactor;
+ 63
+ private final long totalRetryPeriodMillis;
+ 64
+
+ 65 0 private static final RetryParams DEFAULT_INSTANCE = new RetryParams(new Builder());
+ 66 0 private static final RetryParams NO_RETRIES =
+ 67 0 builder().retryMaxAttempts(1).retryMinAttempts(1).build();
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73 0 public static final class Builder {
+ 74
+
+ 75
+ private int retryMinAttempts;
+ 76
+ private int retryMaxAttempts;
+ 77
+ private long initialRetryDelayMillis;
+ 78
+ private long maxRetryDelayMillis;
+ 79
+ private double retryDelayBackoffFactor;
+ 80
+ private long totalRetryPeriodMillis;
+ 81
+
+ 82
+ private Builder() {
+ 83 0 this (null );
+ 84 0 }
+ 85
+
+ 86 0 Builder(RetryParams retryParams) {
+ 87 0 if (retryParams == null ) {
+ 88 0 retryMinAttempts = DEFAULT_RETRY_MIN_ATTEMPTS;
+ 89 0 retryMaxAttempts = DEFAULT_RETRY_MAX_ATTEMPTS;
+ 90 0 initialRetryDelayMillis = DEFAULT_INITIAL_RETRY_DELAY_MILLIS;
+ 91 0 maxRetryDelayMillis = DEFAULT_MAX_RETRY_DELAY_MILLIS;
+ 92 0 retryDelayBackoffFactor = DEFAULT_RETRY_DELAY_BACKOFF_FACTOR;
+ 93 0 totalRetryPeriodMillis = DEFAULT_TOTAL_RETRY_PERIOD_MILLIS;
+ 94
+ } else {
+ 95 0 retryMinAttempts = retryParams.getRetryMinAttempts();
+ 96 0 retryMaxAttempts = retryParams.getRetryMaxAttempts();
+ 97 0 initialRetryDelayMillis = retryParams.getInitialRetryDelayMillis();
+ 98 0 maxRetryDelayMillis = retryParams.getMaxRetryDelayMillis();
+ 99 0 retryDelayBackoffFactor = retryParams.getRetryDelayBackoffFactor();
+ 100 0 totalRetryPeriodMillis = retryParams.getTotalRetryPeriodMillis();
+ 101
+ }
+ 102 0 }
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+
+ 110
+ public Builder retryMinAttempts(int retryMinAttempts) {
+ 111 0 this .retryMinAttempts = retryMinAttempts;
+ 112 0 return this ;
+ 113
+ }
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+ public Builder retryMaxAttempts(int retryMaxAttempts) {
+ 122 0 this .retryMaxAttempts = retryMaxAttempts;
+ 123 0 return this ;
+ 124
+ }
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+ public Builder initialRetryDelayMillis(long initialRetryDelayMillis) {
+ 133 0 this .initialRetryDelayMillis = initialRetryDelayMillis;
+ 134 0 return this ;
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+ public Builder maxRetryDelayMillis(long maxRetryDelayMillis) {
+ 144 0 this .maxRetryDelayMillis = maxRetryDelayMillis;
+ 145 0 return this ;
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+
+ 154
+ public Builder retryDelayBackoffFactor(double retryDelayBackoffFactor) {
+ 155 0 this .retryDelayBackoffFactor = retryDelayBackoffFactor;
+ 156 0 return this ;
+ 157
+ }
+ 158
+
+ 159
+
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+
+ 165
+ public Builder totalRetryPeriodMillis(long totalRetryPeriodMillis) {
+ 166 0 this .totalRetryPeriodMillis = totalRetryPeriodMillis;
+ 167 0 return this ;
+ 168
+ }
+ 169
+
+ 170
+
+ 171
+
+ 172
+
+ 173
+
+ 174
+
+ 175
+ public RetryParams build() {
+ 176 0 return new RetryParams(this );
+ 177
+ }
+ 178
+ }
+ 179
+
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185 0 private RetryParams(Builder builder) {
+ 186 0 retryMinAttempts = builder.retryMinAttempts;
+ 187 0 retryMaxAttempts = builder.retryMaxAttempts;
+ 188 0 initialRetryDelayMillis = builder.initialRetryDelayMillis;
+ 189 0 maxRetryDelayMillis = builder.maxRetryDelayMillis;
+ 190 0 retryDelayBackoffFactor = builder.retryDelayBackoffFactor;
+ 191 0 totalRetryPeriodMillis = builder.totalRetryPeriodMillis;
+ 192 0 checkArgument(retryMinAttempts >= 0, "retryMinAttempts must not be negative" );
+ 193 0 checkArgument(retryMaxAttempts >= retryMinAttempts,
+ 194
+ "retryMaxAttempts must not be smaller than retryMinAttempts" );
+ 195 0 checkArgument(initialRetryDelayMillis >= 0, "initialRetryDelayMillis must not be negative" );
+ 196 0 checkArgument(maxRetryDelayMillis >= initialRetryDelayMillis,
+ 197
+ "maxRetryDelayMillis must not be smaller than initialRetryDelayMillis" );
+ 198 0 checkArgument(retryDelayBackoffFactor >= 0, "retryDelayBackoffFactor must not be negative" );
+ 199 0 checkArgument(totalRetryPeriodMillis >= 0, "totalRetryPeriodMillis must not be negative" );
+ 200 0 }
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+ public static RetryParams getDefaultInstance() {
+ 206 0 return DEFAULT_INSTANCE;
+ 207
+ }
+ 208
+
+ 209
+ public static RetryParams noRetries() {
+ 210 0 return NO_RETRIES;
+ 211
+ }
+ 212
+
+ 213
+
+ 214
+
+ 215
+
+ 216
+ public int getRetryMinAttempts() {
+ 217
+ return retryMinAttempts;
+ 218
+ }
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+ public int getRetryMaxAttempts() {
+ 224
+ return retryMaxAttempts;
+ 225
+ }
+ 226
+
+ 227
+
+ 228
+
+ 229
+
+ 230
+ public long getInitialRetryDelayMillis() {
+ 231
+ return initialRetryDelayMillis;
+ 232
+ }
+ 233
+
+ 234
+
+ 235
+
+ 236
+
+ 237
+ public long getMaxRetryDelayMillis() {
+ 238
+ return maxRetryDelayMillis;
+ 239
+ }
+ 240
+
+ 241
+
+ 242
+
+ 243
+
+ 244
+ public double getRetryDelayBackoffFactor() {
+ 245
+ return retryDelayBackoffFactor;
+ 246
+ }
+ 247
+
+ 248
+
+ 249
+
+ 250
+
+ 251
+ public long getTotalRetryPeriodMillis() {
+ 252
+ return totalRetryPeriodMillis;
+ 253
+ }
+ 254
+
+ 255
+ @Override
+ 256
+ public int hashCode() {
+ 257 0 return Objects.hash(retryMinAttempts, retryMaxAttempts, initialRetryDelayMillis,
+ 258 0 maxRetryDelayMillis, retryDelayBackoffFactor, totalRetryPeriodMillis);
+ 259
+ }
+ 260
+
+ 261
+ @Override
+ 262
+ public boolean equals(Object obj) {
+ 263 0 if (obj == this ) {
+ 264 0 return true ;
+ 265
+ }
+ 266 0 if (!(obj instanceof RetryParams)) {
+ 267 0 return false ;
+ 268
+ }
+ 269 0 RetryParams other = (RetryParams) obj;
+ 270 0 return retryMinAttempts == other.retryMinAttempts && retryMaxAttempts == other.retryMaxAttempts
+ 271
+ && initialRetryDelayMillis == other.initialRetryDelayMillis
+ 272
+ && maxRetryDelayMillis == other.maxRetryDelayMillis
+ 273
+ && retryDelayBackoffFactor == other.retryDelayBackoffFactor
+ 274
+ && totalRetryPeriodMillis == other.totalRetryPeriodMillis;
+ 275
+ }
+ 276
+
+ 277
+ @Override
+ 278
+ public String toString() {
+ 279 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 280 0 toStringHelper.add("retryMinAttempts" , retryMinAttempts);
+ 281 0 toStringHelper.add("retryMaxAttempts" , retryMaxAttempts);
+ 282 0 toStringHelper.add("initialRetryDelayMillis" , initialRetryDelayMillis);
+ 283 0 toStringHelper.add("maxRetryDelayMillis" , maxRetryDelayMillis);
+ 284 0 toStringHelper.add("retryDelayBackoffFactor" , retryDelayBackoffFactor);
+ 285 0 toStringHelper.add("totalRetryPeriodMillis" , totalRetryPeriodMillis);
+ 286 0 return toStringHelper.toString();
+ 287
+ }
+ 288
+
+ 289
+ public static Builder builder() {
+ 290 0 return new Builder();
+ 291
+ }
+ 292
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.Service.html b/site/0.0.7/cobertura/com.google.gcloud.Service.html
new file mode 100644
index 000000000000..8534d77b9ee6
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.Service.html
@@ -0,0 +1,66 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.Service
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ public interface Service<OptionsT extends ServiceOptions<?, OptionsT>> {
+ 20
+ OptionsT options();
+ 21
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.ServiceOptions.html b/site/0.0.7/cobertura/com.google.gcloud.ServiceOptions.html
new file mode 100644
index 000000000000..65a31e906afd
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.ServiceOptions.html
@@ -0,0 +1,575 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.ServiceOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+
+ 20
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 21
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 22
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 23
+
+ 24
+ import com.google.api.client.extensions.appengine.http.UrlFetchTransport;
+ 25
+ import com.google.api.client.http.HttpRequestInitializer;
+ 26
+ import com.google.api.client.http.HttpTransport;
+ 27
+ import com.google.api.client.http.javanet.NetHttpTransport;
+ 28
+ import com.google.common.collect.Iterables;
+ 29
+ import com.google.gcloud.spi.ServiceRpcFactory;
+ 30
+
+ 31
+ import java.io.BufferedReader;
+ 32
+ import java.io.File;
+ 33
+ import java.io.FileReader;
+ 34
+ import java.io.IOException;
+ 35
+ import java.io.InputStream;
+ 36
+ import java.io.InputStreamReader;
+ 37
+ import java.io.Serializable;
+ 38
+ import java.lang.reflect.Method;
+ 39
+ import java.net.HttpURLConnection;
+ 40
+ import java.net.URL;
+ 41
+ import java.util.Locale;
+ 42
+ import java.util.Objects;
+ 43
+ import java.util.ServiceLoader;
+ 44
+ import java.util.Set;
+ 45
+ import java.util.regex.Matcher;
+ 46
+ import java.util.regex.Pattern;
+ 47
+
+ 48 0 public abstract class ServiceOptions<
+ 49
+ ServiceRpcT,
+ 50
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 51
+ implements Serializable {
+ 52
+
+ 53
+ private static final String DEFAULT_HOST = "https://www.googleapis.com" ;
+ 54
+ private static final long serialVersionUID = 1203687993961393350L;
+ 55
+ private static final String PROJECT_ENV_NAME = "GCLOUD_PROJECT" ;
+ 56
+
+ 57
+ private final String projectId;
+ 58
+ private final String host;
+ 59
+ private final HttpTransportFactory httpTransportFactory;
+ 60
+ private final AuthCredentials authCredentials;
+ 61
+ private final RetryParams retryParams;
+ 62
+ private final ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory;
+ 63
+
+ 64
+ public interface HttpTransportFactory extends Serializable {
+ 65
+ HttpTransport create();
+ 66
+ }
+ 67
+
+ 68 0 private enum DefaultHttpTransportFactory implements HttpTransportFactory {
+ 69
+
+ 70 0 INSTANCE;
+ 71
+
+ 72
+ @Override
+ 73
+ public HttpTransport create() {
+ 74
+
+ 75 0 if (appEngineAppId() != null ) {
+ 76
+ try {
+ 77 0 return new UrlFetchTransport();
+ 78 0 } catch (Exception ignore) {
+ 79
+
+ 80
+ }
+ 81
+ }
+ 82
+
+ 83
+ try {
+ 84 0 return AuthCredentials.getComputeCredential().getTransport();
+ 85 0 } catch (Exception e) {
+ 86
+
+ 87
+ }
+ 88 0 return new NetHttpTransport();
+ 89
+ }
+ 90
+ }
+ 91
+
+ 92
+
+ 93
+
+ 94 0 protected abstract static class Builder<
+ 95
+ ServiceRpcT,
+ 96
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>,
+ 97
+ B extends Builder<ServiceRpcT, OptionsT, B>> {
+ 98
+
+ 99
+ private String projectId;
+ 100
+ private String host;
+ 101
+ private HttpTransportFactory httpTransportFactory;
+ 102
+ private AuthCredentials authCredentials;
+ 103
+ private RetryParams retryParams;
+ 104
+ private ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory;
+ 105
+
+ 106
+ protected Builder() {}
+ 107
+
+ 108 0 protected Builder(ServiceOptions<ServiceRpcT, OptionsT> options) {
+ 109 0 projectId = options.projectId;
+ 110 0 host = options.host;
+ 111 0 httpTransportFactory = options.httpTransportFactory;
+ 112 0 authCredentials = options.authCredentials;
+ 113 0 retryParams = options.retryParams;
+ 114 0 serviceRpcFactory = options.serviceRpcFactory;
+ 115 0 }
+ 116
+
+ 117
+ protected abstract ServiceOptions<ServiceRpcT, OptionsT> build();
+ 118
+
+ 119
+ @SuppressWarnings("unchecked" )
+ 120
+ protected B self() {
+ 121 0 return (B) this ;
+ 122
+ }
+ 123
+
+ 124
+ public B projectId(String projectId) {
+ 125 0 this .projectId = projectId;
+ 126 0 return self();
+ 127
+ }
+ 128
+
+ 129
+ public B host(String host) {
+ 130 0 this .host = host;
+ 131 0 return self();
+ 132
+ }
+ 133
+
+ 134
+ public B httpTransportFactory(HttpTransportFactory httpTransportFactory) {
+ 135 0 this .httpTransportFactory = httpTransportFactory;
+ 136 0 return self();
+ 137
+ }
+ 138
+
+ 139
+ public B authCredentials(AuthCredentials authCredentials) {
+ 140 0 this .authCredentials = authCredentials;
+ 141 0 return self();
+ 142
+ }
+ 143
+
+ 144
+ public B retryParams(RetryParams retryParams) {
+ 145 0 this .retryParams = retryParams;
+ 146 0 return self();
+ 147
+ }
+ 148
+
+ 149
+ public B serviceRpcFactory(ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory) {
+ 150 0 this .serviceRpcFactory = serviceRpcFactory;
+ 151 0 return self();
+ 152
+ }
+ 153
+ }
+ 154
+
+ 155 0 protected ServiceOptions(Builder<ServiceRpcT, OptionsT, ?> builder) {
+ 156 0 projectId = checkNotNull(builder.projectId != null ? builder.projectId : defaultProject());
+ 157 0 host = firstNonNull(builder.host, DEFAULT_HOST);
+ 158 0 httpTransportFactory =
+ 159 0 firstNonNull(builder.httpTransportFactory, DefaultHttpTransportFactory.INSTANCE);
+ 160 0 authCredentials = firstNonNull(builder.authCredentials, defaultAuthCredentials());
+ 161 0 retryParams = builder.retryParams;
+ 162 0 serviceRpcFactory = builder.serviceRpcFactory;
+ 163 0 }
+ 164
+
+ 165
+ private static AuthCredentials defaultAuthCredentials() {
+ 166
+
+ 167 0 if (appEngineAppId() != null ) {
+ 168
+ try {
+ 169 0 return AuthCredentials.createForAppEngine();
+ 170 0 } catch (Exception ignore) {
+ 171
+
+ 172
+ }
+ 173
+ }
+ 174
+
+ 175
+ try {
+ 176 0 return AuthCredentials.createApplicationDefaults();
+ 177 0 } catch (Exception ex) {
+ 178
+
+ 179
+ }
+ 180
+
+ 181
+
+ 182
+ try {
+ 183 0 return AuthCredentials.createForComputeEngine();
+ 184 0 } catch (Exception ignore) {
+ 185
+
+ 186
+ }
+ 187 0 return AuthCredentials.noCredentials();
+ 188
+ }
+ 189
+
+ 190
+ protected static String appEngineAppId() {
+ 191 0 return System.getProperty("com.google.appengine.application.id" );
+ 192
+ }
+ 193
+
+ 194
+ protected String defaultProject() {
+ 195 0 String projectId = System.getProperty(PROJECT_ENV_NAME, System.getenv(PROJECT_ENV_NAME));
+ 196 0 if (projectId == null ) {
+ 197 0 projectId = getAppEngineProjectId();
+ 198
+ }
+ 199 0 return projectId != null ? projectId : googleCloudProjectId();
+ 200
+ }
+ 201
+
+ 202
+ protected static String googleCloudProjectId() {
+ 203
+ try {
+ 204 0 URL url = new URL("http://metadata/computeMetadata/v1/project/project-id" );
+ 205 0 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ 206 0 connection.setRequestProperty("X-Google-Metadata-Request" , "True" );
+ 207 0 InputStream input = connection.getInputStream();
+ 208 0 if (connection.getResponseCode() == 200) {
+ 209 0 try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, UTF_8))) {
+ 210 0 return reader.readLine();
+ 211 0 }
+ 212
+ }
+ 213 0 } catch (IOException ignore) {
+ 214
+
+ 215 0 }
+ 216
+ File configDir;
+ 217 0 if (System.getenv().containsKey("CLOUDSDK_CONFIG" )) {
+ 218 0 configDir = new File(System.getenv("CLOUDSDK_CONFIG" ));
+ 219 0 } else if (isWindows() && System.getenv().containsKey("APPDATA" )) {
+ 220 0 configDir = new File(System.getenv("APPDATA" ), "gcloud" );
+ 221
+ } else {
+ 222 0 configDir = new File(System.getProperty("user.home" ), ".config/gcloud" );
+ 223
+ }
+ 224 0 try (BufferedReader reader =
+ 225
+ new BufferedReader(new FileReader(new File(configDir, "properties" )))) {
+ 226
+ String line;
+ 227 0 String section = null ;
+ 228 0 Pattern projectPattern = Pattern.compile("^project\\s*=\\s*(.*)$" );
+ 229 0 Pattern sectionPattern = Pattern.compile("^\\[(.*)\\]$" );
+ 230 0 while ((line = reader.readLine()) != null ) {
+ 231 0 if (line.isEmpty() || line.startsWith(";" )) {
+ 232 0 continue ;
+ 233
+ }
+ 234 0 line = line.trim();
+ 235 0 Matcher matcher = sectionPattern.matcher(line);
+ 236 0 if (matcher.matches()) {
+ 237 0 section = matcher.group(1);
+ 238 0 } else if (section == null || section.equals("core" )) {
+ 239 0 matcher = projectPattern.matcher(line);
+ 240 0 if (matcher.matches()) {
+ 241 0 return matcher.group(1);
+ 242
+ }
+ 243
+ }
+ 244 0 }
+ 245 0 } catch (IOException ex) {
+ 246
+
+ 247 0 }
+ 248
+
+ 249 0 return null ;
+ 250
+ }
+ 251
+
+ 252
+ private static boolean isWindows() {
+ 253 0 return System.getProperty("os.name" ).toLowerCase(Locale.ENGLISH).contains("windows" );
+ 254
+ }
+ 255
+
+ 256
+ protected static String getAppEngineProjectId() {
+ 257
+
+ 258
+
+ 259
+ try {
+ 260 0 Class<?> factoryClass =
+ 261 0 Class.forName("com.google.appengine.api.appidentity.AppIdentityServiceFactory" );
+ 262 0 Method method = factoryClass.getMethod("getAppIdentityService" );
+ 263 0 Object appIdentityService = method.invoke(null );
+ 264 0 method = appIdentityService.getClass().getMethod("getServiceAccountName" );
+ 265 0 String serviceAccountName = (String) method.invoke(appIdentityService);
+ 266 0 int indexOfAtSign = serviceAccountName.indexOf('@' );
+ 267 0 return serviceAccountName.substring(0, indexOfAtSign);
+ 268 0 } catch (Exception ignore) {
+ 269
+
+ 270 0 return null ;
+ 271
+ }
+ 272
+ }
+ 273
+
+ 274
+ protected abstract Set<String> scopes();
+ 275
+
+ 276
+ public String projectId() {
+ 277 0 return projectId;
+ 278
+ }
+ 279
+
+ 280
+ public String host() {
+ 281 0 return host;
+ 282
+ }
+ 283
+
+ 284
+ public HttpTransportFactory httpTransportFactory() {
+ 285 0 return httpTransportFactory;
+ 286
+ }
+ 287
+
+ 288
+ public AuthCredentials authCredentials() {
+ 289 0 return authCredentials;
+ 290
+ }
+ 291
+
+ 292
+ public RetryParams retryParams() {
+ 293 0 return retryParams != null ? retryParams : RetryParams.noRetries();
+ 294
+ }
+ 295
+
+ 296
+ public ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory() {
+ 297 0 return serviceRpcFactory;
+ 298
+ }
+ 299
+
+ 300
+ public HttpRequestInitializer httpRequestInitializer() {
+ 301 0 HttpTransport httpTransport = httpTransportFactory.create();
+ 302 0 return authCredentials().httpRequestInitializer(httpTransport, scopes());
+ 303
+ }
+ 304
+
+ 305
+ protected int baseHashCode() {
+ 306 0 return Objects.hash(projectId, host, httpTransportFactory, authCredentials, retryParams,
+ 307
+ serviceRpcFactory);
+ 308
+ }
+ 309
+
+ 310
+ protected boolean baseEquals(ServiceOptions<?, ?> other) {
+ 311 0 return Objects.equals(projectId, other.projectId)
+ 312 0 && Objects.equals(host, other.host)
+ 313 0 && Objects.equals(httpTransportFactory, other.httpTransportFactory)
+ 314 0 && Objects.equals(authCredentials, other.authCredentials)
+ 315 0 && Objects.equals(retryParams, other.retryParams)
+ 316 0 && Objects.equals(serviceRpcFactory, other.serviceRpcFactory);
+ 317
+ }
+ 318
+
+ 319
+ public abstract Builder<ServiceRpcT, OptionsT, ?> toBuilder();
+ 320
+
+ 321
+
+ 322
+
+ 323
+
+ 324
+ protected static
+ 325
+ <ServiceRpcT, OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 326
+ ServiceRpcT createRpc(OptionsT options,
+ 327
+ Class<? extends ServiceRpcFactory<ServiceRpcT, OptionsT>> factoryClass) {
+ 328 0 ServiceRpcFactory<ServiceRpcT, OptionsT> factory =
+ 329 0 Iterables.getFirst(ServiceLoader.load(factoryClass), null );
+ 330 0 return factory == null ? null : factory.create(options);
+ 331
+ }
+ 332
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html
new file mode 100644
index 000000000000..5d18b34d6aef
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html
@@ -0,0 +1,368 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Preconditions;
+ 21
+ import com.google.common.collect.Iterables;
+ 22
+ import com.google.common.collect.Lists;
+ 23
+
+ 24
+ import java.util.Collections;
+ 25
+ import java.util.Iterator;
+ 26
+ import java.util.LinkedHashMap;
+ 27
+ import java.util.LinkedHashSet;
+ 28
+ import java.util.LinkedList;
+ 29
+ import java.util.List;
+ 30
+ import java.util.Map;
+ 31
+ import java.util.Set;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ public abstract class BaseDatastoreBatchWriter implements DatastoreBatchWriter {
+ 37
+
+ 38
+ private final String name;
+ 39 0 private final Map<Key, FullEntity<Key>> toAdd = new LinkedHashMap<>();
+ 40 0 private final List<FullEntity<IncompleteKey>> toAddAutoId = new LinkedList<>();
+ 41 0 private final Map<Key, FullEntity<Key>> toUpdate = new LinkedHashMap<>();
+ 42 0 private final Map<Key, FullEntity<Key>> toPut = new LinkedHashMap<>();
+ 43 0 private final Set<Key> toDelete = new LinkedHashSet<>();
+ 44 0 private boolean active = true ;
+ 45
+
+ 46 0 protected BaseDatastoreBatchWriter(String name) {
+ 47 0 this .name = name;
+ 48 0 }
+ 49
+
+ 50
+ @SuppressWarnings("unchecked" )
+ 51
+ @Override
+ 52
+ public final void addWithDeferredIdAllocation(FullEntity<?>... entities) {
+ 53 0 validateActive();
+ 54 0 for (FullEntity<?> entity : entities) {
+ 55 0 IncompleteKey key = entity.key();
+ 56 0 Preconditions.checkArgument(key != null , "Entity must have a key" );
+ 57 0 if (key instanceof Key) {
+ 58 0 addInternal((FullEntity<Key>) entity);
+ 59
+ } else {
+ 60 0 toAddAutoId.add((FullEntity<IncompleteKey>) entity);
+ 61
+ }
+ 62
+ }
+ 63 0 }
+ 64
+
+ 65
+ private void addInternal(FullEntity<Key> entity) {
+ 66 0 Key key = entity.key();
+ 67 0 if (toAdd.containsKey(key) || toUpdate.containsKey(key) || toPut.containsKey(key)) {
+ 68 0 throw newInvalidRequest("Entity with the key %s was already added or updated in this %s" ,
+ 69 0 entity.key(), name);
+ 70
+ }
+ 71 0 if (toDelete.remove(key)) {
+ 72 0 toPut.put(key, entity);
+ 73
+ } else {
+ 74 0 toAdd.put(key, entity);
+ 75
+ }
+ 76 0 }
+ 77
+
+ 78
+ @Override
+ 79
+ public final Entity add(FullEntity<?> entity) {
+ 80 0 return DatastoreHelper.add(this , entity);
+ 81
+ }
+ 82
+
+ 83
+ @SuppressWarnings("unchecked" )
+ 84
+ @Override
+ 85
+ public final List<Entity> add(FullEntity<?>... entities) {
+ 86 0 validateActive();
+ 87 0 List<IncompleteKey> incompleteKeys = Lists.newArrayListWithExpectedSize(entities.length);
+ 88 0 for (FullEntity<?> entity : entities) {
+ 89 0 IncompleteKey key = entity.key();
+ 90 0 Preconditions.checkArgument(key != null , "Entity must have a key" );
+ 91 0 if (key instanceof Key) {
+ 92 0 addInternal((FullEntity<Key>) entity);
+ 93
+ } else {
+ 94 0 incompleteKeys.add(key);
+ 95
+ }
+ 96
+ }
+ 97
+ Iterator<Key> allocated;
+ 98 0 if (!incompleteKeys.isEmpty()) {
+ 99 0 IncompleteKey[] toAllocate = Iterables.toArray(incompleteKeys, IncompleteKey.class );
+ 100 0 allocated = datastore().allocateId(toAllocate).iterator();
+ 101 0 } else {
+ 102 0 allocated = Collections.emptyIterator();
+ 103
+ }
+ 104 0 List<Entity> answer = Lists.newArrayListWithExpectedSize(entities.length);
+ 105 0 for (FullEntity<?> entity : entities) {
+ 106 0 if (entity.key() instanceof Key) {
+ 107 0 answer.add(Entity.convert((FullEntity<Key>) entity));
+ 108
+ } else {
+ 109 0 Entity entityWithAllocatedId = Entity.builder(allocated.next(), entity).build();
+ 110 0 addInternal(entityWithAllocatedId);
+ 111 0 answer.add(entityWithAllocatedId);
+ 112
+ }
+ 113
+ }
+ 114 0 return answer;
+ 115
+ }
+ 116
+
+ 117
+ @SafeVarargs
+ 118
+ @Override
+ 119
+ public final void update(Entity... entities) {
+ 120 0 validateActive();
+ 121 0 for (Entity entity : entities) {
+ 122 0 Key key = entity.key();
+ 123 0 if (toDelete.contains(key)) {
+ 124 0 throw newInvalidRequest("Entity with the key %s was already deleted in this %s" ,
+ 125 0 entity.key(), name);
+ 126
+ }
+ 127 0 if (toAdd.remove(key) != null || toPut.containsKey(key)) {
+ 128 0 toPut.put(key, entity);
+ 129
+ } else {
+ 130 0 toUpdate.put(key, entity);
+ 131
+ }
+ 132
+ }
+ 133 0 }
+ 134
+
+ 135
+ @SafeVarargs
+ 136
+ @Override
+ 137
+ public final void put(Entity... entities) {
+ 138 0 validateActive();
+ 139 0 for (Entity entity : entities) {
+ 140 0 Key key = entity.key();
+ 141 0 toAdd.remove(key);
+ 142 0 toUpdate.remove(key);
+ 143 0 toDelete.remove(key);
+ 144 0 toPut.put(key, entity);
+ 145
+ }
+ 146 0 }
+ 147
+
+ 148
+ @Override
+ 149
+ public final void delete(Key... keys) {
+ 150 0 validateActive();
+ 151 0 for (Key key : keys) {
+ 152 0 toAdd.remove(key);
+ 153 0 toUpdate.remove(key);
+ 154 0 toPut.remove(key);
+ 155 0 toDelete.add(key);
+ 156
+ }
+ 157 0 }
+ 158
+
+ 159
+ @Override
+ 160
+ public boolean active() {
+ 161 0 return active;
+ 162
+ }
+ 163
+
+ 164
+ protected String name() {
+ 165 0 return name;
+ 166
+ }
+ 167
+
+ 168
+ protected Map<Key, FullEntity<Key>> toAdd() {
+ 169 0 return toAdd;
+ 170
+ }
+ 171
+
+ 172
+ protected List<FullEntity<IncompleteKey>> toAddAutoId() {
+ 173 0 return toAddAutoId;
+ 174
+ }
+ 175
+
+ 176
+ protected Map<Key, FullEntity<Key>> toUpdate() {
+ 177 0 return toUpdate;
+ 178
+ }
+ 179
+
+ 180
+ protected Map<Key, FullEntity<Key>> toPut() {
+ 181 0 return toPut;
+ 182
+ }
+ 183
+
+ 184
+ protected Set<Key> toDelete() {
+ 185 0 return toDelete;
+ 186
+ }
+ 187
+
+ 188
+ protected void deactivate() {
+ 189 0 active = false ;
+ 190 0 }
+ 191
+
+ 192
+ protected void validateActive() {
+ 193 0 if (!active) {
+ 194 0 throw newInvalidRequest("%s is no longer active" , name);
+ 195
+ }
+ 196 0 }
+ 197
+
+ 198
+ protected DatastoreException newInvalidRequest(String msg, Object... params) {
+ 199 0 return DatastoreException.throwInvalidRequest(String.format(msg, params));
+ 200
+ }
+ 201
+
+ 202
+ protected DatastoreV1.Mutation.Builder toMutationPb() {
+ 203 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 204 0 for (FullEntity<IncompleteKey> entity : toAddAutoId()) {
+ 205 0 mutationPb.addInsertAutoId(entity.toPb());
+ 206 0 }
+ 207 0 for (FullEntity<Key> entity : toAdd().values()) {
+ 208 0 mutationPb.addInsert(entity.toPb());
+ 209 0 }
+ 210 0 for (FullEntity<Key> entity : toUpdate().values()) {
+ 211 0 mutationPb.addUpdate(entity.toPb());
+ 212 0 }
+ 213 0 for (FullEntity<Key> entity : toPut().values()) {
+ 214 0 mutationPb.addUpsert(entity.toPb());
+ 215 0 }
+ 216 0 for (Key key : toDelete()) {
+ 217 0 mutationPb.addDelete(key.toPb());
+ 218 0 }
+ 219 0 return mutationPb;
+ 220
+ }
+ 221
+
+ 222
+ protected abstract Datastore datastore();
+ 223
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseEntity.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseEntity.html
new file mode 100644
index 000000000000..d4ba201cdb49
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseEntity.html
@@ -0,0 +1,720 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.BlobValue.of;
+ 20
+ import static com.google.gcloud.datastore.BooleanValue.of;
+ 21
+ import static com.google.gcloud.datastore.DateTimeValue.of;
+ 22
+ import static com.google.gcloud.datastore.DoubleValue.of;
+ 23
+ import static com.google.gcloud.datastore.EntityValue.of;
+ 24
+ import static com.google.gcloud.datastore.KeyValue.of;
+ 25
+ import static com.google.gcloud.datastore.ListValue.of;
+ 26
+ import static com.google.gcloud.datastore.LongValue.of;
+ 27
+ import static com.google.gcloud.datastore.NullValue.of;
+ 28
+ import static com.google.gcloud.datastore.StringValue.of;
+ 29
+
+ 30
+ import com.google.api.services.datastore.DatastoreV1;
+ 31
+ import com.google.common.collect.ImmutableSortedMap;
+ 32
+ import com.google.common.collect.Maps;
+ 33
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 34
+
+ 35
+ import java.util.HashMap;
+ 36
+ import java.util.List;
+ 37
+ import java.util.Map;
+ 38
+ import java.util.Objects;
+ 39
+ import java.util.Set;
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51 0 public abstract class BaseEntity<K extends IncompleteKey> extends Serializable<DatastoreV1.Entity> {
+ 52
+
+ 53
+ private static final long serialVersionUID = 8175618724683792766L;
+ 54
+
+ 55
+ private final transient ImmutableSortedMap<String, Value<?>> properties;
+ 56
+ private final K key;
+ 57
+
+ 58 0 public abstract static class Builder<K extends IncompleteKey, B extends Builder<K, B>> {
+ 59
+
+ 60
+ private K key;
+ 61 0 private final Map<String, Value<?>> properties = new HashMap<>();
+ 62
+
+ 63 0 Builder() {
+ 64 0 }
+ 65
+
+ 66 0 Builder(K key) {
+ 67 0 key(key);
+ 68 0 }
+ 69
+
+ 70
+ Builder(BaseEntity<K> entity) {
+ 71 0 this (entity.key, entity);
+ 72 0 }
+ 73
+
+ 74 0 Builder(K key, BaseEntity<?> entity) {
+ 75 0 key(key);
+ 76 0 properties(entity.properties);
+ 77 0 }
+ 78
+
+ 79
+ protected K key() {
+ 80 0 return key;
+ 81
+ }
+ 82
+
+ 83
+ protected Map<String, Value<?>> properties() {
+ 84 0 return properties;
+ 85
+ }
+ 86
+
+ 87
+ @SuppressWarnings("unchecked" )
+ 88
+ private B self() {
+ 89 0 return (B) this ;
+ 90
+ }
+ 91
+
+ 92
+ @SuppressWarnings("unchecked" )
+ 93
+ protected B fill(DatastoreV1.Entity entityPb) {
+ 94 0 Map<String, Value<?>> copiedProperties = Maps.newHashMap();
+ 95 0 for (DatastoreV1.Property property : entityPb.getPropertyList()) {
+ 96 0 copiedProperties.put(property.getName(), Value.fromPb(property.getValue()));
+ 97 0 }
+ 98 0 properties(copiedProperties);
+ 99 0 if (entityPb.hasKey()) {
+ 100 0 key((K) IncompleteKey.fromPb(entityPb.getKey()));
+ 101
+ }
+ 102 0 return self();
+ 103
+ }
+ 104
+
+ 105
+ protected B properties(Map<String, Value<?>> properties) {
+ 106 0 this .properties.putAll(properties);
+ 107 0 return self();
+ 108
+ }
+ 109
+
+ 110
+ public B key(K key) {
+ 111 0 this .key = key;
+ 112 0 return self();
+ 113
+ }
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+ public B clear() {
+ 119 0 properties.clear();
+ 120 0 return self();
+ 121
+ }
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public B remove(String name) {
+ 127 0 properties.remove(name);
+ 128 0 return self();
+ 129
+ }
+ 130
+
+ 131
+ public B set(String name, Value<?> value) {
+ 132 0 properties.put(name, value);
+ 133 0 return self();
+ 134
+ }
+ 135
+
+ 136
+ public B set(String name, String value) {
+ 137 0 properties.put(name, of(value));
+ 138 0 return self();
+ 139
+ }
+ 140
+
+ 141
+ public B set(String name, long value) {
+ 142 0 properties.put(name, of(value));
+ 143 0 return self();
+ 144
+ }
+ 145
+
+ 146
+ public B set(String name, double value) {
+ 147 0 properties.put(name, of(value));
+ 148 0 return self();
+ 149
+ }
+ 150
+
+ 151
+ public B set(String name, boolean value) {
+ 152 0 properties.put(name, of(value));
+ 153 0 return self();
+ 154
+ }
+ 155
+
+ 156
+ public B set(String name, DateTime value) {
+ 157 0 properties.put(name, of(value));
+ 158 0 return self();
+ 159
+ }
+ 160
+
+ 161
+ public B set(String name, Key value) {
+ 162 0 properties.put(name, of(value));
+ 163 0 return self();
+ 164
+ }
+ 165
+
+ 166
+ public B set(String name, FullEntity<?> value) {
+ 167 0 properties.put(name, of(value));
+ 168 0 return self();
+ 169
+ }
+ 170
+
+ 171
+ public B set(String name, List<? extends Value<?>> values) {
+ 172 0 properties.put(name, of(values));
+ 173 0 return self();
+ 174
+ }
+ 175
+
+ 176
+ public B set(String name, Value<?> value, Value<?>... other) {
+ 177 0 properties.put(name, of(value, other));
+ 178 0 return self();
+ 179
+ }
+ 180
+
+ 181
+ public B set(String name, Blob value) {
+ 182 0 properties.put(name, of(value));
+ 183 0 return self();
+ 184
+ }
+ 185
+
+ 186
+ public B setNull(String name) {
+ 187 0 properties.put(name, of());
+ 188 0 return self();
+ 189
+ }
+ 190
+
+ 191
+ public abstract BaseEntity<K> build();
+ 192
+ }
+ 193
+
+ 194 0 BaseEntity(Builder<K, ?> builder) {
+ 195 0 this .key = builder.key;
+ 196 0 this .properties = ImmutableSortedMap.copyOf(builder.properties);
+ 197 0 }
+ 198
+
+ 199 0 BaseEntity(BaseEntity<K> from) {
+ 200 0 this .key = from.key();
+ 201 0 this .properties = from.properties;
+ 202 0 }
+ 203
+
+ 204
+ @Override
+ 205
+ public int hashCode() {
+ 206 0 return Objects.hash(key, properties);
+ 207
+ }
+ 208
+
+ 209
+ @Override
+ 210
+ public boolean equals(Object obj) {
+ 211 0 if (obj == this ) {
+ 212 0 return true ;
+ 213
+ }
+ 214 0 if (!(obj instanceof BaseEntity)) {
+ 215 0 return false ;
+ 216
+ }
+ 217 0 BaseEntity<?> other = (BaseEntity<?>) obj;
+ 218 0 return Objects.equals(key, other.key)
+ 219 0 && Objects.equals(properties, other.properties);
+ 220
+ }
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+ public boolean hasKey() {
+ 226 0 return key != null ;
+ 227
+ }
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+ public K key() {
+ 233 0 return key;
+ 234
+ }
+ 235
+
+ 236
+
+ 237
+
+ 238
+
+ 239
+ public boolean contains(String name) {
+ 240 0 return properties.containsKey(name);
+ 241
+ }
+ 242
+
+ 243
+
+ 244
+
+ 245
+
+ 246
+
+ 247
+
+ 248
+ public <V extends Value<?>> V getValue(String name) {
+ 249
+ @SuppressWarnings("unchecked" )
+ 250 0 V property = (V) properties.get(name);
+ 251 0 if (property == null ) {
+ 252 0 throw DatastoreException.throwInvalidRequest("No such property %s" , name);
+ 253
+ }
+ 254 0 return property;
+ 255
+ }
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+
+ 262
+ public boolean isNull(String name) {
+ 263 0 return getValue(name) instanceof NullValue;
+ 264
+ }
+ 265
+
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
+
+ 271
+
+ 272
+
+ 273
+ @SuppressWarnings("unchecked" )
+ 274
+ public String getString(String name) {
+ 275 0 return ((Value<String>) getValue(name)).get();
+ 276
+ }
+ 277
+
+ 278
+
+ 279
+
+ 280
+
+ 281
+
+ 282
+
+ 283
+
+ 284
+ @SuppressWarnings("unchecked" )
+ 285
+ public long getLong(String name) {
+ 286 0 return ((Value<Long>) getValue(name)).get();
+ 287
+ }
+ 288
+
+ 289
+
+ 290
+
+ 291
+
+ 292
+
+ 293
+
+ 294
+
+ 295
+ @SuppressWarnings("unchecked" )
+ 296
+ public double getDouble(String name) {
+ 297 0 return ((Value<Double>) getValue(name)).get();
+ 298
+ }
+ 299
+
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+
+ 305
+
+ 306
+ @SuppressWarnings("unchecked" )
+ 307
+ public boolean getBoolean(String name) {
+ 308 0 return ((Value<Boolean>) getValue(name)).get();
+ 309
+ }
+ 310
+
+ 311
+
+ 312
+
+ 313
+
+ 314
+
+ 315
+
+ 316
+
+ 317
+ @SuppressWarnings("unchecked" )
+ 318
+ public DateTime getDateTime(String name) {
+ 319 0 return ((Value<DateTime>) getValue(name)).get();
+ 320
+ }
+ 321
+
+ 322
+
+ 323
+
+ 324
+
+ 325
+
+ 326
+
+ 327
+
+ 328
+ @SuppressWarnings("unchecked" )
+ 329
+ public Key getKey(String name) {
+ 330 0 return ((Value<Key>) getValue(name)).get();
+ 331
+ }
+ 332
+
+ 333
+
+ 334
+
+ 335
+
+ 336
+
+ 337
+
+ 338
+
+ 339
+ @SuppressWarnings("unchecked" )
+ 340
+ public <K extends IncompleteKey> FullEntity<K> getEntity(String name) {
+ 341 0 return ((Value<FullEntity<K>>) getValue(name)).get();
+ 342
+ }
+ 343
+
+ 344
+
+ 345
+
+ 346
+
+ 347
+
+ 348
+
+ 349
+
+ 350
+ @SuppressWarnings("unchecked" )
+ 351
+ public List<? extends Value<?>> getList(String name) {
+ 352 0 return ((Value<List<? extends Value<?>>>) getValue(name)).get();
+ 353
+ }
+ 354
+
+ 355
+
+ 356
+
+ 357
+
+ 358
+
+ 359
+
+ 360
+
+ 361
+ @SuppressWarnings("unchecked" )
+ 362
+ public Blob getBlob(String name) {
+ 363 0 return ((Value<Blob>) getValue(name)).get();
+ 364
+ }
+ 365
+
+ 366
+
+ 367
+
+ 368
+
+ 369
+ public Set<String> names() {
+ 370 0 return properties.keySet();
+ 371
+ }
+ 372
+
+ 373
+ ImmutableSortedMap<String, Value<?>> properties() {
+ 374 0 return properties;
+ 375
+ }
+ 376
+
+ 377
+ @Override
+ 378
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 379 0 Builder<?, ?> builder = emptyBuilder();
+ 380 0 builder.fill(DatastoreV1.Entity.parseFrom(bytesPb));
+ 381 0 return builder.build();
+ 382
+ }
+ 383
+
+ 384
+ protected abstract Builder<?, ?> emptyBuilder();
+ 385
+
+ 386
+ @Override
+ 387
+ protected final DatastoreV1.Entity toPb() {
+ 388 0 DatastoreV1.Entity.Builder entityPb = DatastoreV1.Entity.newBuilder();
+ 389 0 for (Map.Entry<String, Value<?>> entry : properties.entrySet()) {
+ 390 0 DatastoreV1.Property.Builder propertyPb = DatastoreV1.Property.newBuilder();
+ 391 0 propertyPb.setName(entry.getKey());
+ 392 0 propertyPb.setValue(entry.getValue().toPb());
+ 393 0 entityPb.addProperty(propertyPb.build());
+ 394 0 }
+ 395 0 if (key != null ) {
+ 396 0 entityPb.setKey(key.toPb());
+ 397
+ }
+ 398 0 return entityPb.build();
+ 399
+ }
+ 400
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseKey.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseKey.html
new file mode 100644
index 000000000000..a211895b0456
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BaseKey.html
@@ -0,0 +1,347 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseKey
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.Validator.validateDatabase;
+ 20
+ import static com.google.gcloud.datastore.Validator.validateKind;
+ 21
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 22
+
+ 23
+ import com.google.api.services.datastore.DatastoreV1;
+ 24
+ import com.google.common.base.Preconditions;
+ 25
+ import com.google.common.collect.ImmutableList;
+ 26
+
+ 27
+ import java.util.LinkedList;
+ 28
+ import java.util.List;
+ 29
+ import java.util.Objects;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34 0 abstract class BaseKey extends Serializable<DatastoreV1.Key> {
+ 35
+
+ 36
+ private static final long serialVersionUID = -4671243265877410635L;
+ 37
+
+ 38
+ private final transient String projectId;
+ 39
+ private final transient String namespace;
+ 40
+ private final transient ImmutableList<PathElement> path;
+ 41
+
+ 42
+ abstract static class Builder<B extends Builder<B>> {
+ 43
+
+ 44
+ String projectId;
+ 45
+ String namespace;
+ 46
+ String kind;
+ 47
+ final List<PathElement> ancestors;
+ 48
+
+ 49
+ private static final int MAX_PATH = 100;
+ 50
+
+ 51 0 Builder(String projectId) {
+ 52 0 this .projectId = validateDatabase(projectId);
+ 53 0 ancestors = new LinkedList<>();
+ 54 0 }
+ 55
+
+ 56
+ Builder(String projectId, String kind) {
+ 57 0 this (projectId);
+ 58 0 this .kind = validateKind(kind);
+ 59 0 }
+ 60
+
+ 61 0 Builder(BaseKey copyFrom) {
+ 62 0 projectId = copyFrom.projectId();
+ 63 0 namespace = copyFrom.namespace();
+ 64 0 ancestors = new LinkedList<>(copyFrom.ancestors());
+ 65 0 kind = copyFrom.kind();
+ 66 0 }
+ 67
+
+ 68
+ @SuppressWarnings("unchecked" )
+ 69
+ B self() {
+ 70 0 return (B) this ;
+ 71
+ }
+ 72
+
+ 73
+ public B ancestors(PathElement ancestor) {
+ 74 0 Preconditions.checkState(ancestors.size() < MAX_PATH, "path can have at most 100 elements" );
+ 75 0 ancestors.add(ancestor);
+ 76 0 return self();
+ 77
+ }
+ 78
+
+ 79
+ public B ancestors(PathElement ancestor, PathElement... other) {
+ 80 0 return ancestors(ImmutableList.<PathElement>builder().add(ancestor).add(other).build());
+ 81
+ }
+ 82
+
+ 83
+ public B ancestors(Iterable<PathElement> ancestors) {
+ 84 0 ImmutableList<PathElement> list = ImmutableList.copyOf(ancestors);
+ 85 0 Preconditions.checkState(this .ancestors.size() + list.size() < MAX_PATH,
+ 86
+ "path can have at most 100 elements" );
+ 87 0 this .ancestors.addAll(list);
+ 88 0 return self();
+ 89
+ }
+ 90
+
+ 91
+ public B kind(String kind) {
+ 92 0 this .kind = validateKind(kind);
+ 93 0 return self();
+ 94
+ }
+ 95
+
+ 96
+ public B projectId(String projectId) {
+ 97 0 this .projectId = validateDatabase(projectId);
+ 98 0 return self();
+ 99
+ }
+ 100
+
+ 101
+ public B namespace(String namespace) {
+ 102 0 this .namespace = validateNamespace(namespace);
+ 103 0 return self();
+ 104
+ }
+ 105
+
+ 106
+ protected abstract BaseKey build();
+ 107
+ }
+ 108
+
+ 109 0 BaseKey(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 110 0 Preconditions.checkArgument(!path.isEmpty(), "Path must not be empty" );
+ 111 0 this .projectId = projectId;
+ 112 0 this .namespace = namespace;
+ 113 0 this .path = path;
+ 114 0 }
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+ public String projectId() {
+ 120 0 return projectId;
+ 121
+ }
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public String namespace() {
+ 127 0 return namespace;
+ 128
+ }
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+ public List<PathElement> ancestors() {
+ 134 0 return path().subList(0, path().size() - 1);
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+ List<PathElement> path() {
+ 141 0 return path;
+ 142
+ }
+ 143
+
+ 144
+ PathElement leaf() {
+ 145 0 return path().get(path().size() - 1);
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+ public String kind() {
+ 152 0 return leaf().kind();
+ 153
+ }
+ 154
+
+ 155
+ @Override
+ 156
+ public int hashCode() {
+ 157 0 return Objects.hash(projectId(), namespace(), path());
+ 158
+ }
+ 159
+
+ 160
+ @Override
+ 161
+ public boolean equals(Object obj) {
+ 162 0 if (obj == this ) {
+ 163 0 return true ;
+ 164
+ }
+ 165 0 if (!(obj instanceof BaseKey)) {
+ 166 0 return false ;
+ 167
+ }
+ 168 0 BaseKey other = (BaseKey) obj;
+ 169 0 return Objects.equals(projectId(), other.projectId())
+ 170 0 && Objects.equals(namespace(), other.namespace())
+ 171 0 && Objects.equals(path(), other.path());
+ 172
+ }
+ 173
+
+ 174
+ @Override
+ 175
+ protected DatastoreV1.Key toPb() {
+ 176 0 DatastoreV1.Key.Builder keyPb = DatastoreV1.Key.newBuilder();
+ 177 0 DatastoreV1.PartitionId.Builder partitionIdPb = DatastoreV1.PartitionId.newBuilder();
+ 178 0 if (projectId != null ) {
+ 179 0 partitionIdPb.setDatasetId(projectId);
+ 180
+ }
+ 181 0 if (namespace != null ) {
+ 182 0 partitionIdPb.setNamespace(namespace);
+ 183
+ }
+ 184 0 if (partitionIdPb.hasDatasetId() || partitionIdPb.hasNamespace()) {
+ 185 0 keyPb.setPartitionId(partitionIdPb.build());
+ 186
+ }
+ 187 0 for (PathElement pathEntry : path) {
+ 188 0 keyPb.addPathElement(pathEntry.toPb());
+ 189 0 }
+ 190 0 return keyPb.build();
+ 191
+ }
+ 192
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Batch.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Batch.html
new file mode 100644
index 000000000000..e1e2a3048a9d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Batch.html
@@ -0,0 +1,133 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Batch
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public interface Batch extends DatastoreBatchWriter {
+ 38
+
+ 39
+ interface Response {
+ 40
+ List<Key> generatedKeys();
+ 41
+ }
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ Response submit();
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+ Datastore datastore();
+ 54
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchImpl.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchImpl.html
new file mode 100644
index 000000000000..56368f24cb98
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchImpl.html
@@ -0,0 +1,169 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BatchImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Function;
+ 21
+ import com.google.common.collect.Lists;
+ 22
+ import com.google.gcloud.datastore.BatchOption.ForceWrites;
+ 23
+
+ 24
+ import java.util.List;
+ 25
+ import java.util.Map;
+ 26
+
+ 27
+
+ 28
+ class BatchImpl extends BaseDatastoreBatchWriter implements Batch {
+ 29
+
+ 30
+ private final DatastoreImpl datastore;
+ 31
+ private final boolean force;
+ 32
+
+ 33
+ static class ResponseImpl implements Batch.Response {
+ 34
+
+ 35
+ private final DatastoreV1.CommitResponse response;
+ 36
+
+ 37
+ ResponseImpl(DatastoreV1.CommitResponse response) {
+ 38
+ this .response = response;
+ 39
+ }
+ 40
+
+ 41
+ @Override
+ 42
+ public List<Key> generatedKeys() {
+ 43 0 return Lists.transform(response.getMutationResult().getInsertAutoIdKeyList(),
+ 44 0 new Function<DatastoreV1.Key, Key>() {
+ 45
+ @Override public Key apply(DatastoreV1.Key keyPb) {
+ 46 0 return Key.fromPb(keyPb);
+ 47
+ }
+ 48
+ });
+ 49
+ }
+ 50
+ }
+ 51
+
+ 52
+ BatchImpl(DatastoreImpl datastore, BatchOption... options) {
+ 53 0 super ("batch" );
+ 54 0 this .datastore = datastore;
+ 55 0 Map<Class<? extends BatchOption>, BatchOption> optionsMap = BatchOption.asImmutableMap(options);
+ 56 0 if (optionsMap.containsKey(ForceWrites.class )) {
+ 57 0 force = ((ForceWrites) optionsMap.get(ForceWrites.class )).force();
+ 58
+ } else {
+ 59 0 force = datastore.options().force();
+ 60
+ }
+ 61 0 }
+ 62
+
+ 63
+ @Override
+ 64
+ public Batch.Response submit() {
+ 65 0 validateActive();
+ 66 0 DatastoreV1.Mutation.Builder mutationPb = toMutationPb();
+ 67 0 if (force) {
+ 68 0 mutationPb.setForce(force);
+ 69
+ }
+ 70 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 71 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.NON_TRANSACTIONAL);
+ 72 0 requestPb.setMutation(mutationPb);
+ 73 0 DatastoreV1.CommitResponse responsePb = datastore.commit(requestPb.build());
+ 74 0 deactivate();
+ 75 0 return new ResponseImpl(responsePb);
+ 76
+ }
+ 77
+
+ 78
+ @Override
+ 79
+ public Datastore datastore() {
+ 80 0 return datastore;
+ 81
+ }
+ 82
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchOption.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchOption.html
new file mode 100644
index 000000000000..7ce9f94e7b85
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BatchOption.html
@@ -0,0 +1,135 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BatchOption
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+
+ 21
+ import java.util.Map;
+ 22
+
+ 23
+ public abstract class BatchOption implements java.io.Serializable {
+ 24
+
+ 25
+ private static final long serialVersionUID = -3932758377282659839L;
+ 26
+
+ 27
+ public static final class ForceWrites extends BatchOption {
+ 28
+
+ 29
+ private static final long serialVersionUID = 2555054296046232799L;
+ 30
+
+ 31
+ private final boolean force;
+ 32
+
+ 33
+ public ForceWrites(boolean force) {
+ 34
+ this .force = force;
+ 35
+ }
+ 36
+
+ 37
+ public boolean force() {
+ 38 0 return force;
+ 39
+ }
+ 40
+ }
+ 41
+
+ 42
+ BatchOption() {
+ 43
+
+ 44
+ }
+ 45
+
+ 46
+ public static ForceWrites forceWrites() {
+ 47 0 return new ForceWrites(true );
+ 48
+ }
+ 49
+
+ 50
+ static Map<Class<? extends BatchOption>, BatchOption> asImmutableMap(BatchOption... options) {
+ 51
+ ImmutableMap.Builder<Class<? extends BatchOption>, BatchOption> builder =
+ 52 0 ImmutableMap.builder();
+ 53 0 for (BatchOption option : options) {
+ 54 0 builder.put(option.getClass(), option);
+ 55
+ }
+ 56 0 return builder.build();
+ 57
+ }
+ 58
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Blob.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Blob.html
new file mode 100644
index 000000000000..b8683bc3049f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Blob.html
@@ -0,0 +1,306 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Blob
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 23
+ import com.google.common.base.MoreObjects;
+ 24
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 25
+ import com.google.protobuf.ByteString;
+ 26
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 27
+
+ 28
+ import java.io.BufferedInputStream;
+ 29
+ import java.io.ByteArrayOutputStream;
+ 30
+ import java.io.IOException;
+ 31
+ import java.io.InputStream;
+ 32
+ import java.nio.ByteBuffer;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40 0 public final class Blob extends Serializable<DatastoreV1.Value> {
+ 41
+
+ 42
+ private static final long serialVersionUID = 3835421019618247721L;
+ 43
+
+ 44
+ private final transient ByteString byteString;
+ 45
+
+ 46 0 Blob(ByteString byteString) {
+ 47 0 this .byteString = checkNotNull(byteString);
+ 48 0 }
+ 49
+
+ 50
+ @Override
+ 51
+ public String toString() {
+ 52 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 53 0 StringBuilder stBuilder = new StringBuilder();
+ 54 0 for (int i = 0; i < Math.min(256, byteString.size()); i++) {
+ 55 0 stBuilder.append(String.format("%02x" , byteString.byteAt(i)));
+ 56
+ }
+ 57 0 if (byteString.size() > 256) {
+ 58 0 stBuilder.append("..." );
+ 59
+ }
+ 60 0 return toStringHelper.add("bytes" , stBuilder.toString()).toString();
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public int hashCode() {
+ 65 0 return byteString.hashCode();
+ 66
+ }
+ 67
+
+ 68
+ @Override
+ 69
+ public boolean equals(Object obj) {
+ 70 0 return obj == this || obj instanceof Blob && byteString.equals(((Blob) obj).byteString);
+ 71
+ }
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+ public int length() {
+ 77 0 return byteString.size();
+ 78
+ }
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+ public byte [] toByteArray() {
+ 84 0 return byteString.toByteArray();
+ 85
+ }
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+ public ByteBuffer asReadOnlyByteBuffer() {
+ 91 0 return byteString.asReadOnlyByteBuffer();
+ 92
+ }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+ public InputStream asInputStream() {
+ 98 0 final ByteBuffer byteBuffer = asReadOnlyByteBuffer();
+ 99 0 return new InputStream() {
+ 100
+ @Override public int read() {
+ 101 0 return !byteBuffer.hasRemaining() ? -1 : byteBuffer.get() & 0xFF;
+ 102
+ }
+ 103
+ };
+ 104
+ }
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+ public void copyTo(ByteBuffer target) {
+ 114 0 byteString.copyTo(target);
+ 115 0 }
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+
+ 122
+ public void copyTo(byte [] target) {
+ 123 0 byteString.copyTo(target, 0, 0, length());
+ 124 0 }
+ 125
+
+ 126
+ ByteString byteString() {
+ 127 0 return byteString;
+ 128
+ }
+ 129
+
+ 130
+ public static Blob copyFrom(byte [] bytes) {
+ 131 0 return new Blob(ByteString.copyFrom(bytes));
+ 132
+ }
+ 133
+
+ 134
+ public static Blob copyFrom(ByteBuffer bytes) {
+ 135 0 return new Blob(ByteString.copyFrom(bytes));
+ 136
+ }
+ 137
+
+ 138
+ public static Blob copyFrom(InputStream input) throws IOException {
+ 139 0 BufferedInputStream bufferedInput = new BufferedInputStream(input);
+ 140 0 ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ 141
+ int value;
+ 142 0 while ((value = bufferedInput.read()) != -1) {
+ 143 0 bytes.write(value);
+ 144
+ }
+ 145 0 return copyFrom(bytes.toByteArray());
+ 146
+ }
+ 147
+
+ 148
+ @Override
+ 149
+ protected Value toPb() {
+ 150 0 return DatastoreV1.Value.newBuilder().setBlobValue(byteString).build();
+ 151
+ }
+ 152
+
+ 153
+ @Override
+ 154
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 155 0 return new Blob(DatastoreV1.Value.parseFrom(bytesPb).getBlobValue());
+ 156
+ }
+ 157
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BlobValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BlobValue.html
new file mode 100644
index 000000000000..67a05cfbc6f1
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BlobValue.html
@@ -0,0 +1,179 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BlobValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.BLOB_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class BlobValue extends Value<Blob> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<Blob, BlobValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Blob, BlobValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -823515687083612387L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34 0 return BLOB_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Blob value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Blob getValue(DatastoreV1.Value from) {
+ 44 0 return new Blob(from.getBlobValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(BlobValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setBlobValue(from.get().byteString());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Blob, BlobValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.BLOB);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public BlobValue build() {
+ 61 0 return new BlobValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public BlobValue(Blob blob) {
+ 66 0 this (builder(blob));
+ 67 0 }
+ 68
+
+ 69
+ private BlobValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static BlobValue of(Blob blob) {
+ 79 0 return new BlobValue(blob);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(Blob blob) {
+ 83 0 return new Builder().set(blob);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.BooleanValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.BooleanValue.html
new file mode 100644
index 000000000000..0a3c008782e7
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.BooleanValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BooleanValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.BOOLEAN_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class BooleanValue extends Value<Boolean> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -542649497897250340L;
+ 26
+
+ 27 0 static final BaseMarshaller<Boolean, BooleanValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Boolean, BooleanValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 7080467411349092522L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return BOOLEAN_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Boolean value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Boolean getValue(DatastoreV1.Value from) {
+ 44 0 return from.getBooleanValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(BooleanValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setBooleanValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Boolean, BooleanValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.BOOLEAN);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public BooleanValue build() {
+ 61 0 return new BooleanValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public BooleanValue(boolean value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private BooleanValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static BooleanValue of(boolean value) {
+ 79 0 return new BooleanValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(boolean value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Cursor.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Cursor.html
new file mode 100644
index 000000000000..81908becb6aa
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Cursor.html
@@ -0,0 +1,232 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Cursor
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 24
+ import com.google.common.base.MoreObjects;
+ 25
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 26
+ import com.google.common.base.Preconditions;
+ 27
+ import com.google.protobuf.ByteString;
+ 28
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 29
+ import com.google.protobuf.TextFormat;
+ 30
+ import com.google.protobuf.TextFormat.ParseException;
+ 31
+
+ 32
+ import java.io.UnsupportedEncodingException;
+ 33
+ import java.net.URLDecoder;
+ 34
+ import java.net.URLEncoder;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40 0 public final class Cursor extends Serializable<DatastoreV1.Value> {
+ 41
+
+ 42
+ private static final long serialVersionUID = -1423744878777486541L;
+ 43
+
+ 44
+ private final transient ByteString byteString;
+ 45
+
+ 46 0 Cursor(ByteString byteString) {
+ 47 0 Preconditions.checkArgument(byteString.isValidUtf8(), "content is not a valid UTF-8" );
+ 48 0 this .byteString = byteString;
+ 49 0 }
+ 50
+
+ 51
+ @Override
+ 52
+ public int hashCode() {
+ 53 0 return byteString.hashCode();
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ public boolean equals(Object obj) {
+ 58 0 return obj == this || obj instanceof Cursor && byteString.equals(((Cursor) obj).byteString);
+ 59
+ }
+ 60
+
+ 61
+ @Override
+ 62
+ public String toString() {
+ 63 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 64 0 StringBuilder stBuilder = new StringBuilder();
+ 65 0 for (int i = 0; i < byteString.size(); i++) {
+ 66 0 stBuilder.append(String.format("%02x" , byteString.byteAt(i)));
+ 67
+ }
+ 68 0 return toStringHelper.add("bytes" , stBuilder.toString()).toString();
+ 69
+ }
+ 70
+
+ 71
+ ByteString byteString() {
+ 72 0 return byteString;
+ 73
+ }
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+ public String toUrlSafe() {
+ 79
+ try {
+ 80 0 return URLEncoder.encode(TextFormat.printToString(toPb()), UTF_8.name());
+ 81 0 } catch (UnsupportedEncodingException e) {
+ 82 0 throw new IllegalStateException("Unexpected encoding exception" , e);
+ 83
+ }
+ 84
+ }
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ public static Cursor fromUrlSafe(String urlSafe) {
+ 90
+ try {
+ 91 0 String utf8Str = URLDecoder.decode(urlSafe, UTF_8.name());
+ 92 0 DatastoreV1.Value.Builder builder = DatastoreV1.Value.newBuilder();
+ 93 0 TextFormat.merge(utf8Str, builder);
+ 94 0 return fromPb(builder.build());
+ 95 0 } catch (UnsupportedEncodingException | ParseException e) {
+ 96 0 throw new IllegalStateException("Unexpected decoding exception" , e);
+ 97
+ }
+ 98
+ }
+ 99
+
+ 100
+ public static Cursor copyFrom(byte [] bytes) {
+ 101 0 return new Cursor(ByteString.copyFrom(checkNotNull(bytes)));
+ 102
+ }
+ 103
+
+ 104
+ @Override
+ 105
+ protected Value toPb() {
+ 106 0 return DatastoreV1.Value.newBuilder().setBlobValue(byteString).build();
+ 107
+ }
+ 108
+
+ 109
+ @Override
+ 110
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 111 0 return fromPb(DatastoreV1.Value.parseFrom(bytesPb));
+ 112
+ }
+ 113
+
+ 114
+ static Cursor fromPb(DatastoreV1.Value valuePb) {
+ 115 0 return new Cursor(valuePb.getBlobValue());
+ 116
+ }
+ 117
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Datastore.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Datastore.html
new file mode 100644
index 000000000000..6ab5c581b04a
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Datastore.html
@@ -0,0 +1,243 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Datastore
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.gcloud.Service;
+ 20
+
+ 21
+ import java.util.List;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+ public interface Datastore extends Service<DatastoreOptions>, DatastoreReaderWriter {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+ Transaction newTransaction(TransactionOption... options);
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ interface TransactionCallable<T> {
+ 45
+ T run(DatastoreReaderWriter readerWriter) throws Exception;
+ 46
+ }
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ <T> T runInTransaction(TransactionCallable<T> callable, TransactionOption... options);
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ Batch newBatch(BatchOption... options);
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ Key allocateId(IncompleteKey key);
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ List<Key> allocateId(IncompleteKey... key);
+ 83
+
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+ @Override
+ 89
+ void update(Entity... entity);
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+ @Override
+ 96
+ void put(Entity... entity);
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+ @Override
+ 103
+ void delete(Key... key);
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+ KeyFactory newKeyFactory();
+ 109
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html
new file mode 100644
index 000000000000..d146fd3c602c
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html
@@ -0,0 +1,186 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreBatchWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ interface DatastoreBatchWriter extends DatastoreWriter {
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ void addWithDeferredIdAllocation(FullEntity<?>... entity);
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ @Override
+ 48
+ List<Entity> add(FullEntity<?>... entity);
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+ @Override
+ 58
+ void update(Entity... entity);
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ @Override
+ 67
+ void delete(Key... key);
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ @Override
+ 75
+ void put(Entity... entity);
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+ boolean active();
+ 81
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreException.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreException.html
new file mode 100644
index 000000000000..9321b6f8b5fd
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreException.html
@@ -0,0 +1,294 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableMap;
+ 21
+ import com.google.gcloud.RetryHelper;
+ 22
+ import com.google.gcloud.RetryHelper.RetryHelperException;
+ 23
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 24
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason;
+ 25
+
+ 26
+ import java.util.HashMap;
+ 27
+ import java.util.Map;
+ 28
+
+ 29
+ public class DatastoreException extends RuntimeException {
+ 30
+
+ 31
+ private static final long serialVersionUID = 8170357898917041899L;
+ 32
+ private static final ImmutableMap<String, Code> REASON_TO_CODE;
+ 33
+ private static final ImmutableMap<Integer, Code> HTTP_TO_CODE;
+ 34
+
+ 35
+ private final Code code;
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43 0 public enum Code {
+ 44
+
+ 45 0 ABORTED(Reason.ABORTED),
+ 46 0 DEADLINE_EXCEEDED(Reason.DEADLINE_EXCEEDED),
+ 47 0 UNAVAILABLE(Reason.UNAVAILABLE),
+ 48 0 FAILED_PRECONDITION(Reason.FAILED_PRECONDITION),
+ 49 0 INVALID_ARGUMENT(Reason.INVALID_ARGUMENT),
+ 50 0 PERMISSION_DENIED(Reason.PERMISSION_DENIED),
+ 51 0 UNAUTHORIZED(false , "Unauthorized" , 401),
+ 52 0 INTERNAL(Reason.INTERNAL),
+ 53 0 RESOURCE_EXHAUSTED(Reason.RESOURCE_EXHAUSTED),
+ 54 0 UNKNOWN(false , "Unknown failure" , -1);
+ 55
+
+ 56
+ private final boolean retryable;
+ 57
+ private final String description;
+ 58
+ private final int httpStatus;
+ 59
+
+ 60
+ Code(Reason reason) {
+ 61 0 this (reason.retryable(), reason.description(), reason.httpStatus());
+ 62 0 }
+ 63
+
+ 64
+ Code(boolean retryable, String description, int httpStatus) {
+ 65
+ this .retryable = retryable;
+ 66
+ this .description = description;
+ 67
+ this .httpStatus = httpStatus;
+ 68
+ }
+ 69
+
+ 70
+ public String description() {
+ 71 0 return description;
+ 72
+ }
+ 73
+
+ 74
+ public int httpStatus() {
+ 75 0 return httpStatus;
+ 76
+ }
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public boolean retryable() {
+ 83 0 return retryable;
+ 84
+ }
+ 85
+
+ 86
+ DatastoreException translate(DatastoreRpcException exception, String message) {
+ 87 0 return new DatastoreException(this , message, exception);
+ 88
+ }
+ 89
+ }
+ 90
+
+ 91
+ static {
+ 92 0 ImmutableMap.Builder<String, Code> builder = ImmutableMap.builder();
+ 93 0 Map<Integer, Code> httpCodes = new HashMap<>();
+ 94 0 for (Code code : Code.values()) {
+ 95 0 builder.put(code.name(), code);
+ 96 0 httpCodes.put(code.httpStatus(), code);
+ 97
+ }
+ 98 0 REASON_TO_CODE = builder.build();
+ 99 0 HTTP_TO_CODE = ImmutableMap.copyOf(httpCodes);
+ 100 0 }
+ 101
+
+ 102
+ public DatastoreException(Code code, String message, Exception cause) {
+ 103 0 super (MoreObjects.firstNonNull(message, code.description), cause);
+ 104 0 this .code = code;
+ 105 0 }
+ 106
+
+ 107
+ public DatastoreException(Code code, String message) {
+ 108 0 this (code, message, null );
+ 109 0 }
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+ public Code code() {
+ 115 0 return code;
+ 116
+ }
+ 117
+
+ 118
+ static DatastoreException translateAndThrow(RetryHelperException ex) {
+ 119 0 if (ex.getCause() instanceof DatastoreRpcException) {
+ 120 0 return translateAndThrow((DatastoreRpcException) ex.getCause());
+ 121
+ }
+ 122 0 if (ex instanceof RetryHelper.RetryInterruptedException) {
+ 123 0 RetryHelper.RetryInterruptedException.propagate();
+ 124
+ }
+ 125 0 throw new DatastoreException(Code.UNKNOWN, ex.getMessage(), ex);
+ 126
+ }
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+ static DatastoreException translateAndThrow(DatastoreRpcException exception) {
+ 135 0 String message = exception.getMessage();
+ 136 0 Code code = REASON_TO_CODE.get(exception.reason());
+ 137 0 if (code == null ) {
+ 138 0 code = MoreObjects.firstNonNull(HTTP_TO_CODE.get(exception.httpStatus()), Code.UNKNOWN);
+ 139
+ }
+ 140 0 throw code.translate(exception, message);
+ 141
+ }
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+ static DatastoreException throwInvalidRequest(String massage, Object... params) {
+ 150 0 throw new DatastoreException(Code.FAILED_PRECONDITION, String.format(massage, params));
+ 151
+ }
+ 152
+
+ 153
+ static DatastoreException propagateUserException(Exception ex) {
+ 154 0 throw new DatastoreException(Code.UNKNOWN, ex.getMessage(), ex);
+ 155
+ }
+ 156
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreFactory.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreFactory.html
new file mode 100644
index 000000000000..31c31a4d7a53
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreFactory.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public abstract class DatastoreFactory {
+ 24
+
+ 25 0 private static final DatastoreFactory INSTANCE = new DatastoreFactory() {
+ 26
+ @Override
+ 27
+ public Datastore get(DatastoreOptions options) {
+ 28 0 return new DatastoreImpl(options);
+ 29
+ }
+ 30
+ };
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ public static DatastoreFactory instance() {
+ 36 0 return INSTANCE;
+ 37
+ }
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+ public abstract Datastore get(DatastoreOptions options);
+ 43
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreHelper.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreHelper.html
new file mode 100644
index 000000000000..a30d2f44a073
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreHelper.html
@@ -0,0 +1,177 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreHelper
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.Iterators;
+ 20
+ import com.google.common.collect.Maps;
+ 21
+
+ 22
+ import java.util.ArrayList;
+ 23
+ import java.util.Iterator;
+ 24
+ import java.util.List;
+ 25
+ import java.util.Map;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ class DatastoreHelper {
+ 32
+
+ 33
+ private DatastoreHelper() {
+ 34
+ }
+ 35
+
+ 36
+
+ 37
+ static Key allocateId(Datastore service, IncompleteKey key) {
+ 38 0 return service.allocateId(new IncompleteKey[]{key}).get(0);
+ 39
+ }
+ 40
+
+ 41
+ static Entity get(DatastoreReader reader, Key key) {
+ 42 0 return Iterators.getNext(reader.get(new Key[]{key}), null );
+ 43
+ }
+ 44
+
+ 45
+ static Entity add(DatastoreWriter writer, FullEntity<?> entity) {
+ 46 0 return writer.add(new FullEntity<?>[] {entity}).get(0);
+ 47
+ }
+ 48
+
+ 49
+ static KeyFactory newKeyFactory(DatastoreOptions options) {
+ 50 0 return new KeyFactory(options.projectId(), options.namespace());
+ 51
+ }
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+ static List<Entity> fetch(DatastoreReader reader, Key... keys) {
+ 58 0 Iterator<Entity> entities = reader.get(keys);
+ 59 0 Map<Key, Entity> map = Maps.newHashMapWithExpectedSize(keys.length);
+ 60 0 while (entities.hasNext()) {
+ 61 0 Entity entity = entities.next();
+ 62 0 map.put(entity.key(), entity);
+ 63 0 }
+ 64 0 List<Entity> list = new ArrayList<>(keys.length);
+ 65 0 for (Key key : keys) {
+ 66
+
+ 67 0 list.add(map.get(key));
+ 68
+ }
+ 69 0 return list;
+ 70
+ }
+ 71
+
+ 72
+ static <T> T runInTransaction(Datastore datastore,
+ 73
+ Datastore.TransactionCallable<T> callable, TransactionOption... options) {
+ 74 0 Transaction transaction = datastore.newTransaction(options);
+ 75
+ try {
+ 76 0 T value = callable.run(transaction);
+ 77 0 transaction.commit();
+ 78 0 return value;
+ 79 0 } catch (Exception ex) {
+ 80 0 transaction.rollback();
+ 81 0 throw DatastoreException.propagateUserException(ex);
+ 82
+ } finally {
+ 83 0 if (transaction.active()) {
+ 84 0 transaction.rollback();
+ 85
+ }
+ 86
+ }
+ 87
+ }
+ 88
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreImpl.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreImpl.html
new file mode 100644
index 000000000000..e4594f02ac4f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreImpl.html
@@ -0,0 +1,641 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.MoreObjects;
+ 21
+ import com.google.common.base.Preconditions;
+ 22
+ import com.google.common.collect.AbstractIterator;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+ import com.google.common.collect.Sets;
+ 25
+ import com.google.gcloud.BaseService;
+ 26
+ import com.google.gcloud.ExceptionHandler;
+ 27
+ import com.google.gcloud.ExceptionHandler.Interceptor;
+ 28
+ import com.google.gcloud.RetryHelper;
+ 29
+ import com.google.gcloud.RetryHelper.RetryHelperException;
+ 30
+ import com.google.gcloud.RetryParams;
+ 31
+ import com.google.gcloud.spi.DatastoreRpc;
+ 32
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 33
+ import com.google.protobuf.ByteString;
+ 34
+
+ 35
+ import java.util.Arrays;
+ 36
+ import java.util.Collections;
+ 37
+ import java.util.Iterator;
+ 38
+ import java.util.LinkedHashMap;
+ 39
+ import java.util.LinkedHashSet;
+ 40
+ import java.util.List;
+ 41
+ import java.util.Map;
+ 42
+ import java.util.Set;
+ 43
+ import java.util.concurrent.Callable;
+ 44
+
+ 45
+
+ 46 0 final class DatastoreImpl extends BaseService<DatastoreOptions>
+ 47
+ implements Datastore {
+ 48
+
+ 49 0 private static final Interceptor EXCEPTION_HANDLER_INTERCEPTOR =
+ 50
+ new Interceptor() {
+ 51
+
+ 52
+ private static final long serialVersionUID = 6911242958397733203L;
+ 53
+
+ 54
+ @Override
+ 55
+ public RetryResult afterEval(Exception exception, RetryResult retryResult) {
+ 56 0 return null ;
+ 57
+ }
+ 58
+
+ 59
+ @Override
+ 60
+ public RetryResult beforeEval(Exception exception) {
+ 61 0 if (exception instanceof DatastoreRpcException) {
+ 62 0 boolean retryable = ((DatastoreRpcException) exception).retryable();
+ 63 0 return retryable ? Interceptor.RetryResult.RETRY : Interceptor.RetryResult.ABORT;
+ 64
+ }
+ 65 0 return null ;
+ 66
+ }
+ 67
+ };
+ 68 0 private static final ExceptionHandler EXCEPTION_HANDLER = ExceptionHandler.builder()
+ 69 0 .abortOn(RuntimeException.class , DatastoreRpcException.class )
+ 70 0 .interceptor(EXCEPTION_HANDLER_INTERCEPTOR).build();
+ 71
+
+ 72
+ private final DatastoreRpc datastoreRpc;
+ 73
+ private final RetryParams retryParams;
+ 74
+
+ 75
+ DatastoreImpl(DatastoreOptions options) {
+ 76 0 super (options);
+ 77 0 this .datastoreRpc = options.datastoreRpc();
+ 78 0 retryParams = MoreObjects.firstNonNull(options.retryParams(), RetryParams.noRetries());
+ 79 0 }
+ 80
+
+ 81
+ @Override
+ 82
+ public Batch newBatch(BatchOption... options) {
+ 83 0 return new BatchImpl(this , options);
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public Transaction newTransaction(TransactionOption... options) {
+ 88 0 return new TransactionImpl(this , options);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public <T> T runInTransaction(TransactionCallable<T> callable, TransactionOption... options) {
+ 93 0 return DatastoreHelper.runInTransaction(this , callable, options);
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public <T> QueryResults<T> run(Query<T> query) {
+ 98 0 return run(null , query);
+ 99
+ }
+ 100
+
+ 101
+ <T> QueryResults<T> run(DatastoreV1.ReadOptions readOptionsPb, Query<T> query) {
+ 102 0 return new QueryResultsImpl<>(this , readOptionsPb, query);
+ 103
+ }
+ 104
+
+ 105
+ DatastoreV1.RunQueryResponse runQuery(final DatastoreV1.RunQueryRequest requestPb) {
+ 106
+ try {
+ 107 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.RunQueryResponse>() {
+ 108
+ @Override public DatastoreV1.RunQueryResponse call() throws DatastoreRpcException {
+ 109 0 return datastoreRpc.runQuery(requestPb);
+ 110
+ }
+ 111
+ }, retryParams, EXCEPTION_HANDLER);
+ 112 0 } catch (RetryHelperException e) {
+ 113 0 throw DatastoreException.translateAndThrow(e);
+ 114
+ }
+ 115
+ }
+ 116
+
+ 117
+ @Override
+ 118
+ public Key allocateId(IncompleteKey key) {
+ 119 0 return DatastoreHelper.allocateId(this , key);
+ 120
+ }
+ 121
+
+ 122
+ @Override
+ 123
+ public List<Key> allocateId(IncompleteKey... keys) {
+ 124 0 if (keys.length == 0) {
+ 125 0 return Collections.emptyList();
+ 126
+ }
+ 127 0 DatastoreV1.AllocateIdsRequest.Builder requestPb = DatastoreV1.AllocateIdsRequest.newBuilder();
+ 128 0 for (IncompleteKey key : keys) {
+ 129 0 requestPb.addKey(trimNameOrId(key).toPb());
+ 130
+ }
+ 131 0 DatastoreV1.AllocateIdsResponse responsePb = allocateIds(requestPb.build());
+ 132 0 ImmutableList.Builder<Key> keyList = ImmutableList.builder();
+ 133 0 for (DatastoreV1.Key keyPb : responsePb.getKeyList()) {
+ 134 0 keyList.add(Key.fromPb(keyPb));
+ 135 0 }
+ 136 0 return keyList.build();
+ 137
+ }
+ 138
+
+ 139
+ DatastoreV1.AllocateIdsResponse allocateIds(final DatastoreV1.AllocateIdsRequest requestPb) {
+ 140
+ try {
+ 141 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.AllocateIdsResponse>() {
+ 142
+ @Override public DatastoreV1.AllocateIdsResponse call() throws DatastoreRpcException {
+ 143 0 return datastoreRpc.allocateIds(requestPb);
+ 144
+ }
+ 145
+ }, retryParams, EXCEPTION_HANDLER);
+ 146 0 } catch (RetryHelperException e) {
+ 147 0 throw DatastoreException.translateAndThrow(e);
+ 148
+ }
+ 149
+ }
+ 150
+
+ 151
+ private IncompleteKey trimNameOrId(IncompleteKey key) {
+ 152 0 if (key instanceof Key) {
+ 153 0 return IncompleteKey.builder(key).build();
+ 154
+ }
+ 155 0 return key;
+ 156
+ }
+ 157
+
+ 158
+ @Override
+ 159
+ public Entity add(FullEntity<?> entity) {
+ 160 0 return DatastoreHelper.add(this , entity);
+ 161
+ }
+ 162
+
+ 163
+ @SuppressWarnings("unchecked" )
+ 164
+ @Override
+ 165
+ public List<Entity> add(FullEntity<?>... entities) {
+ 166 0 if (entities.length == 0) {
+ 167 0 return Collections.emptyList();
+ 168
+ }
+ 169 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 170 0 Map<Key, Entity> completeEntities = new LinkedHashMap<>();
+ 171 0 for (FullEntity<?> entity : entities) {
+ 172 0 Entity completeEntity = null ;
+ 173 0 if (entity.key() instanceof Key) {
+ 174 0 completeEntity = Entity.convert((FullEntity<Key>) entity);
+ 175
+ }
+ 176 0 if (completeEntity != null ) {
+ 177 0 if (completeEntities.put(completeEntity.key(), completeEntity) != null ) {
+ 178 0 throw DatastoreException.throwInvalidRequest(
+ 179 0 "Duplicate entity with the key %s" , entity.key());
+ 180
+ }
+ 181 0 mutationPb.addInsert(completeEntity.toPb());
+ 182
+ } else {
+ 183 0 Preconditions.checkArgument(entity.hasKey(), "entity %s is missing a key" , entity);
+ 184 0 mutationPb.addInsertAutoId(entity.toPb());
+ 185
+ }
+ 186
+ }
+ 187 0 DatastoreV1.CommitResponse commitResponse = commitMutation(mutationPb);
+ 188 0 Iterator<DatastoreV1.Key> allocatedKeys =
+ 189 0 commitResponse.getMutationResult().getInsertAutoIdKeyList().iterator();
+ 190 0 ImmutableList.Builder<Entity> responseBuilder = ImmutableList.builder();
+ 191 0 for (FullEntity<?> entity : entities) {
+ 192 0 Entity completeEntity = completeEntities.get(entity.key());
+ 193 0 if (completeEntity != null ) {
+ 194 0 responseBuilder.add(completeEntity);
+ 195
+ } else {
+ 196 0 responseBuilder.add(Entity.builder(Key.fromPb(allocatedKeys.next()), entity).build());
+ 197
+ }
+ 198
+ }
+ 199 0 return responseBuilder.build();
+ 200
+ }
+ 201
+
+ 202
+ @Override
+ 203
+ public Entity get(Key key) {
+ 204 0 return DatastoreHelper.get(this , key);
+ 205
+ }
+ 206
+
+ 207
+ @Override
+ 208
+ public Iterator<Entity> get(Key... keys) {
+ 209 0 return get(null , keys);
+ 210
+ }
+ 211
+
+ 212
+ @Override
+ 213
+ public List<Entity> fetch(Key... keys) {
+ 214 0 return DatastoreHelper.fetch(this , keys);
+ 215
+ }
+ 216
+
+ 217
+ Iterator<Entity> get(DatastoreV1.ReadOptions readOptionsPb, final Key... keys) {
+ 218 0 if (keys.length == 0) {
+ 219 0 return Collections.emptyIterator();
+ 220
+ }
+ 221 0 DatastoreV1.LookupRequest.Builder requestPb = DatastoreV1.LookupRequest.newBuilder();
+ 222 0 if (readOptionsPb != null ) {
+ 223 0 requestPb.setReadOptions(readOptionsPb);
+ 224
+ }
+ 225 0 for (Key k : Sets.newLinkedHashSet(Arrays.asList(keys))) {
+ 226 0 requestPb.addKey(k.toPb());
+ 227 0 }
+ 228 0 return new ResultsIterator(requestPb);
+ 229
+ }
+ 230
+
+ 231 0 final class ResultsIterator extends AbstractIterator<Entity> {
+ 232
+
+ 233
+ private final DatastoreV1.LookupRequest.Builder requestPb;
+ 234
+ Iterator<DatastoreV1.EntityResult> iter;
+ 235
+
+ 236 0 ResultsIterator(DatastoreV1.LookupRequest.Builder requestPb) {
+ 237 0 this .requestPb = requestPb;
+ 238 0 loadResults();
+ 239 0 }
+ 240
+
+ 241
+ private void loadResults() {
+ 242 0 DatastoreV1.LookupResponse responsePb = lookup(requestPb.build());
+ 243 0 iter = responsePb.getFoundList().iterator();
+ 244 0 requestPb.clearKey();
+ 245 0 if (responsePb.getDeferredCount() > 0) {
+ 246 0 requestPb.addAllKey(responsePb.getDeferredList());
+ 247
+ }
+ 248 0 }
+ 249
+
+ 250
+ @SuppressWarnings("unchecked" )
+ 251
+ @Override
+ 252
+ protected Entity computeNext() {
+ 253 0 while (!iter.hasNext()) {
+ 254 0 if (requestPb.getKeyCount() == 0) {
+ 255 0 return endOfData();
+ 256
+ }
+ 257 0 loadResults();
+ 258
+ }
+ 259 0 return Entity.fromPb(iter.next().getEntity());
+ 260
+ }
+ 261
+ }
+ 262
+
+ 263
+ DatastoreV1.LookupResponse lookup(final DatastoreV1.LookupRequest requestPb) {
+ 264
+ try {
+ 265 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.LookupResponse>() {
+ 266
+ @Override public DatastoreV1.LookupResponse call() throws DatastoreRpcException {
+ 267 0 return datastoreRpc.lookup(requestPb);
+ 268
+ }
+ 269
+ }, retryParams, EXCEPTION_HANDLER);
+ 270 0 } catch (RetryHelperException e) {
+ 271 0 throw DatastoreException.translateAndThrow(e);
+ 272
+ }
+ 273
+ }
+ 274
+
+ 275
+ @SafeVarargs
+ 276
+ @Override
+ 277
+ public final void update(Entity... entities) {
+ 278 0 if (entities.length > 0) {
+ 279 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 280 0 Map<Key, Entity> dedupEntities = new LinkedHashMap<>();
+ 281 0 for (Entity entity : entities) {
+ 282 0 dedupEntities.put(entity.key(), entity);
+ 283
+ }
+ 284 0 for (Entity entity : dedupEntities.values()) {
+ 285 0 mutationPb.addUpdate(entity.toPb());
+ 286 0 }
+ 287 0 commitMutation(mutationPb);
+ 288
+ }
+ 289 0 }
+ 290
+
+ 291
+ @SafeVarargs
+ 292
+ @Override
+ 293
+ public final void put(Entity... entities) {
+ 294 0 if (entities.length > 0) {
+ 295 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 296 0 Map<Key, Entity> dedupEntities = new LinkedHashMap<>();
+ 297 0 for (Entity entity : entities) {
+ 298 0 dedupEntities.put(entity.key(), entity);
+ 299
+ }
+ 300 0 for (Entity e : dedupEntities.values()) {
+ 301 0 mutationPb.addUpsert(e.toPb());
+ 302 0 }
+ 303 0 commitMutation(mutationPb);
+ 304
+ }
+ 305 0 }
+ 306
+
+ 307
+ @Override
+ 308
+ public void delete(Key... keys) {
+ 309 0 if (keys.length > 0) {
+ 310 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 311 0 Set<Key> dedupKeys = new LinkedHashSet<>(Arrays.asList(keys));
+ 312 0 for (Key key : dedupKeys) {
+ 313 0 mutationPb.addDelete(key.toPb());
+ 314 0 }
+ 315 0 commitMutation(mutationPb);
+ 316
+ }
+ 317 0 }
+ 318
+
+ 319
+ @Override
+ 320
+ public KeyFactory newKeyFactory() {
+ 321 0 return DatastoreHelper.newKeyFactory(options());
+ 322
+ }
+ 323
+
+ 324
+ private DatastoreV1.CommitResponse commitMutation(DatastoreV1.Mutation.Builder mutationPb) {
+ 325 0 if (options().force()) {
+ 326 0 mutationPb.setForce(true );
+ 327
+ }
+ 328 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 329 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.NON_TRANSACTIONAL);
+ 330 0 requestPb.setMutation(mutationPb);
+ 331 0 return commit(requestPb.build());
+ 332
+ }
+ 333
+
+ 334
+ DatastoreV1.CommitResponse commit(final DatastoreV1.CommitRequest requestPb) {
+ 335
+ try {
+ 336 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.CommitResponse>() {
+ 337
+ @Override public DatastoreV1.CommitResponse call() throws DatastoreRpcException {
+ 338 0 return datastoreRpc.commit(requestPb);
+ 339
+ }
+ 340
+ }, retryParams, EXCEPTION_HANDLER);
+ 341 0 } catch (RetryHelperException e) {
+ 342 0 throw DatastoreException.translateAndThrow(e);
+ 343
+ }
+ 344
+ }
+ 345
+
+ 346
+ ByteString requestTransactionId(DatastoreV1.BeginTransactionRequest.Builder requestPb) {
+ 347 0 return beginTransaction(requestPb.build()).getTransaction();
+ 348
+ }
+ 349
+
+ 350
+ DatastoreV1.BeginTransactionResponse beginTransaction(
+ 351
+ final DatastoreV1.BeginTransactionRequest requestPb) {
+ 352
+ try {
+ 353 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.BeginTransactionResponse>() {
+ 354
+ @Override
+ 355
+ public DatastoreV1.BeginTransactionResponse call() throws DatastoreRpcException {
+ 356 0 return datastoreRpc.beginTransaction(requestPb);
+ 357
+ }
+ 358
+ }, retryParams, EXCEPTION_HANDLER);
+ 359 0 } catch (RetryHelperException e) {
+ 360 0 throw DatastoreException.translateAndThrow(e);
+ 361
+ }
+ 362
+ }
+ 363
+
+ 364
+ void rollbackTransaction(ByteString transaction) {
+ 365 0 DatastoreV1.RollbackRequest.Builder requestPb = DatastoreV1.RollbackRequest.newBuilder();
+ 366 0 requestPb.setTransaction(transaction);
+ 367 0 rollback(requestPb.build());
+ 368 0 }
+ 369
+
+ 370
+ void rollback(final DatastoreV1.RollbackRequest requestPb) {
+ 371
+ try {
+ 372 0 RetryHelper.runWithRetries(new Callable<Void>() {
+ 373
+ @Override public Void call() throws DatastoreRpcException {
+ 374 0 datastoreRpc.rollback(requestPb);
+ 375 0 return null ;
+ 376
+ }
+ 377
+ }, retryParams, EXCEPTION_HANDLER);
+ 378 0 } catch (RetryHelperException e) {
+ 379 0 throw DatastoreException.translateAndThrow(e);
+ 380 0 }
+ 381 0 }
+ 382
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreOptions.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreOptions.html
new file mode 100644
index 000000000000..ca2cfcfc49d2
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreOptions.html
@@ -0,0 +1,362 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.EntityResult;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 24
+ import com.google.common.collect.ImmutableSet;
+ 25
+ import com.google.common.collect.Iterables;
+ 26
+ import com.google.gcloud.ServiceOptions;
+ 27
+ import com.google.gcloud.spi.DatastoreRpc;
+ 28
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 29
+ import com.google.gcloud.spi.DatastoreRpcFactory;
+ 30
+ import com.google.gcloud.spi.DefaultDatastoreRpc;
+ 31
+
+ 32
+ import java.lang.reflect.Method;
+ 33
+ import java.util.Iterator;
+ 34
+ import java.util.Objects;
+ 35
+ import java.util.Set;
+ 36
+
+ 37 0 public class DatastoreOptions extends ServiceOptions<DatastoreRpc, DatastoreOptions> {
+ 38
+
+ 39
+ private static final long serialVersionUID = -8636602944160689193L;
+ 40
+ private static final String DATASET_ENV_NAME = "DATASTORE_DATASET" ;
+ 41
+ private static final String DATASTORE_SCOPE = "https://www.googleapis.com/auth/datastore" ;
+ 42
+ private static final String USERINFO_SCOPE = "https://www.googleapis.com/auth/userinfo.email" ;
+ 43 0 private static final Set<String> SCOPES = ImmutableSet.of(DATASTORE_SCOPE, USERINFO_SCOPE);
+ 44
+
+ 45
+ private final String namespace;
+ 46
+ private final boolean force;
+ 47
+ private final boolean normalizeDataset;
+ 48
+ private transient DatastoreRpc datastoreRpc;
+ 49
+
+ 50 0 public static class Builder extends
+ 51
+ ServiceOptions.Builder<DatastoreRpc, DatastoreOptions, Builder> {
+ 52
+
+ 53
+ private String namespace;
+ 54
+ private boolean force;
+ 55 0 private boolean normalizeDataset = true ;
+ 56
+
+ 57
+ private Builder() {
+ 58
+ }
+ 59
+
+ 60
+ private Builder(DatastoreOptions options) {
+ 61 0 super (options);
+ 62 0 force = options.force;
+ 63 0 namespace = options.namespace;
+ 64 0 normalizeDataset = options.normalizeDataset;
+ 65 0 }
+ 66
+
+ 67
+ @Override
+ 68
+ public DatastoreOptions build() {
+ 69 0 DatastoreOptions options = new DatastoreOptions(this );
+ 70 0 return normalizeDataset ? options.normalize() : options;
+ 71
+ }
+ 72
+
+ 73
+ public Builder namespace(String namespace) {
+ 74 0 this .namespace = validateNamespace(namespace);
+ 75 0 return this ;
+ 76
+ }
+ 77
+
+ 78
+ public Builder force(boolean force) {
+ 79 0 this .force = force;
+ 80 0 return this ;
+ 81
+ }
+ 82
+
+ 83
+ Builder normalizeDataset(boolean normalizeDataset) {
+ 84 0 this .normalizeDataset = normalizeDataset;
+ 85 0 return this ;
+ 86
+ }
+ 87
+ }
+ 88
+
+ 89
+ private DatastoreOptions(Builder builder) {
+ 90 0 super (builder);
+ 91 0 normalizeDataset = builder.normalizeDataset;
+ 92 0 namespace = builder.namespace != null ? builder.namespace : defaultNamespace();
+ 93 0 force = builder.force;
+ 94 0 }
+ 95
+
+ 96
+ private DatastoreOptions normalize() {
+ 97 0 if (!normalizeDataset) {
+ 98 0 return this ;
+ 99
+ }
+ 100
+
+ 101 0 Builder builder = toBuilder();
+ 102 0 builder.normalizeDataset(false );
+ 103
+
+ 104 0 DatastoreV1.LookupRequest.Builder requestPb = DatastoreV1.LookupRequest.newBuilder();
+ 105 0 DatastoreV1.Key key = DatastoreV1.Key.newBuilder()
+ 106 0 .addPathElement(DatastoreV1.Key.PathElement.newBuilder().setKind("__foo__" ).setName("bar" ))
+ 107 0 .build();
+ 108 0 requestPb.addKey(key);
+ 109
+ try {
+ 110 0 LookupResponse responsePb = datastoreRpc().lookup(requestPb.build());
+ 111 0 if (responsePb.getDeferredCount() > 0) {
+ 112 0 key = responsePb.getDeferred(0);
+ 113
+ } else {
+ 114 0 Iterator<EntityResult> combinedIter =
+ 115 0 Iterables.concat(responsePb.getMissingList(), responsePb.getFoundList()).iterator();
+ 116 0 key = combinedIter.next().getEntity().getKey();
+ 117
+ }
+ 118 0 builder.projectId(key.getPartitionId().getDatasetId());
+ 119 0 return new DatastoreOptions(builder);
+ 120 0 } catch (DatastoreRpcException e) {
+ 121 0 throw DatastoreException.translateAndThrow(e);
+ 122
+ }
+ 123
+ }
+ 124
+
+ 125
+ @Override
+ 126
+ protected String defaultProject() {
+ 127 0 String projectId = System.getProperty(DATASET_ENV_NAME, System.getenv(DATASET_ENV_NAME));
+ 128 0 if (projectId == null ) {
+ 129 0 projectId = appEngineAppId();
+ 130
+ }
+ 131 0 return projectId != null ? projectId : super .defaultProject();
+ 132
+ }
+ 133
+
+ 134
+ public String namespace() {
+ 135 0 return namespace;
+ 136
+ }
+ 137
+
+ 138
+ private static String defaultNamespace() {
+ 139
+
+ 140
+
+ 141
+ try {
+ 142 0 Class<?> clazz = Class.forName("com.google.appengine.api.NamespaceManager" );
+ 143 0 Method method = clazz.getMethod("get" );
+ 144 0 String namespace = (String) method.invoke(null );
+ 145 0 return namespace == null || namespace.isEmpty() ? null : namespace;
+ 146 0 } catch (Exception ignore) {
+ 147
+
+ 148 0 return null ;
+ 149
+ }
+ 150
+ }
+ 151
+
+ 152
+ public boolean force() {
+ 153 0 return force;
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ protected Set<String> scopes() {
+ 158 0 return SCOPES;
+ 159
+ }
+ 160
+
+ 161
+ @Override
+ 162
+ public Builder toBuilder() {
+ 163 0 return new Builder(this );
+ 164
+ }
+ 165
+
+ 166
+ @Override
+ 167
+ public int hashCode() {
+ 168 0 return baseHashCode() ^ Objects.hash(namespace, force, normalizeDataset);
+ 169
+ }
+ 170
+
+ 171
+ @Override
+ 172
+ public boolean equals(Object obj) {
+ 173 0 if (!(obj instanceof DatastoreOptions)) {
+ 174 0 return false ;
+ 175
+ }
+ 176 0 DatastoreOptions other = (DatastoreOptions) obj;
+ 177 0 return baseEquals(other) && Objects.equals(namespace, other.namespace)
+ 178 0 && Objects.equals(force, other.force)
+ 179 0 && Objects.equals(normalizeDataset, other.normalizeDataset);
+ 180
+ }
+ 181
+
+ 182
+ DatastoreRpc datastoreRpc() {
+ 183 0 if (datastoreRpc != null ) {
+ 184 0 return datastoreRpc;
+ 185
+ }
+ 186 0 if (serviceRpcFactory() != null ) {
+ 187 0 datastoreRpc = serviceRpcFactory().create(this );
+ 188
+ } else {
+ 189 0 datastoreRpc = createRpc(this , DatastoreRpcFactory.class );
+ 190 0 if (datastoreRpc == null ) {
+ 191 0 datastoreRpc = new DefaultDatastoreRpc(this );
+ 192
+ }
+ 193
+ }
+ 194 0 return datastoreRpc;
+ 195
+ }
+ 196
+
+ 197
+ public static DatastoreOptions defaultInstance() {
+ 198 0 return builder().build();
+ 199
+ }
+ 200
+
+ 201
+ public static Builder builder() {
+ 202 0 return new Builder();
+ 203
+ }
+ 204
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReader.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReader.html
new file mode 100644
index 000000000000..5b0ca0e6cd79
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReader.html
@@ -0,0 +1,142 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreReader
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+ import java.util.List;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface DatastoreReader {
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ Entity get(Key key);
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ Iterator<Entity> get(Key... key);
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ List<Entity> fetch(Key... keys);
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+ <T> QueryResults<T> run(Query<T> query);
+ 59
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html
new file mode 100644
index 000000000000..64c0c4f9c7a3
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html
@@ -0,0 +1,72 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreReaderWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public interface DatastoreReaderWriter extends DatastoreReader, DatastoreWriter {
+ 24
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreWriter.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreWriter.html
new file mode 100644
index 000000000000..32c2cae4b767
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DatastoreWriter.html
@@ -0,0 +1,158 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ public interface DatastoreWriter {
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ Entity add(FullEntity<?> entity);
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ List<Entity> add(FullEntity<?>... entity);
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+ void update(Entity... entity);
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ void put(Entity... entity);
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ void delete(Key... key);
+ 67
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTime.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTime.html
new file mode 100644
index 000000000000..4b13b8435f07
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTime.html
@@ -0,0 +1,227 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DateTime
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 23
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 24
+
+ 25
+ import org.joda.time.format.ISODateTimeFormat;
+ 26
+
+ 27
+ import java.util.Calendar;
+ 28
+ import java.util.Date;
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37 0 public final class DateTime extends Serializable<DatastoreV1.Value>
+ 38
+ implements Comparable<DateTime> {
+ 39
+
+ 40
+ private static final long serialVersionUID = 7343324797621228378L;
+ 41
+
+ 42
+ private final transient long timestampMicroseconds;
+ 43
+
+ 44
+ DateTime(long timestampMicroseconds) {
+ 45
+ this .timestampMicroseconds = timestampMicroseconds;
+ 46
+ }
+ 47
+
+ 48
+ @Override
+ 49
+ public String toString() {
+ 50 0 return ISODateTimeFormat.dateTime().print(timestampMillis());
+ 51
+ }
+ 52
+
+ 53
+ @Override
+ 54
+ public int hashCode() {
+ 55
+ return (int ) timestampMicroseconds;
+ 56
+ }
+ 57
+
+ 58
+ @Override
+ 59
+ public int compareTo(DateTime other) {
+ 60 0 return toDate().compareTo(other.toDate());
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public boolean equals(Object obj) {
+ 65 0 return obj == this
+ 66
+ || (obj instanceof DateTime
+ 67
+ && timestampMicroseconds == ((DateTime) obj).timestampMicroseconds);
+ 68
+ }
+ 69
+
+ 70
+ public long timestampMicroseconds() {
+ 71 0 return timestampMicroseconds;
+ 72
+ }
+ 73
+
+ 74
+ public long timestampMillis() {
+ 75 0 return timestampMicroseconds / 1000L;
+ 76
+ }
+ 77
+
+ 78
+ public Date toDate() {
+ 79 0 return new Date(timestampMillis());
+ 80
+ }
+ 81
+
+ 82
+ public Calendar toCalendar() {
+ 83 0 Calendar cal = Calendar.getInstance();
+ 84 0 cal.setTimeInMillis(timestampMillis());
+ 85 0 return cal;
+ 86
+ }
+ 87
+
+ 88
+ public static DateTime now() {
+ 89 0 return copyFrom(new Date());
+ 90
+ }
+ 91
+
+ 92
+ public static DateTime copyFrom(Date date) {
+ 93 0 return new DateTime(checkNotNull(date).getTime() * 1000L);
+ 94
+ }
+ 95
+
+ 96
+ public static DateTime copyFrom(Calendar calendar) {
+ 97 0 return copyFrom(calendar.getTime());
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ protected Value toPb() {
+ 102 0 return DatastoreV1.Value.newBuilder().setIntegerValue(timestampMicroseconds).build();
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 107 0 return new DateTime(DatastoreV1.Value.parseFrom(bytesPb).getIntegerValue());
+ 108
+ }
+ 109
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTimeValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTimeValue.html
new file mode 100644
index 000000000000..914b13df3969
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DateTimeValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DateTimeValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class DateTimeValue extends Value<DateTime> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<DateTime, DateTimeValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<DateTime, DateTimeValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5695812592049332840L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(DateTime value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected DateTime getValue(DatastoreV1.Value from) {
+ 44 0 return new DateTime(from.getTimestampMicrosecondsValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(DateTimeValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setTimestampMicrosecondsValue(from.get().timestampMicroseconds());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<DateTime, DateTimeValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.DATE_TIME);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public DateTimeValue build() {
+ 61 0 return new DateTimeValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public DateTimeValue(DateTime dateTime) {
+ 66 0 this (builder(dateTime));
+ 67 0 }
+ 68
+
+ 69
+ private DateTimeValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static DateTimeValue of(DateTime dateTime) {
+ 79 0 return new DateTimeValue(dateTime);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(DateTime dateTime) {
+ 83 0 return new Builder().set(dateTime);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.DoubleValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.DoubleValue.html
new file mode 100644
index 000000000000..56c9eb987e19
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.DoubleValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DoubleValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.DOUBLE_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class DoubleValue extends Value<Double> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<Double, DoubleValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Double, DoubleValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 3935522813529400538L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return DOUBLE_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Double value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Double getValue(DatastoreV1.Value from) {
+ 44 0 return from.getDoubleValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(DoubleValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setDoubleValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Double, DoubleValue, Builder> {
+ 54
+
+ 55
+ public Builder() {
+ 56 0 super (ValueType.DOUBLE);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public DoubleValue build() {
+ 61 0 return new DoubleValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public DoubleValue(double value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private DoubleValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static DoubleValue of(double value) {
+ 79 0 return new DoubleValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(double value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Entity.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Entity.html
new file mode 100644
index 000000000000..2a4d1cc07942
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Entity.html
@@ -0,0 +1,202 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Entity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class Entity extends FullEntity<Key> {
+ 29
+
+ 30
+ private static final long serialVersionUID = 432961565733066915L;
+ 31
+
+ 32 0 public static final class Builder extends BaseEntity.Builder<Key, Builder> {
+ 33
+
+ 34
+ private Builder() {
+ 35
+ }
+ 36
+
+ 37
+ private Builder(Key key) {
+ 38 0 super (checkNotNull(key));
+ 39 0 }
+ 40
+
+ 41
+ private Builder(Entity entity) {
+ 42
+ super (entity);
+ 43
+ }
+ 44
+
+ 45 0 private Builder(Key key, FullEntity<?> entity) {
+ 46 0 properties(entity.properties());
+ 47 0 key(key);
+ 48 0 }
+ 49
+
+ 50
+ @Override
+ 51
+ public Builder key(Key key) {
+ 52 0 super .key(checkNotNull(key));
+ 53 0 return this ;
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ public Entity build() {
+ 58 0 Preconditions.checkState(key() != null );
+ 59 0 return new Entity(this );
+ 60
+ }
+ 61
+ }
+ 62
+
+ 63
+ Entity(Builder builder) {
+ 64
+ super (builder);
+ 65
+ }
+ 66
+
+ 67
+ Entity(FullEntity<Key> from) {
+ 68 0 super (from);
+ 69 0 Preconditions.checkArgument(from.key() != null );
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ protected BaseEntity.Builder<Key, Builder> emptyBuilder() {
+ 74 0 return new Builder();
+ 75
+ }
+ 76
+
+ 77
+ static Entity convert(FullEntity<Key> from) {
+ 78 0 if (from instanceof Entity) {
+ 79 0 return (Entity) from;
+ 80
+ }
+ 81 0 return new Entity(from);
+ 82
+ }
+ 83
+
+ 84
+ public static Builder builder(Key key) {
+ 85 0 return new Builder(key);
+ 86
+ }
+ 87
+
+ 88
+ public static Builder builder(Entity copyFrom) {
+ 89 0 return new Builder(copyFrom);
+ 90
+ }
+ 91
+
+ 92
+ public static Builder builder(Key key, FullEntity<?> copyFrom) {
+ 93 0 return new Builder(key, copyFrom);
+ 94
+ }
+ 95
+
+ 96
+ static Entity fromPb(DatastoreV1.Entity entityPb) {
+ 97 0 return new Builder().fill(entityPb).build();
+ 98
+ }
+ 99
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.EntityValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.EntityValue.html
new file mode 100644
index 000000000000..30ce8e90e756
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.EntityValue.html
@@ -0,0 +1,193 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.EntityValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.ENTITY_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+
+ 24 0 public class EntityValue extends Value<FullEntity<?>> {
+ 25
+
+ 26
+ private static final long serialVersionUID = -5461475706792576395L;
+ 27
+
+ 28 0 static final BaseMarshaller<FullEntity<?>, EntityValue, Builder> MARSHALLER =
+ 29 0 new BaseMarshaller<FullEntity<?>, EntityValue, Builder>() {
+ 30
+
+ 31
+ private static final long serialVersionUID = 2355075086076070931L;
+ 32
+
+ 33
+ @Override
+ 34
+ public int getProtoFieldId() {
+ 35 0 return ENTITY_VALUE_FIELD_NUMBER;
+ 36
+ }
+ 37
+
+ 38
+ @Override
+ 39
+ public Builder newBuilder(FullEntity<?> value) {
+ 40 0 return builder(value);
+ 41
+ }
+ 42
+
+ 43
+ @Override
+ 44
+ protected FullEntity<?> getValue(DatastoreV1.Value from) {
+ 45 0 return FullEntity.fromPb(from.getEntityValue());
+ 46
+ }
+ 47
+
+ 48
+ @Override
+ 49
+ protected void setValue(EntityValue from, DatastoreV1.Value.Builder to) {
+ 50 0 to.setEntityValue(from.get().toPb());
+ 51 0 }
+ 52
+ };
+ 53
+
+ 54 0 public static final class Builder extends Value.BaseBuilder<FullEntity<?>, EntityValue, Builder> {
+ 55
+
+ 56
+ private Builder() {
+ 57 0 super (ValueType.ENTITY);
+ 58 0 }
+ 59
+
+ 60
+ @Override
+ 61
+ public Builder indexed(boolean indexed) {
+ 62
+
+ 63 0 Preconditions.checkArgument(!indexed, "EntityValue can't be indexed" );
+ 64 0 return super .indexed(indexed);
+ 65
+ }
+ 66
+
+ 67
+ @Override
+ 68
+ public EntityValue build() {
+ 69 0 return new EntityValue(this );
+ 70
+ }
+ 71
+ }
+ 72
+
+ 73
+ public EntityValue(FullEntity<?> entity) {
+ 74 0 this (builder(entity));
+ 75 0 }
+ 76
+
+ 77
+ private EntityValue(Builder builder) {
+ 78
+ super (builder);
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ public Builder toBuilder() {
+ 83 0 return new Builder().mergeFrom(this );
+ 84
+ }
+ 85
+
+ 86
+ public static EntityValue of(FullEntity<?> entity) {
+ 87 0 return new EntityValue(entity);
+ 88
+ }
+ 89
+
+ 90
+ public static Builder builder(FullEntity<?> entity) {
+ 91 0 return new Builder().set(entity).indexed(false );
+ 92
+ }
+ 93
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.FullEntity.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.FullEntity.html
new file mode 100644
index 000000000000..3e500194a37f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.FullEntity.html
@@ -0,0 +1,170 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.FullEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ public class FullEntity<K extends IncompleteKey> extends BaseEntity<K> {
+ 25
+
+ 26
+ private static final long serialVersionUID = 432961565733066915L;
+ 27
+
+ 28 0 public static class Builder<K extends IncompleteKey> extends BaseEntity.Builder<K, Builder<K>> {
+ 29
+
+ 30
+ Builder() {
+ 31
+ }
+ 32
+
+ 33
+ Builder(K key) {
+ 34
+ super (key);
+ 35
+ }
+ 36
+
+ 37
+ Builder(FullEntity<K> entity) {
+ 38
+ super (entity);
+ 39
+ }
+ 40
+
+ 41
+ @Override
+ 42
+ public FullEntity<K> build() {
+ 43 0 return new FullEntity<>(this );
+ 44
+ }
+ 45
+ }
+ 46
+
+ 47
+ FullEntity(BaseEntity.Builder<K, ?> builder) {
+ 48
+ super (builder);
+ 49
+ }
+ 50
+
+ 51
+ FullEntity(FullEntity<K> from) {
+ 52
+ super (from);
+ 53
+ }
+ 54
+
+ 55
+ @Override
+ 56
+ protected BaseEntity.Builder<K, ?> emptyBuilder() {
+ 57 0 return new Builder<K>();
+ 58
+ }
+ 59
+
+ 60
+ public static Builder<IncompleteKey> builder() {
+ 61 0 return new Builder<>();
+ 62
+ }
+ 63
+
+ 64
+ public static <K extends IncompleteKey> Builder<K> builder(K key) {
+ 65 0 return new Builder<>(key);
+ 66
+ }
+ 67
+
+ 68
+ public static <K extends IncompleteKey> Builder<K> builder(FullEntity<K> copyFrom) {
+ 69 0 return new Builder<>(copyFrom);
+ 70
+ }
+ 71
+
+ 72
+
+ 73
+ static FullEntity<?> fromPb(DatastoreV1.Entity entityPb) {
+ 74 0 return new Builder<>().fill(entityPb).build();
+ 75
+ }
+ 76
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.GqlQuery.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.GqlQuery.html
new file mode 100644
index 000000000000..1ac8ba560f64
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.GqlQuery.html
@@ -0,0 +1,713 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.GqlQuery
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.common.base.MoreObjects;
+ 24
+ import com.google.common.collect.ImmutableList;
+ 25
+ import com.google.common.collect.ImmutableMap;
+ 26
+ import com.google.common.collect.ImmutableSortedMap;
+ 27
+ import com.google.common.primitives.Booleans;
+ 28
+ import com.google.common.primitives.Doubles;
+ 29
+ import com.google.common.primitives.Longs;
+ 30
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 31
+
+ 32
+ import java.util.ArrayList;
+ 33
+ import java.util.Arrays;
+ 34
+ import java.util.LinkedList;
+ 35
+ import java.util.List;
+ 36
+ import java.util.Map;
+ 37
+ import java.util.Objects;
+ 38
+ import java.util.TreeMap;
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72 0 public final class GqlQuery<V> extends Query<V> {
+ 73
+
+ 74
+ private static final long serialVersionUID = 5988280590929540569L;
+ 75
+
+ 76
+ private final transient String queryString;
+ 77
+ private final transient boolean allowLiteral;
+ 78
+ private final transient ImmutableList<Binding> namedBindings;
+ 79
+ private final transient ImmutableList<Binding> positionalBindings;
+ 80
+
+ 81 0 static final class Binding extends Serializable<DatastoreV1.GqlQueryArg> {
+ 82
+
+ 83
+ private static final long serialVersionUID = 1976895435257636275L;
+ 84
+
+ 85
+ private final transient String name;
+ 86
+ private final transient Cursor cursor;
+ 87
+ private final transient Value<?> value;
+ 88
+
+ 89 0 Binding(String name, Cursor cursor) {
+ 90 0 this .name = name;
+ 91 0 this .cursor = checkNotNull(cursor);
+ 92 0 value = null ;
+ 93 0 }
+ 94
+
+ 95 0 Binding(String name, Value<?> value) {
+ 96 0 this .name = name;
+ 97 0 this .value = checkNotNull(value);
+ 98 0 cursor = null ;
+ 99 0 }
+ 100
+
+ 101
+ Object cursorOrValue() {
+ 102 0 return MoreObjects.firstNonNull(cursor, value);
+ 103
+ }
+ 104
+
+ 105
+ String name() {
+ 106 0 return name;
+ 107
+ }
+ 108
+
+ 109
+ @Override
+ 110
+ public int hashCode() {
+ 111 0 return Objects.hash(name, cursor, value);
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public boolean equals(Object obj) {
+ 116 0 if (obj == this ) {
+ 117 0 return true ;
+ 118
+ }
+ 119 0 if (!(obj instanceof Binding)) {
+ 120 0 return false ;
+ 121
+ }
+ 122 0 Binding other = (Binding) obj;
+ 123 0 return Objects.equals(name, other.name)
+ 124 0 && Objects.equals(cursor, other.cursor)
+ 125 0 && Objects.equals(value, other.value);
+ 126
+ }
+ 127
+
+ 128
+ @Override
+ 129
+ protected DatastoreV1.GqlQueryArg toPb() {
+ 130 0 DatastoreV1.GqlQueryArg.Builder argPb = DatastoreV1.GqlQueryArg.newBuilder();
+ 131 0 if (name != null ) {
+ 132 0 argPb.setName(name);
+ 133
+ }
+ 134 0 if (cursor != null ) {
+ 135 0 argPb.setCursor(cursor.byteString());
+ 136
+ }
+ 137 0 if (value != null ) {
+ 138 0 argPb.setValue(value.toPb());
+ 139
+ }
+ 140 0 return argPb.build();
+ 141
+ }
+ 142
+
+ 143
+ @Override
+ 144
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 145 0 return fromPb(DatastoreV1.GqlQueryArg.parseFrom(bytesPb));
+ 146
+ }
+ 147
+
+ 148
+ static Binding fromPb(DatastoreV1.GqlQueryArg argPb) {
+ 149 0 String name = argPb.hasName() ? argPb.getName() : null ;
+ 150 0 if (argPb.hasCursor()) {
+ 151 0 return new Binding(name, new Cursor(argPb.getCursor()));
+ 152
+ }
+ 153 0 return new Binding(name, Value.fromPb(argPb.getValue()));
+ 154
+ }
+ 155
+ }
+ 156
+
+ 157
+
+ 158
+
+ 159
+
+ 160 0 public static final class Builder<V> {
+ 161
+
+ 162
+ private final ResultType<V> resultType;
+ 163
+ private String namespace;
+ 164
+ private String queryString;
+ 165
+ private boolean allowLiteral;
+ 166 0 private final Map<String, Binding> namedBindings = new TreeMap<>();
+ 167 0 private final List<Binding> positionalBindings = new LinkedList<>();
+ 168
+
+ 169 0 Builder(ResultType<V> resultType, String query) {
+ 170 0 this .resultType = checkNotNull(resultType);
+ 171 0 queryString = checkNotNull(query);
+ 172 0 }
+ 173
+
+ 174
+ public Builder<V> query(String query) {
+ 175 0 queryString = checkNotNull(query);
+ 176 0 return this ;
+ 177
+ }
+ 178
+
+ 179
+ public Builder<V> namespace(String namespace) {
+ 180 0 this .namespace = validateNamespace(namespace);
+ 181 0 return this ;
+ 182
+ }
+ 183
+
+ 184
+ public Builder<V> allowLiteral(boolean allowLiteral) {
+ 185 0 this .allowLiteral = allowLiteral;
+ 186 0 return this ;
+ 187
+ }
+ 188
+
+ 189
+ public Builder<V> clearBindings() {
+ 190 0 namedBindings.clear();
+ 191 0 positionalBindings.clear();
+ 192 0 return this ;
+ 193
+ }
+ 194
+
+ 195
+ public Builder<V> setBinding(String name, Cursor cursor) {
+ 196 0 namedBindings.put(name, new Binding(name, cursor));
+ 197 0 return this ;
+ 198
+ }
+ 199
+
+ 200
+ public Builder<V> setBinding(String name, String... value) {
+ 201 0 namedBindings.put(name, toBinding(name, StringValue.MARSHALLER, Arrays.asList(value)));
+ 202 0 return this ;
+ 203
+ }
+ 204
+
+ 205
+ public Builder<V> setBinding(String name, long ... value) {
+ 206 0 namedBindings.put(name, toBinding(name, LongValue.MARSHALLER, Longs.asList(value)));
+ 207 0 return this ;
+ 208
+ }
+ 209
+
+ 210
+ public Builder<V> setBinding(String name, double ... value) {
+ 211 0 namedBindings.put(name, toBinding(name, DoubleValue.MARSHALLER, Doubles.asList(value)));
+ 212 0 return this ;
+ 213
+ }
+ 214
+
+ 215
+ public Builder<V> setBinding(String name, boolean ... value) {
+ 216 0 namedBindings.put(name, toBinding(name, BooleanValue.MARSHALLER, Booleans.asList(value)));
+ 217 0 return this ;
+ 218
+ }
+ 219
+
+ 220
+ public Builder<V> setBinding(String name, DateTime... value) {
+ 221 0 namedBindings.put(name, toBinding(name, DateTimeValue.MARSHALLER, Arrays.asList(value)));
+ 222 0 return this ;
+ 223
+ }
+ 224
+
+ 225
+ public Builder<V> setBinding(String name, Key... value) {
+ 226 0 namedBindings.put(name, toBinding(name, KeyValue.MARSHALLER, Arrays.asList(value)));
+ 227 0 return this ;
+ 228
+ }
+ 229
+
+ 230
+ public Builder<V> setBinding(String name, FullEntity<?>... value) {
+ 231 0 namedBindings.put(name, toBinding(name, EntityValue.MARSHALLER, Arrays.asList(value)));
+ 232 0 return this ;
+ 233
+ }
+ 234
+
+ 235
+ public Builder<V> setBinding(String name, Blob... value) {
+ 236 0 namedBindings.put(name, toBinding(name, BlobValue.MARSHALLER, Arrays.asList(value)));
+ 237 0 return this ;
+ 238
+ }
+ 239
+
+ 240
+ public Builder<V> addBinding(Cursor cursor) {
+ 241 0 positionalBindings.add(new Binding(null , cursor));
+ 242 0 return this ;
+ 243
+ }
+ 244
+
+ 245
+ public Builder<V> addBinding(String... value) {
+ 246 0 positionalBindings.add(toBinding(StringValue.MARSHALLER, Arrays.asList(value)));
+ 247 0 return this ;
+ 248
+ }
+ 249
+
+ 250
+ public Builder<V> addBinding(long ... value) {
+ 251 0 positionalBindings.add(toBinding(LongValue.MARSHALLER, Longs.asList(value)));
+ 252 0 return this ;
+ 253
+ }
+ 254
+
+ 255
+ public Builder<V> addBinding(double ... value) {
+ 256 0 positionalBindings.add(toBinding(DoubleValue.MARSHALLER, Doubles.asList(value)));
+ 257 0 return this ;
+ 258
+ }
+ 259
+
+ 260
+ public Builder<V> addBinding(boolean ... value) {
+ 261 0 positionalBindings.add(toBinding(BooleanValue.MARSHALLER, Booleans.asList(value)));
+ 262 0 return this ;
+ 263
+ }
+ 264
+
+ 265
+ public Builder<V> addBinding(DateTime... value) {
+ 266 0 positionalBindings.add(toBinding(DateTimeValue.MARSHALLER, Arrays.asList(value)));
+ 267 0 return this ;
+ 268
+ }
+ 269
+
+ 270
+ public Builder<V> addBinding(Key... value) {
+ 271 0 positionalBindings.add(toBinding(KeyValue.MARSHALLER, Arrays.asList(value)));
+ 272 0 return this ;
+ 273
+ }
+ 274
+
+ 275
+ public Builder<V> addBinding(FullEntity<?>... value) {
+ 276 0 positionalBindings.add(toBinding(EntityValue.MARSHALLER, Arrays.asList(value)));
+ 277 0 return this ;
+ 278
+ }
+ 279
+
+ 280
+ public Builder<V> addBinding(Blob... value) {
+ 281 0 positionalBindings.add(toBinding(BlobValue.MARSHALLER, Arrays.asList(value)));
+ 282 0 return this ;
+ 283
+ }
+ 284
+
+ 285
+ public GqlQuery<V> build() {
+ 286 0 return new GqlQuery<>(this );
+ 287
+ }
+ 288
+
+ 289
+ private static Binding toBinding(Value.BuilderFactory<?, ?, ?> builderFactory, List<?> values) {
+ 290 0 return toBinding(null , builderFactory, values);
+ 291
+ }
+ 292
+
+ 293
+ private static <V> Binding toBinding(String name, Value.BuilderFactory<V, ?, ?> builderFactory,
+ 294
+ List<?> values) {
+ 295 0 List<Value<V>> list = new ArrayList<>(values.size());
+ 296 0 for (Object object : values) {
+ 297
+ @SuppressWarnings("unchecked" )
+ 298 0 V v = (V) object;
+ 299 0 list.add(builderFactory.newBuilder(v).build());
+ 300 0 }
+ 301
+ Value<?> value;
+ 302 0 if (list.isEmpty()) {
+ 303 0 value = new NullValue();
+ 304 0 } else if (list.size() == 1) {
+ 305 0 value = list.get(0);
+ 306
+ } else {
+ 307 0 value = new ListValue(list);
+ 308
+ }
+ 309 0 return new Binding(name, value);
+ 310
+ }
+ 311
+ }
+ 312
+
+ 313
+ private GqlQuery(Builder<V> builder) {
+ 314 0 super (builder.resultType, builder.namespace);
+ 315 0 queryString = builder.queryString;
+ 316 0 allowLiteral = builder.allowLiteral;
+ 317 0 namedBindings = ImmutableList.copyOf(builder.namedBindings.values());
+ 318 0 positionalBindings = ImmutableList.copyOf(builder.positionalBindings);
+ 319 0 }
+ 320
+
+ 321
+ public String queryString() {
+ 322 0 return queryString;
+ 323
+ }
+ 324
+
+ 325
+ public boolean allowLiteral() {
+ 326 0 return allowLiteral;
+ 327
+ }
+ 328
+
+ 329
+
+ 330
+
+ 331
+
+ 332
+ public Map<String, Object> namedBindings() {
+ 333 0 ImmutableMap.Builder<String, Object> builder = ImmutableSortedMap.naturalOrder();
+ 334 0 for (Binding binding : namedBindings) {
+ 335 0 builder.put(binding.name(), binding.cursorOrValue());
+ 336 0 }
+ 337 0 return builder.build();
+ 338
+ }
+ 339
+
+ 340
+
+ 341
+
+ 342
+
+ 343
+ public List<Object> numberArgs() {
+ 344 0 ImmutableList.Builder<Object> builder = ImmutableList.builder();
+ 345 0 for (Binding binding : positionalBindings) {
+ 346 0 builder.add(binding.cursorOrValue());
+ 347 0 }
+ 348 0 return builder.build();
+ 349
+ }
+ 350
+
+ 351
+ @Override
+ 352
+ public int hashCode() {
+ 353 0 return Objects.hash(namespace(), queryString, allowLiteral, namedBindings, positionalBindings);
+ 354
+ }
+ 355
+
+ 356
+ @Override
+ 357
+ public boolean equals(Object obj) {
+ 358 0 if (obj == this ) {
+ 359 0 return true ;
+ 360
+ }
+ 361 0 if (!(obj instanceof GqlQuery)) {
+ 362 0 return false ;
+ 363
+ }
+ 364 0 GqlQuery<?> other = (GqlQuery<?>) obj;
+ 365 0 return Objects.equals(namespace(), other.namespace())
+ 366 0 && Objects.equals(queryString, other.queryString)
+ 367
+ && allowLiteral == other.allowLiteral
+ 368 0 && Objects.equals(namedBindings, other.namedBindings)
+ 369 0 && Objects.equals(positionalBindings, other.positionalBindings);
+ 370
+ }
+ 371
+
+ 372
+ @Override
+ 373
+ protected DatastoreV1.GqlQuery toPb() {
+ 374 0 DatastoreV1.GqlQuery.Builder queryPb = DatastoreV1.GqlQuery.newBuilder();
+ 375 0 queryPb.setQueryString(queryString);
+ 376 0 queryPb.setAllowLiteral(allowLiteral);
+ 377 0 for (Binding argument : namedBindings) {
+ 378 0 queryPb.addNameArg(argument.toPb());
+ 379 0 }
+ 380 0 for (Binding argument : positionalBindings) {
+ 381 0 queryPb.addNumberArg(argument.toPb());
+ 382 0 }
+ 383 0 return queryPb.build();
+ 384
+ }
+ 385
+
+ 386
+ @Override
+ 387
+ protected void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb) {
+ 388 0 requestPb.setGqlQuery(toPb());
+ 389 0 }
+ 390
+
+ 391
+ @Override
+ 392
+ protected GqlQuery<V> nextQuery(DatastoreV1.QueryResultBatch responsePb) {
+ 393
+
+ 394 0 throw new UnsupportedOperationException("paging for this query is not implemented yet" );
+ 395
+ }
+ 396
+
+ 397
+ @Override
+ 398
+ protected Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 399
+ throws InvalidProtocolBufferException {
+ 400 0 return fromPb(resultType, namespace, DatastoreV1.GqlQuery.parseFrom(bytesPb));
+ 401
+ }
+ 402
+
+ 403
+ private static <V> GqlQuery<V> fromPb(
+ 404
+ ResultType<V> resultType, String ns, DatastoreV1.GqlQuery queryPb) {
+ 405 0 Builder<V> builder = new Builder<>(resultType, queryPb.getQueryString());
+ 406 0 builder.namespace(ns);
+ 407 0 if (queryPb.hasAllowLiteral()) {
+ 408 0 builder.allowLiteral = queryPb.getAllowLiteral();
+ 409
+ }
+ 410 0 for (DatastoreV1.GqlQueryArg nameArg : queryPb.getNameArgList()) {
+ 411 0 Binding argument = Binding.fromPb(nameArg);
+ 412 0 builder.namedBindings.put(argument.name(), argument);
+ 413 0 }
+ 414 0 for (DatastoreV1.GqlQueryArg numberArg : queryPb.getNumberArgList()) {
+ 415 0 Binding argument = Binding.fromPb(numberArg);
+ 416 0 builder.positionalBindings.add(argument);
+ 417 0 }
+ 418 0 return builder.build();
+ 419
+ }
+ 420
+
+ 421
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.IncompleteKey.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.IncompleteKey.html
new file mode 100644
index 000000000000..42f2defa5fe3
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.IncompleteKey.html
@@ -0,0 +1,194 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.IncompleteKey
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Preconditions;
+ 21
+ import com.google.common.collect.ImmutableList;
+ 22
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 23
+
+ 24
+ import java.util.List;
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30 0 public class IncompleteKey extends BaseKey {
+ 31
+
+ 32
+ private static final long serialVersionUID = -75301206578793347L;
+ 33
+
+ 34 0 public static class Builder extends BaseKey.Builder<Builder> {
+ 35
+
+ 36
+ private Builder(String projectId, String kind) {
+ 37
+ super (projectId, kind);
+ 38
+ }
+ 39
+
+ 40
+ private Builder(IncompleteKey copyFrom) {
+ 41
+ super (copyFrom);
+ 42
+ }
+ 43
+
+ 44
+ @Override
+ 45
+ public IncompleteKey build() {
+ 46 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 47 0 .addAll(ancestors).add(PathElement.of(kind)).build();
+ 48 0 return new IncompleteKey(projectId, namespace, path);
+ 49
+ }
+ 50
+ }
+ 51
+
+ 52
+ IncompleteKey(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 53
+ super (projectId, namespace, path);
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 58 0 return fromPb(DatastoreV1.Key.parseFrom(bytesPb));
+ 59
+ }
+ 60
+
+ 61
+ static IncompleteKey fromPb(DatastoreV1.Key keyPb) {
+ 62 0 String projectId = null ;
+ 63 0 String namespace = null ;
+ 64 0 if (keyPb.hasPartitionId()) {
+ 65 0 DatastoreV1.PartitionId partitionIdPb = keyPb.getPartitionId();
+ 66 0 if (partitionIdPb.hasDatasetId()) {
+ 67 0 projectId = partitionIdPb.getDatasetId();
+ 68
+ }
+ 69 0 if (partitionIdPb.hasNamespace()) {
+ 70 0 namespace = partitionIdPb.getNamespace();
+ 71
+ }
+ 72
+ }
+ 73 0 List<DatastoreV1.Key.PathElement> pathElementsPb = keyPb.getPathElementList();
+ 74 0 Preconditions.checkArgument(!pathElementsPb.isEmpty(), "Path must not be empty" );
+ 75 0 ImmutableList.Builder<PathElement> pathBuilder = ImmutableList.builder();
+ 76 0 for (DatastoreV1.Key.PathElement pathElementPb : pathElementsPb) {
+ 77 0 pathBuilder.add(PathElement.fromPb(pathElementPb));
+ 78 0 }
+ 79 0 ImmutableList<PathElement> path = pathBuilder.build();
+ 80 0 PathElement leaf = path.get(path.size() - 1);
+ 81 0 if (leaf.nameOrId() != null ) {
+ 82 0 return new Key(projectId, namespace, path);
+ 83
+ }
+ 84 0 return new IncompleteKey(projectId, namespace, path);
+ 85
+ }
+ 86
+
+ 87
+ public static Builder builder(String projectId, String kind) {
+ 88 0 return new Builder(projectId, kind);
+ 89
+ }
+ 90
+
+ 91
+ public static Builder builder(IncompleteKey copyFrom) {
+ 92 0 return new Builder(copyFrom);
+ 93
+ }
+ 94
+
+ 95
+ public static Builder builder(Key parent, String kind) {
+ 96 0 return builder(parent.projectId(), kind).namespace(parent.namespace()).ancestors(parent.path());
+ 97
+ }
+ 98
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Key.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Key.html
new file mode 100644
index 000000000000..7f8962262c9f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Key.html
@@ -0,0 +1,399 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Key
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 25
+ import com.google.protobuf.TextFormat;
+ 26
+
+ 27
+ import java.io.UnsupportedEncodingException;
+ 28
+ import java.net.URLDecoder;
+ 29
+ import java.net.URLEncoder;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ public final class Key extends IncompleteKey {
+ 40
+
+ 41
+ private static final long serialVersionUID = 3160994559785491356L;
+ 42
+
+ 43 0 public static final class Builder extends BaseKey.Builder<Builder> {
+ 44
+
+ 45
+ private String name;
+ 46
+ private Long id;
+ 47
+
+ 48
+ private Builder(String projectId, String kind, String name) {
+ 49
+ super (projectId, kind);
+ 50
+ this .name = name;
+ 51
+ }
+ 52
+
+ 53
+ private Builder(String projectId, String kind, long id) {
+ 54 0 super (projectId, kind);
+ 55 0 this .id = id;
+ 56 0 }
+ 57
+
+ 58
+ private Builder(IncompleteKey copyFrom, String name) {
+ 59
+ super (copyFrom);
+ 60
+ this .name = name;
+ 61
+ }
+ 62
+
+ 63
+ private Builder(IncompleteKey copyFrom, long id) {
+ 64 0 super (copyFrom);
+ 65 0 this .id = id;
+ 66 0 }
+ 67
+
+ 68
+ private Builder(Key copyFrom) {
+ 69 0 super (copyFrom);
+ 70 0 if (copyFrom.hasId()) {
+ 71 0 id = copyFrom.id();
+ 72
+ } else {
+ 73 0 name = copyFrom.name();
+ 74
+ }
+ 75 0 }
+ 76
+
+ 77
+ public Builder name(String name) {
+ 78 0 this .name = name;
+ 79 0 id = null ;
+ 80 0 return this ;
+ 81
+ }
+ 82
+
+ 83
+ public Builder id(long id) {
+ 84 0 this .id = id;
+ 85 0 name = null ;
+ 86 0 return this ;
+ 87
+ }
+ 88
+
+ 89
+ @Override
+ 90
+ public Key build() {
+ 91
+ ImmutableList.Builder<PathElement> pathBuilder =
+ 92 0 ImmutableList.<PathElement>builder().addAll(ancestors);
+ 93 0 if (id == null ) {
+ 94 0 pathBuilder.add(PathElement.of(kind, name));
+ 95
+ } else {
+ 96 0 pathBuilder.add(PathElement.of(kind, id));
+ 97
+ }
+ 98 0 return new Key(projectId, namespace, pathBuilder.build());
+ 99
+ }
+ 100
+ }
+ 101
+
+ 102
+ Key(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 103 0 super (projectId, namespace, path);
+ 104 0 Preconditions.checkArgument(nameOrId() != null );
+ 105 0 }
+ 106
+
+ 107
+ public boolean hasId() {
+ 108 0 return leaf().hasId();
+ 109
+ }
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+ public Long id() {
+ 115 0 return leaf().id();
+ 116
+ }
+ 117
+
+ 118
+ public boolean hasName() {
+ 119 0 return leaf().hasName();
+ 120
+ }
+ 121
+
+ 122
+
+ 123
+
+ 124
+
+ 125
+ public String name() {
+ 126 0 return leaf().name();
+ 127
+ }
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+ public Object nameOrId() {
+ 134 0 return leaf().nameOrId();
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+ public String toUrlSafe() {
+ 141
+ try {
+ 142 0 return URLEncoder.encode(TextFormat.printToString(toPb()), UTF_8.name());
+ 143 0 } catch (UnsupportedEncodingException e) {
+ 144 0 throw new IllegalStateException("Unexpected encoding exception" , e);
+ 145
+ }
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+ public static Key fromUrlSafe(String urlSafe) {
+ 154
+ try {
+ 155 0 String utf8Str = URLDecoder.decode(urlSafe, UTF_8.name());
+ 156 0 DatastoreV1.Key.Builder builder = DatastoreV1.Key.newBuilder();
+ 157 0 TextFormat.merge(utf8Str, builder);
+ 158 0 return fromPb(builder.build());
+ 159 0 } catch (UnsupportedEncodingException e) {
+ 160 0 throw new IllegalStateException("Unexpected decoding exception" , e);
+ 161 0 } catch (TextFormat.ParseException e) {
+ 162 0 throw new IllegalArgumentException("Could not parse key" , e);
+ 163
+ }
+ 164
+ }
+ 165
+
+ 166
+ @Override
+ 167
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 168 0 return fromPb(DatastoreV1.Key.parseFrom(bytesPb));
+ 169
+ }
+ 170
+
+ 171
+ static Key fromPb(DatastoreV1.Key keyPb) {
+ 172 0 IncompleteKey key = IncompleteKey.fromPb(keyPb);
+ 173 0 Preconditions.checkState(key instanceof Key, "Key is not complete" );
+ 174 0 return (Key) key;
+ 175
+ }
+ 176
+
+ 177
+ public static Builder builder(String projectId, String kind, String name) {
+ 178 0 return new Builder(projectId, kind, name);
+ 179
+ }
+ 180
+
+ 181
+ public static Builder builder(String projectId, String kind, long id) {
+ 182 0 return new Builder(projectId, kind, id);
+ 183
+ }
+ 184
+
+ 185
+ public static Builder builder(Key copyFrom) {
+ 186 0 return new Builder(copyFrom);
+ 187
+ }
+ 188
+
+ 189
+ public static Builder builder(IncompleteKey copyFrom, String name) {
+ 190 0 return new Builder(copyFrom, name);
+ 191
+ }
+ 192
+
+ 193
+ public static Builder builder(IncompleteKey copyFrom, long id) {
+ 194 0 return new Builder(copyFrom, id);
+ 195
+ }
+ 196
+
+ 197
+ public static Builder builder(Key parent, String kind, String name) {
+ 198 0 Builder builder = builder(parent.projectId(), kind, name);
+ 199 0 addParentToBuilder(parent, builder);
+ 200 0 return builder;
+ 201
+ }
+ 202
+
+ 203
+ public static Builder builder(Key parent, String kind, long id) {
+ 204 0 Builder builder = builder(parent.projectId(), kind, id);
+ 205 0 addParentToBuilder(parent, builder);
+ 206 0 return builder;
+ 207
+ }
+ 208
+
+ 209
+ private static void addParentToBuilder(Key parent, Builder builder) {
+ 210 0 builder.namespace(parent.namespace());
+ 211 0 builder.ancestors(parent.ancestors());
+ 212 0 if (parent.hasId()) {
+ 213 0 builder.ancestors(PathElement.of(parent.kind(), parent.id()));
+ 214
+ } else {
+ 215 0 builder.ancestors(PathElement.of(parent.kind(), parent.name()));
+ 216
+ }
+ 217 0 }
+ 218
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyFactory.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyFactory.html
new file mode 100644
index 000000000000..6c584720e6be
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyFactory.html
@@ -0,0 +1,151 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.KeyFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableList;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25 0 public final class KeyFactory extends BaseKey.Builder<KeyFactory> {
+ 26
+
+ 27
+ private final String pi;
+ 28
+ private final String ns;
+ 29
+
+ 30
+ public KeyFactory(String projectId) {
+ 31 0 this (projectId, null );
+ 32 0 }
+ 33
+
+ 34
+ public KeyFactory(String projectId, String namespace) {
+ 35 0 super (projectId);
+ 36 0 namespace(namespace);
+ 37 0 this .pi = projectId;
+ 38 0 this .ns = namespace;
+ 39 0 }
+ 40
+
+ 41
+ public IncompleteKey newKey() {
+ 42 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 43 0 .addAll(ancestors).add(PathElement.of(kind)).build();
+ 44 0 return new IncompleteKey(projectId, namespace, path);
+ 45
+ }
+ 46
+
+ 47
+ public Key newKey(String name) {
+ 48 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 49 0 .addAll(ancestors).add(PathElement.of(kind, name)).build();
+ 50 0 return new Key(projectId, namespace, path);
+ 51
+ }
+ 52
+
+ 53
+ public Key newKey(long id) {
+ 54 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 55 0 .addAll(ancestors).add(PathElement.of(kind, id)).build();
+ 56 0 return new Key(projectId, namespace, path);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+ public KeyFactory reset() {
+ 64 0 projectId(pi);
+ 65 0 namespace(ns);
+ 66 0 kind = null ;
+ 67 0 ancestors.clear();
+ 68 0 return this ;
+ 69
+ }
+ 70
+
+ 71
+ @Override
+ 72
+ protected IncompleteKey build() {
+ 73 0 return newKey();
+ 74
+ }
+ 75
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyValue.html
new file mode 100644
index 000000000000..396e36d4081c
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.KeyValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.KeyValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.KEY_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class KeyValue extends Value<Key> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -1318353707326704821L;
+ 26
+
+ 27 0 static final BaseMarshaller<Key, KeyValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Key, KeyValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 5449133205064700403L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return KEY_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Key key) {
+ 39 0 return builder(key);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Key getValue(DatastoreV1.Value from) {
+ 44 0 return Key.fromPb(from.getKeyValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(KeyValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setKeyValue(from.get().toPb());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Key, KeyValue, Builder> {
+ 54
+
+ 55
+ public Builder() {
+ 56 0 super (ValueType.KEY);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public KeyValue build() {
+ 61 0 return new KeyValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public KeyValue(Key key) {
+ 66 0 this (builder(key));
+ 67 0 }
+ 68
+
+ 69
+ private KeyValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static KeyValue of(Key key) {
+ 79 0 return new KeyValue(key);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(Key key) {
+ 83 0 return new Builder().set(key);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.ListValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.ListValue.html
new file mode 100644
index 000000000000..1430d3430df6
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.ListValue.html
@@ -0,0 +1,280 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ListValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.LIST_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+
+ 25
+ import java.util.ArrayList;
+ 26
+ import java.util.List;
+ 27
+
+ 28 0 public final class ListValue extends Value<List<? extends Value<?>>> {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5461475706792576395L;
+ 31
+
+ 32 0 static final BaseMarshaller<List<? extends Value<?>>, ListValue, Builder> MARSHALLER =
+ 33 0 new BaseMarshaller<List<? extends Value<?>>, ListValue, Builder>() {
+ 34
+
+ 35
+ private static final long serialVersionUID = -3193794036327640106L;
+ 36
+
+ 37
+ @Override
+ 38
+ public int getProtoFieldId() {
+ 39 0 return LIST_VALUE_FIELD_NUMBER;
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ public Builder newBuilder(List<? extends Value<?>> values) {
+ 44 0 return builder().set(values);
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected List<Value<?>> getValue(DatastoreV1.Value from) {
+ 49 0 List<Value<?>> properties = new ArrayList<>(from.getListValueCount());
+ 50 0 for (DatastoreV1.Value valuePb : from.getListValueList()) {
+ 51 0 properties.add(Value.fromPb(valuePb));
+ 52 0 }
+ 53 0 return properties;
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ protected void setValue(ListValue from, DatastoreV1.Value.Builder to) {
+ 58 0 for (Value<?> property : from.get()) {
+ 59 0 to.addListValue(property.toPb());
+ 60 0 }
+ 61 0 }
+ 62
+ };
+ 63
+
+ 64 0 public static final class Builder extends
+ 65
+ Value.BaseBuilder<List<? extends Value<?>>, ListValue, Builder> {
+ 66
+
+ 67 0 private ImmutableList.Builder<Value<?>> listBuilder = ImmutableList.builder();
+ 68
+
+ 69
+ private Builder() {
+ 70 0 super (ValueType.LIST);
+ 71 0 }
+ 72
+
+ 73
+ public Builder addValue(Value<?> value) {
+ 74
+
+ 75 0 Preconditions.checkArgument(value.type() != ValueType.LIST, "Cannot contain another list" );
+ 76 0 listBuilder.add(value);
+ 77 0 return this ;
+ 78
+ }
+ 79
+
+ 80
+ public Builder addValue(Value<?> first, Value<?>... other) {
+ 81 0 addValue(first);
+ 82 0 for (Value<?> value : other) {
+ 83 0 addValue(value);
+ 84
+ }
+ 85 0 return this ;
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ public Builder indexed(boolean indexed) {
+ 90
+
+ 91 0 throw DatastoreException.throwInvalidRequest("ListValue can't specify index" );
+ 92
+ }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+ @Override
+ 100
+ public Builder set(List<? extends Value<?>> values) {
+ 101 0 listBuilder = ImmutableList.builder();
+ 102 0 for (Value<?> value : values) {
+ 103 0 addValue(value);
+ 104 0 }
+ 105 0 return this ;
+ 106
+ }
+ 107
+
+ 108
+ @Override
+ 109
+ public List<? extends Value<?>> get() {
+ 110 0 return listBuilder.build();
+ 111
+ }
+ 112
+
+ 113
+ @Override
+ 114
+ public ListValue build() {
+ 115 0 Preconditions.checkState(!get().isEmpty(), "value list could not be empty" );
+ 116 0 return new ListValue(this );
+ 117
+ }
+ 118
+ }
+ 119
+
+ 120
+ public ListValue(List<? extends Value<?>> values) {
+ 121 0 this (builder().set(values));
+ 122 0 }
+ 123
+
+ 124
+ public ListValue(Value<?> first, Value<?>... other) {
+ 125 0 this (new Builder().addValue(first, other));
+ 126 0 }
+ 127
+
+ 128
+ private ListValue(Builder builder) {
+ 129
+ super (builder);
+ 130
+ }
+ 131
+
+ 132
+ @Override
+ 133
+ public Builder toBuilder() {
+ 134 0 return new Builder().mergeFrom(this );
+ 135
+ }
+ 136
+
+ 137
+ public static ListValue of(List<? extends Value<?>> values) {
+ 138 0 return new ListValue(values);
+ 139
+ }
+ 140
+
+ 141
+ public static ListValue of(Value<?> first, Value<?>... other) {
+ 142 0 return new ListValue(first, other);
+ 143
+ }
+ 144
+
+ 145
+ public static Builder builder() {
+ 146 0 return new Builder();
+ 147
+ }
+ 148
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.LongValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.LongValue.html
new file mode 100644
index 000000000000..f2b576a05c7b
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.LongValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.LongValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.INTEGER_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class LongValue extends Value<Long> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -8552854340400546861L;
+ 26
+
+ 27 0 static final BaseMarshaller<Long, LongValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Long, LongValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 2137414214660959845L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return INTEGER_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Long value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Long getValue(DatastoreV1.Value from) {
+ 44 0 return from.getIntegerValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(LongValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setIntegerValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Long, LongValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.LONG);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public LongValue build() {
+ 61 0 return new LongValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public LongValue(long value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private LongValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static LongValue of(long value) {
+ 79 0 return new LongValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(long value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.NullValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.NullValue.html
new file mode 100644
index 000000000000..259e8b1a08e5
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.NullValue.html
@@ -0,0 +1,191 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.NullValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class NullValue extends Value<Void> {
+ 24
+
+ 25
+ private static final long serialVersionUID = 8497300779013002270L;
+ 26
+
+ 27 0 static final BaseMarshaller<Void, NullValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Void, NullValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 2785573597627128832L;
+ 31
+
+ 32
+ @Override
+ 33
+ public Builder newBuilder(Void value) {
+ 34 0 return builder();
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public int getProtoFieldId() {
+ 39
+ return 0;
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Void getValue(DatastoreV1.Value from) {
+ 44 0 return null ;
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(NullValue from, DatastoreV1.Value.Builder to) {
+ 49
+
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Void, NullValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.NULL);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public NullValue build() {
+ 61 0 return new NullValue(this );
+ 62
+ }
+ 63
+
+ 64
+ @Override
+ 65
+ public Builder set(Void value) {
+ 66 0 checkArgument(value == null , "Only null values are allowed" );
+ 67 0 return this ;
+ 68
+ }
+ 69
+ }
+ 70
+
+ 71
+ public NullValue() {
+ 72 0 this (builder());
+ 73 0 }
+ 74
+
+ 75
+ private NullValue(Builder builder) {
+ 76
+ super (builder);
+ 77
+ }
+ 78
+
+ 79
+ @Override
+ 80
+ public Builder toBuilder() {
+ 81 0 return new Builder().mergeFrom(this );
+ 82
+ }
+ 83
+
+ 84
+ public static NullValue of() {
+ 85 0 return new NullValue();
+ 86
+ }
+ 87
+
+ 88
+ public static Builder builder() {
+ 89 0 return new Builder();
+ 90
+ }
+ 91
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.PathElement.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.PathElement.html
new file mode 100644
index 000000000000..5e58a860fdbc
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.PathElement.html
@@ -0,0 +1,243 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.PathElement
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.common.base.Strings;
+ 24
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 25
+
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31 0 public final class PathElement extends Serializable<DatastoreV1.Key.PathElement> {
+ 32
+
+ 33
+ private static final long serialVersionUID = -7968078857690784595L;
+ 34
+
+ 35
+ private final transient String kind;
+ 36
+ private final transient Long id;
+ 37
+ private final transient String name;
+ 38
+
+ 39 0 private PathElement(String kind, String name, Long id) {
+ 40 0 this .kind = checkNotNull(kind, "kind must not be null" );
+ 41 0 this .name = name;
+ 42 0 this .id = id;
+ 43 0 }
+ 44
+
+ 45
+ public String kind() {
+ 46 0 return kind;
+ 47
+ }
+ 48
+
+ 49
+ public boolean hasId() {
+ 50 0 return id != null ;
+ 51
+ }
+ 52
+
+ 53
+ public Long id() {
+ 54 0 return id;
+ 55
+ }
+ 56
+
+ 57
+ public boolean hasName() {
+ 58 0 return name != null ;
+ 59
+ }
+ 60
+
+ 61
+ public String name() {
+ 62 0 return name;
+ 63
+ }
+ 64
+
+ 65
+ public Object nameOrId() {
+ 66 0 return id == null ? name : id;
+ 67
+ }
+ 68
+
+ 69
+ @Override
+ 70
+ public int hashCode() {
+ 71 0 return Objects.hash(kind, id, name);
+ 72
+ }
+ 73
+
+ 74
+ @Override
+ 75
+ public boolean equals(Object obj) {
+ 76 0 if (obj == this ) {
+ 77 0 return true ;
+ 78
+ }
+ 79 0 if (!(obj instanceof PathElement)) {
+ 80 0 return false ;
+ 81
+ }
+ 82 0 PathElement other = (PathElement) obj;
+ 83 0 return Objects.equals(kind, other.kind)
+ 84 0 && Objects.equals(id, other.id)
+ 85 0 && Objects.equals(name, other.name);
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ protected DatastoreV1.Key.PathElement toPb() {
+ 90 0 DatastoreV1.Key.PathElement.Builder pathElementPb = DatastoreV1.Key.PathElement.newBuilder();
+ 91 0 pathElementPb.setKind(kind);
+ 92 0 if (id != null ) {
+ 93 0 pathElementPb.setId(id);
+ 94 0 } else if (name != null ) {
+ 95 0 pathElementPb.setName(name);
+ 96
+ }
+ 97 0 return pathElementPb.build();
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 102 0 return fromPb(DatastoreV1.Key.PathElement.parseFrom(bytesPb));
+ 103
+ }
+ 104
+
+ 105
+ static PathElement fromPb(DatastoreV1.Key.PathElement pathElementPb) {
+ 106 0 String kind = pathElementPb.getKind();
+ 107 0 if (pathElementPb.hasId()) {
+ 108 0 return of(kind, pathElementPb.getId());
+ 109
+ }
+ 110 0 if (pathElementPb.hasName()) {
+ 111 0 return of(kind, pathElementPb.getName());
+ 112
+ }
+ 113 0 return of(kind);
+ 114
+ }
+ 115
+
+ 116
+ static PathElement of(String kind) {
+ 117 0 return new PathElement(kind, null , null );
+ 118
+ }
+ 119
+
+ 120
+ public static PathElement of(String kind, String name) {
+ 121 0 checkArgument(!Strings.isNullOrEmpty(name) , "name must not be empty or null" );
+ 122 0 checkArgument(name.length() <= 500, "name must not exceed 500 characters" );
+ 123 0 return new PathElement(kind, name, null );
+ 124
+ }
+ 125
+
+ 126
+ public static PathElement of(String kind, long id) {
+ 127 0 checkArgument(id != 0, "id must not be equal to zero" );
+ 128 0 return new PathElement(kind, null , id);
+ 129
+ }
+ 130
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.ProjectionEntity.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.ProjectionEntity.html
new file mode 100644
index 000000000000..3640ca38bea8
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.ProjectionEntity.html
@@ -0,0 +1,186 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ProjectionEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.protobuf.ByteString;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32 0 public final class ProjectionEntity extends BaseEntity<Key> {
+ 33
+
+ 34
+ private static final long serialVersionUID = 432961565733066915L;
+ 35
+
+ 36 0 public static final class Builder extends BaseEntity.Builder<Key, Builder> {
+ 37
+
+ 38
+ Builder() {
+ 39
+ }
+ 40
+
+ 41
+ private Builder(ProjectionEntity entity) {
+ 42
+ super (entity);
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ public ProjectionEntity build() {
+ 47 0 return new ProjectionEntity(this );
+ 48
+ }
+ 49
+ }
+ 50
+
+ 51
+ ProjectionEntity(Builder builder) {
+ 52
+ super (builder);
+ 53
+ }
+ 54
+
+ 55
+ @SuppressWarnings({"unchecked" , "deprecation" })
+ 56
+ @Override
+ 57
+ public DateTime getDateTime(String name) {
+ 58 0 Value<?> value = getValue(name);
+ 59 0 if (value.hasMeaning() && value.meaning() == 18 && value instanceof LongValue) {
+ 60 0 return new DateTime(getLong(name));
+ 61
+ }
+ 62 0 return ((Value<DateTime>) value).get();
+ 63
+ }
+ 64
+
+ 65
+ @SuppressWarnings({"unchecked" , "deprecation" })
+ 66
+ @Override
+ 67
+ public Blob getBlob(String name) {
+ 68 0 Value<?> value = getValue(name);
+ 69 0 if (value.hasMeaning() && value.meaning() == 18 && value instanceof StringValue) {
+ 70 0 return new Blob(ByteString.copyFromUtf8(getString(name)));
+ 71
+ }
+ 72 0 return ((Value<Blob>) value).get();
+ 73
+ }
+ 74
+
+ 75
+ static ProjectionEntity fromPb(DatastoreV1.Entity entityPb) {
+ 76 0 return new Builder().fill(entityPb).build();
+ 77
+ }
+ 78
+
+ 79
+ @Override
+ 80
+ protected Builder emptyBuilder() {
+ 81 0 return new Builder();
+ 82
+ }
+ 83
+
+ 84
+ public static Builder builder(ProjectionEntity copyFrom) {
+ 85 0 return new Builder(copyFrom);
+ 86
+ }
+ 87
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Query.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Query.html
new file mode 100644
index 000000000000..d95a61ae9709
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Query.html
@@ -0,0 +1,434 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Query
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.MoreObjects;
+ 23
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 24
+ import com.google.common.collect.Maps;
+ 25
+ import com.google.gcloud.datastore.StructuredQuery.EntityQueryBuilder;
+ 26
+ import com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder;
+ 27
+ import com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder;
+ 28
+ import com.google.protobuf.GeneratedMessage;
+ 29
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 30
+
+ 31
+ import java.util.Map;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public abstract class Query<V> extends Serializable<GeneratedMessage> {
+ 42
+
+ 43
+ private static final long serialVersionUID = -2748141759901313101L;
+ 44
+
+ 45
+ private final ResultType<V> resultType;
+ 46
+ private final String namespace;
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54 0 public abstract static class ResultType<V> implements java.io.Serializable {
+ 55
+
+ 56
+ private static final long serialVersionUID = 2104157695425806623L;
+ 57
+ private static final Map<DatastoreV1.EntityResult.ResultType, ResultType<?>>
+ 58 0 PB_TO_INSTANCE = Maps.newEnumMap(DatastoreV1.EntityResult.ResultType.class );
+ 59
+
+ 60 0 static final ResultType<?> UNKNOWN = new ResultType<Object>(null , Object.class ) {
+ 61
+
+ 62
+ private static final long serialVersionUID = 1602329532153860907L;
+ 63
+
+ 64
+ @Override protected Object convert(DatastoreV1.Entity entityPb) {
+ 65 0 if (entityPb.getPropertyCount() == 0) {
+ 66 0 if (!entityPb.hasKey()) {
+ 67 0 return null ;
+ 68
+ }
+ 69 0 return Key.fromPb(entityPb.getKey());
+ 70
+ }
+ 71 0 return ProjectionEntity.fromPb(entityPb);
+ 72
+ }
+ 73
+ };
+ 74
+
+ 75 0 public static final ResultType<Entity> ENTITY =
+ 76 0 new ResultType<Entity>(DatastoreV1.EntityResult.ResultType.FULL, Entity.class ) {
+ 77
+
+ 78
+ private static final long serialVersionUID = 7712959777507168274L;
+ 79
+
+ 80
+ @Override protected Entity convert(DatastoreV1.Entity entityPb) {
+ 81 0 return Entity.fromPb(entityPb);
+ 82
+ }
+ 83
+ };
+ 84
+
+ 85 0 public static final ResultType<Key> KEY =
+ 86 0 new ResultType<Key>(DatastoreV1.EntityResult.ResultType.KEY_ONLY, Key.class ) {
+ 87
+
+ 88
+ private static final long serialVersionUID = -8514289244104446252L;
+ 89
+
+ 90
+ @Override protected Key convert(DatastoreV1.Entity entityPb) {
+ 91 0 return Key.fromPb(entityPb.getKey());
+ 92
+ }
+ 93
+ };
+ 94
+
+ 95 0 public static final ResultType<ProjectionEntity> PROJECTION_ENTITY =
+ 96
+ new ResultType<ProjectionEntity>(DatastoreV1.EntityResult.ResultType.PROJECTION,
+ 97 0 ProjectionEntity.class ) {
+ 98
+
+ 99
+ private static final long serialVersionUID = -7591409419690650246L;
+ 100
+
+ 101
+ @Override protected ProjectionEntity convert(DatastoreV1.Entity entityPb) {
+ 102 0 return ProjectionEntity.fromPb(entityPb);
+ 103
+ }
+ 104
+ };
+ 105
+
+ 106
+ private final Class<V> resultClass;
+ 107
+ private final DatastoreV1.EntityResult.ResultType queryType;
+ 108
+
+ 109 0 private ResultType(DatastoreV1.EntityResult.ResultType queryType, Class<V> resultClass) {
+ 110 0 this .queryType = queryType;
+ 111 0 this .resultClass = resultClass;
+ 112 0 if (queryType != null ) {
+ 113 0 PB_TO_INSTANCE.put(queryType, this );
+ 114
+ }
+ 115 0 }
+ 116
+
+ 117
+ public Class<V> resultClass() {
+ 118 0 return resultClass;
+ 119
+ }
+ 120
+
+ 121
+ @Override
+ 122
+ public int hashCode() {
+ 123 0 return resultClass.hashCode();
+ 124
+ }
+ 125
+
+ 126
+ @Override
+ 127
+ public boolean equals(Object obj) {
+ 128 0 if (obj == this ) {
+ 129 0 return true ;
+ 130
+ }
+ 131 0 if (!(obj instanceof ResultType)) {
+ 132 0 return false ;
+ 133
+ }
+ 134 0 ResultType<?> other = (ResultType<?>) obj;
+ 135 0 return resultClass.equals(other.resultClass);
+ 136
+ }
+ 137
+
+ 138
+ @Override
+ 139
+ public String toString() {
+ 140 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 141 0 toStringHelper.add("queryType" , queryType);
+ 142 0 toStringHelper.add("resultClass" , resultClass);
+ 143 0 return toStringHelper.toString();
+ 144
+ }
+ 145
+
+ 146
+ boolean isAssignableFrom(ResultType<?> otherResultType) {
+ 147 0 return resultClass.isAssignableFrom(otherResultType.resultClass);
+ 148
+ }
+ 149
+
+ 150
+ protected abstract V convert(DatastoreV1.Entity entityPb);
+ 151
+
+ 152
+ static ResultType<?> fromPb(DatastoreV1.EntityResult.ResultType typePb) {
+ 153 0 return MoreObjects.firstNonNull(PB_TO_INSTANCE.get(typePb), UNKNOWN);
+ 154
+ }
+ 155
+ }
+ 156
+
+ 157 0 Query(ResultType<V> resultType, String namespace) {
+ 158 0 this .resultType = checkNotNull(resultType);
+ 159 0 this .namespace = namespace;
+ 160 0 }
+ 161
+
+ 162
+ ResultType<V> type() {
+ 163 0 return resultType;
+ 164
+ }
+ 165
+
+ 166
+ public String namespace() {
+ 167 0 return namespace;
+ 168
+ }
+ 169
+
+ 170
+ @Override
+ 171
+ public String toString() {
+ 172 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 173 0 toStringHelper.add("type" , resultType);
+ 174 0 toStringHelper.add("namespace" , namespace);
+ 175 0 toStringHelper.add("queryPb" , super .toString());
+ 176 0 return toStringHelper.toString();
+ 177
+ }
+ 178
+
+ 179
+ @Override
+ 180
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 181 0 return fromPb(resultType, namespace, bytesPb);
+ 182
+ }
+ 183
+
+ 184
+ protected abstract Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 185
+ throws InvalidProtocolBufferException;
+ 186
+
+ 187
+ protected abstract void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb);
+ 188
+
+ 189
+ protected abstract Query<V> nextQuery(DatastoreV1.QueryResultBatch responsePb);
+ 190
+
+ 191
+
+ 192
+
+ 193
+
+ 194
+
+ 195
+
+ 196
+ public static GqlQuery.Builder<?> gqlQueryBuilder(String gql) {
+ 197 0 return gqlQueryBuilder(ResultType.UNKNOWN, gql);
+ 198
+ }
+ 199
+
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+ public static <V> GqlQuery.Builder<V> gqlQueryBuilder(ResultType<V> resultType, String gql) {
+ 206 0 return new GqlQuery.Builder<>(resultType, gql);
+ 207
+ }
+ 208
+
+ 209
+
+ 210
+
+ 211
+
+ 212
+ public static EntityQueryBuilder entityQueryBuilder() {
+ 213 0 return new EntityQueryBuilder();
+ 214
+ }
+ 215
+
+ 216
+
+ 217
+
+ 218
+
+ 219
+ public static KeyQueryBuilder keyQueryBuilder() {
+ 220 0 return new KeyQueryBuilder();
+ 221
+ }
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+ public static ProjectionEntityQueryBuilder projectionEntityQueryBuilder() {
+ 227 0 return new ProjectionEntityQueryBuilder();
+ 228
+ }
+ 229
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResults.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResults.html
new file mode 100644
index 000000000000..b093e0ab14cd
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResults.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.QueryResults
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ public interface QueryResults<V> extends Iterator<V> {
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ Class<?> resultClass();
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ Cursor cursorAfter();
+ 42
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html
new file mode 100644
index 000000000000..80d3f26b584b
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html
@@ -0,0 +1,197 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.QueryResultsImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.QueryResultBatch.MoreResultsType;
+ 21
+ import com.google.common.base.Preconditions;
+ 22
+ import com.google.common.collect.AbstractIterator;
+ 23
+ import com.google.gcloud.datastore.Query.ResultType;
+ 24
+
+ 25
+ import java.util.Iterator;
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+ class QueryResultsImpl<T> extends AbstractIterator<T> implements QueryResults<T> {
+ 29
+
+ 30
+ private final DatastoreImpl datastore;
+ 31
+ private final DatastoreV1.ReadOptions readOptionsPb;
+ 32
+ private final DatastoreV1.PartitionId partitionIdPb;
+ 33
+ private final ResultType<T> queryResultType;
+ 34
+ private Query<T> query;
+ 35
+ private ResultType<?> actualResultType;
+ 36
+ private DatastoreV1.QueryResultBatch queryResultBatchPb;
+ 37
+ private boolean lastBatch;
+ 38
+ private Iterator<DatastoreV1.EntityResult> entityResultPbIter;
+ 39
+
+ 40
+
+ 41
+
+ 42
+ QueryResultsImpl(DatastoreImpl datastore, DatastoreV1.ReadOptions readOptionsPb,
+ 43 0 Query<T> query) {
+ 44 0 this .datastore = datastore;
+ 45 0 this .readOptionsPb = readOptionsPb;
+ 46 0 this .query = query;
+ 47 0 queryResultType = query.type();
+ 48 0 DatastoreV1.PartitionId.Builder pbBuilder = DatastoreV1.PartitionId.newBuilder();
+ 49 0 pbBuilder.setDatasetId(datastore.options().projectId());
+ 50 0 if (query.namespace() != null ) {
+ 51 0 pbBuilder.setNamespace(query.namespace());
+ 52 0 } else if (datastore.options().namespace() != null ) {
+ 53 0 pbBuilder.setNamespace(datastore.options().namespace());
+ 54
+ }
+ 55 0 partitionIdPb = pbBuilder.build();
+ 56 0 sendRequest();
+ 57 0 }
+ 58
+
+ 59
+ private void sendRequest() {
+ 60 0 DatastoreV1.RunQueryRequest.Builder requestPb = DatastoreV1.RunQueryRequest.newBuilder();
+ 61 0 if (readOptionsPb != null ) {
+ 62 0 requestPb.setReadOptions(readOptionsPb);
+ 63
+ }
+ 64 0 requestPb.setPartitionId(partitionIdPb);
+ 65 0 query.populatePb(requestPb);
+ 66 0 queryResultBatchPb = datastore.runQuery(requestPb.build()).getBatch();
+ 67 0 lastBatch = queryResultBatchPb.getMoreResults() != MoreResultsType.NOT_FINISHED;
+ 68 0 entityResultPbIter = queryResultBatchPb.getEntityResultList().iterator();
+ 69
+
+ 70 0 actualResultType = ResultType.fromPb(queryResultBatchPb.getEntityResultType());
+ 71 0 if (Objects.equals(queryResultType, ResultType.PROJECTION_ENTITY)) {
+ 72
+
+ 73 0 actualResultType = ResultType.PROJECTION_ENTITY;
+ 74
+ }
+ 75 0 Preconditions.checkState(queryResultType.isAssignableFrom(actualResultType),
+ 76
+ "Unexpected result type " + actualResultType + " vs " + queryResultType);
+ 77 0 }
+ 78
+
+ 79
+ @Override
+ 80
+ protected T computeNext() {
+ 81 0 while (!entityResultPbIter.hasNext() && !lastBatch) {
+ 82 0 query = query.nextQuery(queryResultBatchPb);
+ 83 0 sendRequest();
+ 84
+ }
+ 85 0 if (!entityResultPbIter.hasNext()) {
+ 86 0 return endOfData();
+ 87
+ }
+ 88 0 DatastoreV1.EntityResult entityResultPb = entityResultPbIter.next();
+ 89
+
+ 90
+ @SuppressWarnings("unchecked" )
+ 91 0 T result = (T) actualResultType.convert(entityResultPb.getEntity());
+ 92 0 return result;
+ 93
+ }
+ 94
+
+ 95
+ @Override
+ 96
+ public Class<?> resultClass() {
+ 97 0 return actualResultType.resultClass();
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ public Cursor cursorAfter() {
+ 102
+
+ 103 0 return null ;
+ 104
+ }
+ 105
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.RawValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.RawValue.html
new file mode 100644
index 000000000000..f394a72eda06
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.RawValue.html
@@ -0,0 +1,188 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.RawValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21 0 public final class RawValue extends Value<DatastoreV1.Value> {
+ 22
+
+ 23
+ private static final long serialVersionUID = -3359604598651897941L;
+ 24
+
+ 25 0 static final BaseMarshaller<DatastoreV1.Value, RawValue, Builder> MARSHALLER =
+ 26 0 new BaseMarshaller<DatastoreV1.Value, RawValue, Builder>() {
+ 27
+
+ 28
+ private static final long serialVersionUID = 5320642719486106244L;
+ 29
+
+ 30
+ @Override
+ 31
+ public Builder newBuilder(DatastoreV1.Value value) {
+ 32 0 return builder(value);
+ 33
+ }
+ 34
+
+ 35
+ @Override
+ 36
+ public int getProtoFieldId() {
+ 37
+ return 0;
+ 38
+ }
+ 39
+
+ 40
+ @Override
+ 41
+ protected DatastoreV1.Value getValue(DatastoreV1.Value from) {
+ 42 0 return from;
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ protected void setValue(RawValue from, DatastoreV1.Value.Builder to) {
+ 47 0 to.mergeFrom(from.get());
+ 48 0 }
+ 49
+ };
+ 50
+
+ 51 0 public static final class Builder
+ 52
+ extends Value.BaseBuilder<DatastoreV1.Value, RawValue, Builder> {
+ 53
+
+ 54
+ private Builder() {
+ 55 0 super (ValueType.RAW_VALUE);
+ 56 0 }
+ 57
+
+ 58
+ @Override
+ 59
+ public RawValue build() {
+ 60 0 return new RawValue(this );
+ 61
+ }
+ 62
+ }
+ 63
+
+ 64
+ private RawValue(Builder builder) {
+ 65
+ super (builder);
+ 66
+ }
+ 67
+
+ 68
+ RawValue(DatastoreV1.Value valuePb) {
+ 69 0 this (builder(valuePb));
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ public Builder toBuilder() {
+ 74 0 return new Builder().mergeFrom(this );
+ 75
+ }
+ 76
+
+ 77
+ static RawValue of(DatastoreV1.Value valuePb) {
+ 78 0 return new RawValue(valuePb);
+ 79
+ }
+ 80
+
+ 81
+ static Builder builder(DatastoreV1.Value valuePb) {
+ 82 0 Builder builder = new Builder();
+ 83 0 if (valuePb.hasIndexed()) {
+ 84 0 builder.indexed(valuePb.getIndexed());
+ 85
+ }
+ 86 0 if (valuePb.hasMeaning()) {
+ 87 0 builder.meaning(valuePb.getMeaning());
+ 88
+ }
+ 89 0 builder.set(valuePb);
+ 90 0 return builder;
+ 91
+ }
+ 92
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Serializable.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Serializable.html
new file mode 100644
index 000000000000..6e6b1958dceb
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Serializable.html
@@ -0,0 +1,139 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Serializable
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.protobuf.GeneratedMessage;
+ 20
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 21
+
+ 22
+ import java.io.IOException;
+ 23
+ import java.io.ObjectInputStream;
+ 24
+ import java.io.ObjectOutputStream;
+ 25
+ import java.io.ObjectStreamException;
+ 26
+ import java.io.StreamCorruptedException;
+ 27
+
+ 28
+ abstract class Serializable<M extends GeneratedMessage> implements java.io.Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5565522710061949199L;
+ 31
+
+ 32
+ private transient byte [] bytesPb;
+ 33
+
+ 34
+ @Override
+ 35
+ public String toString() {
+ 36 0 return toPb().toString();
+ 37
+ }
+ 38
+
+ 39
+ private void writeObject(ObjectOutputStream output) throws IOException {
+ 40 0 output.defaultWriteObject();
+ 41 0 output.writeObject(toPb().toByteArray());
+ 42 0 }
+ 43
+
+ 44
+ private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
+ 45 0 input.defaultReadObject();
+ 46 0 bytesPb = (byte []) input.readObject();
+ 47 0 }
+ 48
+
+ 49
+ protected Object readResolve() throws ObjectStreamException {
+ 50
+ try {
+ 51 0 return fromPb(bytesPb);
+ 52 0 } catch (InvalidProtocolBufferException ex) {
+ 53 0 StreamCorruptedException sce = new StreamCorruptedException("Failed to create object" );
+ 54 0 sce.initCause(ex);
+ 55 0 throw sce;
+ 56
+ } finally {
+ 57 0 bytesPb = null ;
+ 58
+ }
+ 59
+ }
+ 60
+
+ 61
+ protected abstract M toPb();
+ 62
+
+ 63
+ protected abstract Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException;
+ 64
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.StringValue.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.StringValue.html
new file mode 100644
index 000000000000..7f5c1f339ac5
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.StringValue.html
@@ -0,0 +1,179 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.StringValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.STRING_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class StringValue extends Value<String> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -3105699707394545523L;
+ 26
+
+ 27 0 static final BaseMarshaller<String, StringValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<String, StringValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -359610204134164436L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34 0 return STRING_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(String value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected String getValue(DatastoreV1.Value from) {
+ 44 0 return from.getStringValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(StringValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setStringValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<String, StringValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.STRING);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public StringValue build() {
+ 61 0 return new StringValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public StringValue(String value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private StringValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static StringValue of(String value) {
+ 79 0 return new StringValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(String value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.StructuredQuery.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.StructuredQuery.html
new file mode 100644
index 000000000000..33a540a9408d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.StructuredQuery.html
@@ -0,0 +1,1656 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.StructuredQuery
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.gcloud.datastore.BlobValue.of;
+ 21
+ import static com.google.gcloud.datastore.BooleanValue.of;
+ 22
+ import static com.google.gcloud.datastore.DateTimeValue.of;
+ 23
+ import static com.google.gcloud.datastore.DoubleValue.of;
+ 24
+ import static com.google.gcloud.datastore.KeyValue.of;
+ 25
+ import static com.google.gcloud.datastore.LongValue.of;
+ 26
+ import static com.google.gcloud.datastore.StringValue.of;
+ 27
+
+ 28
+ import com.google.api.services.datastore.DatastoreV1;
+ 29
+ import com.google.common.base.MoreObjects;
+ 30
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 31
+ import com.google.common.base.Preconditions;
+ 32
+ import com.google.common.collect.ImmutableList;
+ 33
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 34
+
+ 35
+ import java.io.Serializable;
+ 36
+ import java.util.Arrays;
+ 37
+ import java.util.Collections;
+ 38
+ import java.util.LinkedList;
+ 39
+ import java.util.List;
+ 40
+ import java.util.Objects;
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84 0 public class StructuredQuery<V> extends Query<V> {
+ 85
+
+ 86
+ private static final long serialVersionUID = 546838955624019594L;
+ 87
+ private static final String KEY_PROPERTY_NAME = "__key__" ;
+ 88
+
+ 89
+ private final transient String kind;
+ 90
+ private final ImmutableList<Projection> projection;
+ 91
+ private final transient Filter filter;
+ 92
+ private final ImmutableList<String> groupBy;
+ 93
+ private final transient ImmutableList<OrderBy> orderBy;
+ 94
+ private final transient Cursor startCursor;
+ 95
+ private final transient Cursor endCursor;
+ 96
+ private final transient int offset;
+ 97
+ private final transient Integer limit;
+ 98
+
+ 99
+ public abstract static class Filter implements Serializable {
+ 100
+
+ 101
+ private static final long serialVersionUID = -6443285436239990860L;
+ 102
+
+ 103
+ Filter() {
+ 104
+ }
+ 105
+
+ 106
+ protected abstract DatastoreV1.Filter toPb();
+ 107
+
+ 108
+ static Filter fromPb(DatastoreV1.Filter filterPb) {
+ 109 0 if (filterPb.hasCompositeFilter()) {
+ 110 0 return CompositeFilter.fromPb(filterPb.getCompositeFilter());
+ 111
+ }
+ 112 0 return PropertyFilter.fromPb(filterPb.getPropertyFilter());
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public static final class CompositeFilter extends Filter {
+ 117
+
+ 118
+ private static final long serialVersionUID = 3610352685739360009L;
+ 119
+ private final Operator operator;
+ 120
+ private final ImmutableList<Filter> filters;
+ 121
+
+ 122 0 enum Operator {
+ 123 0 AND;
+ 124
+
+ 125
+ DatastoreV1.CompositeFilter.Operator toPb() {
+ 126 0 return DatastoreV1.CompositeFilter.Operator.valueOf(name());
+ 127
+ }
+ 128
+
+ 129
+ static Operator fromPb(DatastoreV1.CompositeFilter.Operator operatorPb) {
+ 130 0 return valueOf(operatorPb.name());
+ 131
+ }
+ 132
+ }
+ 133
+
+ 134 0 private CompositeFilter(Operator operator, Filter first, Filter... other) {
+ 135 0 this .operator = operator;
+ 136 0 this .filters =
+ 137 0 ImmutableList.<Filter>builder().add(first).addAll(Arrays.asList(other)).build();
+ 138 0 }
+ 139
+
+ 140 0 private CompositeFilter(Operator operator, ImmutableList<Filter> filters) {
+ 141 0 this .operator = operator;
+ 142 0 this .filters = filters;
+ 143 0 Preconditions.checkArgument(!filters.isEmpty(), "filters list must not be empty" );
+ 144 0 }
+ 145
+
+ 146
+ @Override
+ 147
+ public String toString() {
+ 148 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 149 0 toStringHelper.add("operator" , operator);
+ 150 0 toStringHelper.add("filters" , filters);
+ 151 0 return toStringHelper.toString();
+ 152
+ }
+ 153
+
+ 154
+ @Override
+ 155
+ public int hashCode() {
+ 156 0 return Objects.hash(operator, filters);
+ 157
+ }
+ 158
+
+ 159
+ @Override
+ 160
+ public boolean equals(Object obj) {
+ 161 0 if (obj == this ) {
+ 162 0 return true ;
+ 163
+ }
+ 164 0 if (!(obj instanceof CompositeFilter)) {
+ 165 0 return false ;
+ 166
+ }
+ 167 0 CompositeFilter other = (CompositeFilter) obj;
+ 168 0 return operator == other.operator
+ 169 0 && filters.equals(other.filters);
+ 170
+ }
+ 171
+
+ 172
+ static CompositeFilter fromPb(DatastoreV1.CompositeFilter compositeFilterPb) {
+ 173 0 Operator operator = Operator.fromPb(compositeFilterPb.getOperator());
+ 174 0 ImmutableList.Builder<Filter> filters = ImmutableList.builder();
+ 175 0 for (DatastoreV1.Filter filterPb : compositeFilterPb.getFilterList()) {
+ 176 0 filters.add(Filter.fromPb(filterPb));
+ 177 0 }
+ 178 0 return new CompositeFilter(operator, filters.build());
+ 179
+ }
+ 180
+
+ 181
+ public static CompositeFilter and(Filter first, Filter... other) {
+ 182 0 return new CompositeFilter(Operator.AND, first, other);
+ 183
+ }
+ 184
+
+ 185
+ @Override
+ 186
+ protected DatastoreV1.Filter toPb() {
+ 187 0 DatastoreV1.Filter.Builder filterPb = DatastoreV1.Filter.newBuilder();
+ 188 0 DatastoreV1.CompositeFilter.Builder compositeFilterPb = filterPb.getCompositeFilterBuilder();
+ 189 0 compositeFilterPb.setOperator(operator.toPb());
+ 190 0 for (Filter filter : filters) {
+ 191 0 compositeFilterPb.addFilter(filter.toPb());
+ 192 0 }
+ 193 0 return filterPb.build();
+ 194
+ }
+ 195
+ }
+ 196
+
+ 197
+ public static final class PropertyFilter extends Filter {
+ 198
+
+ 199
+ private static final long serialVersionUID = -4514695915258598597L;
+ 200
+
+ 201
+ private final String property;
+ 202
+ private final Operator operator;
+ 203
+ private final Value<?> value;
+ 204
+
+ 205 0 enum Operator {
+ 206 0 LESS_THAN,
+ 207 0 LESS_THAN_OR_EQUAL,
+ 208 0 GREATER_THAN,
+ 209 0 GREATER_THAN_OR_EQUAL,
+ 210 0 EQUAL,
+ 211 0 HAS_ANCESTOR;
+ 212
+
+ 213
+ DatastoreV1.PropertyFilter.Operator toPb() {
+ 214 0 return DatastoreV1.PropertyFilter.Operator.valueOf(name());
+ 215
+ }
+ 216
+
+ 217
+ static Operator fromPb(DatastoreV1.PropertyFilter.Operator operatorPb) {
+ 218 0 return valueOf(operatorPb.name());
+ 219
+ }
+ 220
+ }
+ 221
+
+ 222 0 private PropertyFilter(String property, Operator operator, Value<?> value) {
+ 223 0 this .property = checkNotNull(property);
+ 224 0 this .operator = checkNotNull(operator);
+ 225 0 this .value = checkNotNull(value);
+ 226 0 }
+ 227
+
+ 228
+ public static PropertyFilter fromPb(DatastoreV1.PropertyFilter propertyFilterPb) {
+ 229 0 String property = propertyFilterPb.getProperty().getName();
+ 230 0 Operator operator = Operator.fromPb(propertyFilterPb.getOperator());
+ 231 0 Value<?> value = Value.fromPb(propertyFilterPb.getValue());
+ 232 0 return new PropertyFilter(property, operator, value);
+ 233
+ }
+ 234
+
+ 235
+ @Override
+ 236
+ public String toString() {
+ 237 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 238 0 toStringHelper.add("property" , property);
+ 239 0 toStringHelper.add("operator" , operator);
+ 240 0 toStringHelper.add("value" , value);
+ 241 0 return toStringHelper.toString();
+ 242
+ }
+ 243
+
+ 244
+ @Override
+ 245
+ public int hashCode() {
+ 246 0 return Objects.hash(property, operator, value);
+ 247
+ }
+ 248
+
+ 249
+ @Override
+ 250
+ public boolean equals(Object obj) {
+ 251 0 if (obj == this ) {
+ 252 0 return true ;
+ 253
+ }
+ 254 0 if (!(obj instanceof PropertyFilter)) {
+ 255 0 return false ;
+ 256
+ }
+ 257 0 PropertyFilter other = (PropertyFilter) obj;
+ 258 0 return property.equals(other.property)
+ 259
+ && operator == other.operator
+ 260 0 && Objects.equals(value, other.value);
+ 261
+ }
+ 262
+
+ 263
+ public static PropertyFilter le(String property, Value<?> value) {
+ 264 0 return new PropertyFilter(property, Operator.LESS_THAN, value);
+ 265
+ }
+ 266
+
+ 267
+ public static PropertyFilter le(String property, String value) {
+ 268 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 269
+ }
+ 270
+
+ 271
+ public static PropertyFilter le(String property, long value) {
+ 272 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 273
+ }
+ 274
+
+ 275
+ public static PropertyFilter le(String property, double value) {
+ 276 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 277
+ }
+ 278
+
+ 279
+ public static PropertyFilter le(String property, boolean value) {
+ 280 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 281
+ }
+ 282
+
+ 283
+ public static PropertyFilter le(String property, DateTime value) {
+ 284 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 285
+ }
+ 286
+
+ 287
+ public static PropertyFilter le(String property, Key value) {
+ 288 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 289
+ }
+ 290
+
+ 291
+ public static PropertyFilter le(String property, Blob value) {
+ 292 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 293
+ }
+ 294
+
+ 295
+ public static PropertyFilter lte(String property, Value<?> value) {
+ 296 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, value);
+ 297
+ }
+ 298
+
+ 299
+ public static PropertyFilter lte(String property, String value) {
+ 300 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 301
+ }
+ 302
+
+ 303
+ public static PropertyFilter lte(String property, long value) {
+ 304 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 305
+ }
+ 306
+
+ 307
+ public static PropertyFilter lte(String property, double value) {
+ 308 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 309
+ }
+ 310
+
+ 311
+ public static PropertyFilter lte(String property, boolean value) {
+ 312 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 313
+ }
+ 314
+
+ 315
+ public static PropertyFilter lte(String property, DateTime value) {
+ 316 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 317
+ }
+ 318
+
+ 319
+ public static PropertyFilter lte(String property, Key value) {
+ 320 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 321
+ }
+ 322
+
+ 323
+ public static PropertyFilter lte(String property, Blob value) {
+ 324 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 325
+ }
+ 326
+
+ 327
+ public static PropertyFilter gt(String property, Value<?> value) {
+ 328 0 return new PropertyFilter(property, Operator.GREATER_THAN, value);
+ 329
+ }
+ 330
+
+ 331
+ public static PropertyFilter gt(String property, String value) {
+ 332 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 333
+ }
+ 334
+
+ 335
+ public static PropertyFilter gt(String property, long value) {
+ 336 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 337
+ }
+ 338
+
+ 339
+ public static PropertyFilter gt(String property, double value) {
+ 340 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 341
+ }
+ 342
+
+ 343
+ public static PropertyFilter gt(String property, boolean value) {
+ 344 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 345
+ }
+ 346
+
+ 347
+ public static PropertyFilter gt(String property, DateTime value) {
+ 348 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 349
+ }
+ 350
+
+ 351
+ public static PropertyFilter gt(String property, Key value) {
+ 352 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 353
+ }
+ 354
+
+ 355
+ public static PropertyFilter gt(String property, Blob value) {
+ 356 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 357
+ }
+ 358
+
+ 359
+ public static PropertyFilter gte(String property, Value<?> value) {
+ 360 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, value);
+ 361
+ }
+ 362
+
+ 363
+ public static PropertyFilter gte(String property, String value) {
+ 364 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 365
+ }
+ 366
+
+ 367
+ public static PropertyFilter gte(String property, long value) {
+ 368 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 369
+ }
+ 370
+
+ 371
+ public static PropertyFilter gte(String property, double value) {
+ 372 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 373
+ }
+ 374
+
+ 375
+ public static PropertyFilter gte(String property, boolean value) {
+ 376 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 377
+ }
+ 378
+
+ 379
+ public static PropertyFilter gte(String property, DateTime value) {
+ 380 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 381
+ }
+ 382
+
+ 383
+ public static PropertyFilter gte(String property, Key value) {
+ 384 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 385
+ }
+ 386
+
+ 387
+ public static PropertyFilter gte(String property, Blob value) {
+ 388 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 389
+ }
+ 390
+
+ 391
+ public static PropertyFilter eq(String property, Value<?> value) {
+ 392 0 return new PropertyFilter(property, Operator.EQUAL, value);
+ 393
+ }
+ 394
+
+ 395
+ public static PropertyFilter eq(String property, String value) {
+ 396 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 397
+ }
+ 398
+
+ 399
+ public static PropertyFilter eq(String property, long value) {
+ 400 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 401
+ }
+ 402
+
+ 403
+ public static PropertyFilter eq(String property, double value) {
+ 404 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 405
+ }
+ 406
+
+ 407
+ public static PropertyFilter eq(String property, boolean value) {
+ 408 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 409
+ }
+ 410
+
+ 411
+ public static PropertyFilter eq(String property, DateTime value) {
+ 412 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 413
+ }
+ 414
+
+ 415
+ public static PropertyFilter eq(String property, Key value) {
+ 416 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 417
+ }
+ 418
+
+ 419
+ public static PropertyFilter eq(String property, Blob value) {
+ 420 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 421
+ }
+ 422
+
+ 423
+ public static PropertyFilter hasAncestor(Key key) {
+ 424 0 return new PropertyFilter(KEY_PROPERTY_NAME, Operator.HAS_ANCESTOR, of(key));
+ 425
+ }
+ 426
+
+ 427
+ public static PropertyFilter isNull(String property) {
+ 428 0 return new PropertyFilter(property, Operator.EQUAL, NullValue.of());
+ 429
+ }
+ 430
+
+ 431
+ @Override
+ 432
+ protected DatastoreV1.Filter toPb() {
+ 433 0 DatastoreV1.Filter.Builder filterPb = DatastoreV1.Filter.newBuilder();
+ 434 0 DatastoreV1.PropertyFilter.Builder propertyFilterPb = filterPb.getPropertyFilterBuilder();
+ 435 0 propertyFilterPb.getPropertyBuilder().setName(property);
+ 436 0 propertyFilterPb.setOperator(operator.toPb());
+ 437 0 if (value != null ) {
+ 438 0 propertyFilterPb.setValue(value.toPb());
+ 439
+ }
+ 440 0 return filterPb.build();
+ 441
+ }
+ 442
+ }
+ 443
+
+ 444
+ public static final class OrderBy implements Serializable {
+ 445
+
+ 446
+ private static final long serialVersionUID = 4091186784814400031L;
+ 447
+
+ 448
+ private final String property;
+ 449
+ private final Direction direction;
+ 450
+
+ 451 0 public enum Direction {
+ 452
+
+ 453 0 ASCENDING, DESCENDING;
+ 454
+
+ 455
+ DatastoreV1.PropertyOrder.Direction toPb() {
+ 456 0 return DatastoreV1.PropertyOrder.Direction.valueOf(name());
+ 457
+ }
+ 458
+
+ 459
+ static Direction fromPb(DatastoreV1.PropertyOrder.Direction directionPb) {
+ 460 0 return valueOf(directionPb.name());
+ 461
+ }
+ 462
+ }
+ 463
+
+ 464 0 public OrderBy(String property, Direction direction) {
+ 465 0 this .property = checkNotNull(property);
+ 466 0 this .direction = checkNotNull(direction);
+ 467 0 }
+ 468
+
+ 469
+ @Override
+ 470
+ public int hashCode() {
+ 471 0 return Objects.hash(property, direction);
+ 472
+ }
+ 473
+
+ 474
+ @Override
+ 475
+ public boolean equals(Object obj) {
+ 476 0 if (obj == this ) {
+ 477 0 return true ;
+ 478
+ }
+ 479 0 if (!(obj instanceof OrderBy)) {
+ 480 0 return false ;
+ 481
+ }
+ 482 0 OrderBy other = (OrderBy) obj;
+ 483 0 return property.equals(other.property)
+ 484
+ && direction == other.direction;
+ 485
+ }
+ 486
+
+ 487
+ public String property() {
+ 488 0 return property;
+ 489
+ }
+ 490
+
+ 491
+ public Direction direction() {
+ 492 0 return direction;
+ 493
+ }
+ 494
+
+ 495
+ DatastoreV1.PropertyOrder toPb() {
+ 496 0 return DatastoreV1.PropertyOrder.newBuilder()
+ 497 0 .setDirection(direction.toPb())
+ 498 0 .setProperty(DatastoreV1.PropertyReference.newBuilder().setName(property).build())
+ 499 0 .build();
+ 500
+ }
+ 501
+
+ 502
+ public static OrderBy asc(String property) {
+ 503 0 return new OrderBy(property, OrderBy.Direction.ASCENDING);
+ 504
+ }
+ 505
+
+ 506
+ public static OrderBy desc(String property) {
+ 507 0 return new OrderBy(property, OrderBy.Direction.DESCENDING);
+ 508
+ }
+ 509
+
+ 510
+ static OrderBy fromPb(DatastoreV1.PropertyOrder propertyOrderPb) {
+ 511 0 String property = propertyOrderPb.getProperty().getName();
+ 512 0 Direction direction = Direction.fromPb(propertyOrderPb.getDirection());
+ 513 0 return new OrderBy(property, direction);
+ 514
+ }
+ 515
+ }
+ 516
+
+ 517 0 public static final class Projection implements Serializable {
+ 518
+
+ 519
+ private static final long serialVersionUID = 3083707957256279470L;
+ 520
+
+ 521
+ private final Aggregate aggregate;
+ 522
+ private final String property;
+ 523
+
+ 524 0 public enum Aggregate {
+ 525
+
+ 526 0 FIRST;
+ 527
+
+ 528
+ DatastoreV1.PropertyExpression.AggregationFunction toPb() {
+ 529 0 return DatastoreV1.PropertyExpression.AggregationFunction.valueOf(name());
+ 530
+ }
+ 531
+
+ 532
+ static Aggregate fromPb(DatastoreV1.PropertyExpression.AggregationFunction aggregatePb) {
+ 533 0 return valueOf(aggregatePb.name());
+ 534
+ }
+ 535
+ }
+ 536
+
+ 537
+ private Projection(Aggregate aggregate, String property) {
+ 538
+ this .aggregate = aggregate;
+ 539
+ this .property = property;
+ 540
+ }
+ 541
+
+ 542
+ @Override
+ 543
+ public int hashCode() {
+ 544 0 return Objects.hash(property, aggregate);
+ 545
+ }
+ 546
+
+ 547
+ @Override
+ 548
+ public boolean equals(Object obj) {
+ 549 0 if (obj == this ) {
+ 550 0 return true ;
+ 551
+ }
+ 552 0 if (!(obj instanceof Projection)) {
+ 553 0 return false ;
+ 554
+ }
+ 555 0 Projection other = (Projection) obj;
+ 556 0 return Objects.equals(property, other.property)
+ 557 0 && Objects.equals(aggregate, other.aggregate);
+ 558
+ }
+ 559
+
+ 560
+ @Override
+ 561
+ public String toString() {
+ 562 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 563 0 toStringHelper.add("property" , property);
+ 564 0 if (aggregate != null ) {
+ 565 0 toStringHelper.add("aggregate" , aggregate);
+ 566
+ }
+ 567 0 return toStringHelper.toString();
+ 568
+ }
+ 569
+
+ 570
+ DatastoreV1.PropertyExpression toPb() {
+ 571
+ DatastoreV1.PropertyExpression.Builder expressionPb =
+ 572 0 DatastoreV1.PropertyExpression.newBuilder();
+ 573 0 if (aggregate != null ) {
+ 574 0 expressionPb.setAggregationFunction(aggregate.toPb());
+ 575
+ }
+ 576 0 expressionPb.setProperty(
+ 577 0 DatastoreV1.PropertyReference.newBuilder().setName(property).build());
+ 578 0 return expressionPb.build();
+ 579
+ }
+ 580
+
+ 581
+ public static Projection fromPb(DatastoreV1.PropertyExpression propertyExpressionPb) {
+ 582 0 String property = propertyExpressionPb.getProperty().getName();
+ 583 0 Aggregate aggregate = null ;
+ 584 0 if (propertyExpressionPb.hasAggregationFunction()) {
+ 585 0 aggregate = Aggregate.fromPb(propertyExpressionPb.getAggregationFunction());
+ 586
+ }
+ 587 0 return new Projection(aggregate, property);
+ 588
+ }
+ 589
+
+ 590
+ public static Projection property(String property) {
+ 591 0 return new Projection(null , property);
+ 592
+ }
+ 593
+
+ 594
+ public static Projection aggregate(Aggregate aggregate, String property) {
+ 595 0 return new Projection(aggregate, property);
+ 596
+ }
+ 597
+
+ 598
+ public static Projection first(String property) {
+ 599 0 return new Projection(Aggregate.FIRST, property);
+ 600
+ }
+ 601
+ }
+ 602
+
+ 603 0 static class BaseBuilder<V, B extends BaseBuilder<V, B>> {
+ 604
+
+ 605
+ private final ResultType<V> resultType;
+ 606
+ private String namespace;
+ 607
+ private String kind;
+ 608 0 private final List<Projection> projection = new LinkedList<>();
+ 609
+ private Filter filter;
+ 610 0 private final List<String> groupBy = new LinkedList<>();
+ 611 0 private final List<OrderBy> orderBy = new LinkedList<>();
+ 612
+ private Cursor startCursor;
+ 613
+ private Cursor endCursor;
+ 614
+ private int offset;
+ 615
+ private Integer limit;
+ 616
+
+ 617 0 BaseBuilder(ResultType<V> resultType) {
+ 618 0 this .resultType = resultType;
+ 619 0 }
+ 620
+
+ 621
+ @SuppressWarnings("unchecked" )
+ 622
+ B self() {
+ 623 0 return (B) this ;
+ 624
+ }
+ 625
+
+ 626
+ public B namespace(String namespace) {
+ 627 0 this .namespace = namespace;
+ 628 0 return self();
+ 629
+ }
+ 630
+
+ 631
+ public B kind(String kind) {
+ 632 0 this .kind = kind;
+ 633 0 return self();
+ 634
+ }
+ 635
+
+ 636
+ public B startCursor(Cursor startCursor) {
+ 637 0 this .startCursor = startCursor;
+ 638 0 return self();
+ 639
+ }
+ 640
+
+ 641
+ public B endCursor(Cursor endCursor) {
+ 642 0 this .endCursor = endCursor;
+ 643 0 return self();
+ 644
+ }
+ 645
+
+ 646
+ public B offset(int offset) {
+ 647 0 Preconditions.checkArgument(offset >= 0, "offset must not be negative" );
+ 648 0 this .offset = offset;
+ 649 0 return self();
+ 650
+ }
+ 651
+
+ 652
+ public B limit(Integer limit) {
+ 653 0 Preconditions.checkArgument(limit == null || limit > 0, "limit must be positive" );
+ 654 0 this .limit = limit;
+ 655 0 return self();
+ 656
+ }
+ 657
+
+ 658
+ public B filter(Filter filter) {
+ 659 0 this .filter = filter;
+ 660 0 return self();
+ 661
+ }
+ 662
+
+ 663
+ public B clearOrderBy() {
+ 664 0 orderBy.clear();
+ 665 0 return self();
+ 666
+ }
+ 667
+
+ 668
+ public B orderBy(OrderBy orderBy, OrderBy... others) {
+ 669 0 clearOrderBy();
+ 670 0 addOrderBy(orderBy, others);
+ 671 0 return self();
+ 672
+ }
+ 673
+
+ 674
+ public B addOrderBy(OrderBy orderBy, OrderBy... others) {
+ 675 0 this .orderBy.add(orderBy);
+ 676 0 Collections.addAll(this .orderBy, others);
+ 677 0 return self();
+ 678
+ }
+ 679
+
+ 680
+ B clearProjection() {
+ 681 0 projection.clear();
+ 682 0 return self();
+ 683
+ }
+ 684
+
+ 685
+ B projection(Projection projection, Projection... others) {
+ 686 0 clearProjection();
+ 687 0 addProjection(projection, others);
+ 688 0 return self();
+ 689
+ }
+ 690
+
+ 691
+ B addProjection(Projection projection, Projection... others) {
+ 692 0 this .projection.add(projection);
+ 693 0 Collections.addAll(this .projection, others);
+ 694 0 return self();
+ 695
+ }
+ 696
+
+ 697
+ B clearGroupBy() {
+ 698 0 groupBy.clear();
+ 699 0 return self();
+ 700
+ }
+ 701
+
+ 702
+ B groupBy(String property, String... others) {
+ 703 0 clearGroupBy();
+ 704 0 addGroupBy(property, others);
+ 705 0 return self();
+ 706
+ }
+ 707
+
+ 708
+ B addGroupBy(String property, String... others) {
+ 709 0 this .groupBy.add(property);
+ 710 0 Collections.addAll(this .groupBy, others);
+ 711 0 return self();
+ 712
+ }
+ 713
+
+ 714
+ B mergeFrom(DatastoreV1.Query queryPb) {
+ 715 0 if (queryPb.getKindCount() > 0) {
+ 716 0 kind(queryPb.getKind(0).getName());
+ 717
+ }
+ 718 0 if (queryPb.hasStartCursor()) {
+ 719 0 startCursor(new Cursor(queryPb.getStartCursor()));
+ 720
+ }
+ 721 0 if (queryPb.hasEndCursor()) {
+ 722 0 endCursor(new Cursor(queryPb.getEndCursor()));
+ 723
+ }
+ 724 0 if (queryPb.hasOffset()) {
+ 725 0 offset(queryPb.getOffset());
+ 726
+ }
+ 727 0 if (queryPb.hasLimit()) {
+ 728 0 limit(queryPb.getLimit());
+ 729
+ }
+ 730 0 if (queryPb.hasFilter()) {
+ 731 0 filter(Filter.fromPb(queryPb.getFilter()));
+ 732
+ }
+ 733 0 for (DatastoreV1.PropertyOrder orderByPb : queryPb.getOrderList()) {
+ 734 0 addOrderBy(OrderBy.fromPb(orderByPb));
+ 735 0 }
+ 736 0 for (DatastoreV1.PropertyExpression projectionPb : queryPb.getProjectionList()) {
+ 737 0 addProjection(Projection.fromPb(projectionPb));
+ 738 0 }
+ 739 0 for (DatastoreV1.PropertyReference groupByPb : queryPb.getGroupByList()) {
+ 740 0 addGroupBy(groupByPb.getName());
+ 741 0 }
+ 742 0 return self();
+ 743
+ }
+ 744
+
+ 745
+ public StructuredQuery<V> build() {
+ 746 0 return new StructuredQuery<>(this );
+ 747
+ }
+ 748
+ }
+ 749
+
+ 750
+ static final class Builder<V> extends BaseBuilder<V, Builder<V>> {
+ 751
+
+ 752
+ Builder(ResultType<V> resultType) {
+ 753
+ super (resultType);
+ 754
+ }
+ 755
+ }
+ 756
+
+ 757
+ public static final class EntityQueryBuilder extends BaseBuilder<Entity, EntityQueryBuilder> {
+ 758
+
+ 759
+ EntityQueryBuilder() {
+ 760 0 super (ResultType.ENTITY);
+ 761 0 }
+ 762
+
+ 763
+ @Override
+ 764
+ public StructuredQuery<Entity> build() {
+ 765 0 return new StructuredQuery<>(this );
+ 766
+ }
+ 767
+ }
+ 768
+
+ 769 0 public static final class KeyQueryBuilder extends BaseBuilder<Key, KeyQueryBuilder> {
+ 770
+
+ 771
+ KeyQueryBuilder() {
+ 772 0 super (ResultType.KEY);
+ 773 0 projection(Projection.property(KEY_PROPERTY_NAME));
+ 774 0 }
+ 775
+
+ 776
+ @Override
+ 777
+ protected KeyQueryBuilder mergeFrom(DatastoreV1.Query queryPb) {
+ 778 0 super .mergeFrom(queryPb);
+ 779 0 projection(Projection.property(KEY_PROPERTY_NAME));
+ 780 0 clearGroupBy();
+ 781 0 return this ;
+ 782
+ }
+ 783
+
+ 784
+ @Override
+ 785
+ public StructuredQuery<Key> build() {
+ 786 0 return new StructuredQuery<>(this );
+ 787
+ }
+ 788
+ }
+ 789
+
+ 790 0 public static final class ProjectionEntityQueryBuilder
+ 791
+ extends BaseBuilder<ProjectionEntity, ProjectionEntityQueryBuilder> {
+ 792
+
+ 793
+ ProjectionEntityQueryBuilder() {
+ 794 0 super (ResultType.PROJECTION_ENTITY);
+ 795 0 }
+ 796
+
+ 797
+ @Override
+ 798
+ public StructuredQuery<ProjectionEntity> build() {
+ 799 0 return new StructuredQuery<>(this );
+ 800
+ }
+ 801
+
+ 802
+ @Override
+ 803
+ public ProjectionEntityQueryBuilder clearProjection() {
+ 804 0 return super .clearProjection();
+ 805
+ }
+ 806
+
+ 807
+ @Override
+ 808
+ public ProjectionEntityQueryBuilder projection(Projection projection, Projection... others) {
+ 809 0 return super .projection(projection, others);
+ 810
+ }
+ 811
+
+ 812
+ @Override
+ 813
+ public ProjectionEntityQueryBuilder addProjection(Projection projection, Projection... others) {
+ 814 0 return super .addProjection(projection, others);
+ 815
+ }
+ 816
+
+ 817
+ @Override
+ 818
+ public ProjectionEntityQueryBuilder clearGroupBy() {
+ 819 0 return super .clearGroupBy();
+ 820
+ }
+ 821
+
+ 822
+ @Override
+ 823
+ public ProjectionEntityQueryBuilder groupBy(String property, String... others) {
+ 824 0 return super .groupBy(property, others);
+ 825
+ }
+ 826
+
+ 827
+ @Override
+ 828
+ public ProjectionEntityQueryBuilder addGroupBy(String property, String... others) {
+ 829 0 return super .addGroupBy(property, others);
+ 830
+ }
+ 831
+ }
+ 832
+
+ 833
+ StructuredQuery(BaseBuilder<V, ?> builder) {
+ 834 0 super (builder.resultType, builder.namespace);
+ 835 0 kind = builder.kind;
+ 836 0 projection = ImmutableList.copyOf(builder.projection);
+ 837 0 filter = builder.filter;
+ 838 0 groupBy = ImmutableList.copyOf(builder.groupBy);
+ 839 0 orderBy = ImmutableList.copyOf(builder.orderBy);
+ 840 0 startCursor = builder.startCursor;
+ 841 0 endCursor = builder.endCursor;
+ 842 0 offset = builder.offset;
+ 843 0 limit = builder.limit;
+ 844 0 }
+ 845
+
+ 846
+ @Override
+ 847
+ public int hashCode() {
+ 848 0 return Objects.hash(namespace(), kind, startCursor, endCursor, offset, limit, filter, orderBy,
+ 849 0 projection(), groupBy());
+ 850
+ }
+ 851
+
+ 852
+ @Override
+ 853
+ public boolean equals(Object obj) {
+ 854 0 if (obj == this ) {
+ 855 0 return true ;
+ 856
+ }
+ 857 0 if (!(obj instanceof StructuredQuery)) {
+ 858 0 return false ;
+ 859
+ }
+ 860 0 StructuredQuery<?> other = (StructuredQuery<?>) obj;
+ 861 0 return Objects.equals(namespace(), other.namespace())
+ 862 0 && Objects.equals(kind, other.kind)
+ 863 0 && Objects.equals(startCursor, other.startCursor)
+ 864 0 && Objects.equals(endCursor, other.endCursor)
+ 865 0 && Objects.equals(offset, other.offset)
+ 866 0 && Objects.equals(limit, other.limit)
+ 867 0 && Objects.equals(filter, other.filter)
+ 868 0 && Objects.equals(orderBy, other.orderBy)
+ 869 0 && Objects.equals(projection, other.projection)
+ 870 0 && Objects.equals(groupBy, other.groupBy);
+ 871
+
+ 872
+ }
+ 873
+
+ 874
+ public String kind() {
+ 875 0 return kind;
+ 876
+ }
+ 877
+
+ 878
+ boolean keyOnly() {
+ 879 0 return projection.size() == 1 && KEY_PROPERTY_NAME.equals(projection.get(0).property);
+ 880
+ }
+ 881
+
+ 882
+ public List<Projection> projection() {
+ 883 0 return projection;
+ 884
+ }
+ 885
+
+ 886
+ public Filter filter() {
+ 887 0 return filter;
+ 888
+ }
+ 889
+
+ 890
+ public List<String> groupBy() {
+ 891 0 return groupBy;
+ 892
+ }
+ 893
+
+ 894
+ public ImmutableList<OrderBy> orderBy() {
+ 895 0 return orderBy;
+ 896
+ }
+ 897
+
+ 898
+ public Cursor startCursor() {
+ 899 0 return startCursor;
+ 900
+ }
+ 901
+
+ 902
+ public Cursor endCursor() {
+ 903 0 return endCursor;
+ 904
+ }
+ 905
+
+ 906
+ public int offset() {
+ 907 0 return offset;
+ 908
+ }
+ 909
+
+ 910
+ public Integer limit() {
+ 911 0 return limit;
+ 912
+ }
+ 913
+
+ 914
+ @Override
+ 915
+ protected void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb) {
+ 916 0 requestPb.setQuery(toPb());
+ 917 0 }
+ 918
+
+ 919
+ @Override
+ 920
+ protected StructuredQuery<V> nextQuery(DatastoreV1.QueryResultBatch responsePb) {
+ 921 0 Builder<V> builder = new Builder<>(type());
+ 922 0 builder.mergeFrom(toPb());
+ 923 0 builder.startCursor(new Cursor(responsePb.getEndCursor()));
+ 924 0 if (offset > 0 && responsePb.getSkippedResults() < offset) {
+ 925 0 builder.offset(offset - responsePb.getSkippedResults());
+ 926
+ } else {
+ 927 0 builder.offset(0);
+ 928 0 if (limit != null ) {
+ 929 0 builder.limit(limit - responsePb.getEntityResultCount());
+ 930
+ }
+ 931
+ }
+ 932 0 return builder.build();
+ 933
+ }
+ 934
+
+ 935
+ @Override
+ 936
+ protected DatastoreV1.Query toPb() {
+ 937 0 DatastoreV1.Query.Builder queryPb = DatastoreV1.Query.newBuilder();
+ 938 0 if (kind != null ) {
+ 939 0 queryPb.addKindBuilder().setName(kind);
+ 940
+ }
+ 941 0 if (startCursor != null ) {
+ 942 0 queryPb.setStartCursor(startCursor.byteString());
+ 943
+ }
+ 944 0 if (endCursor != null ) {
+ 945 0 queryPb.setEndCursor(endCursor.byteString());
+ 946
+ }
+ 947 0 if (offset > 0) {
+ 948 0 queryPb.setOffset(offset);
+ 949
+ }
+ 950 0 if (limit != null ) {
+ 951 0 queryPb.setLimit(limit);
+ 952
+ }
+ 953 0 if (filter != null ) {
+ 954 0 queryPb.setFilter(filter.toPb());
+ 955
+ }
+ 956 0 for (OrderBy value : orderBy) {
+ 957 0 queryPb.addOrder(value.toPb());
+ 958 0 }
+ 959 0 for (String value : groupBy) {
+ 960 0 queryPb.addGroupBy(DatastoreV1.PropertyReference.newBuilder().setName(value).build());
+ 961 0 }
+ 962 0 for (Projection value : projection) {
+ 963 0 queryPb.addProjection(value.toPb());
+ 964 0 }
+ 965 0 return queryPb.build();
+ 966
+ }
+ 967
+
+ 968
+ @Override
+ 969
+ protected Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 970
+ throws InvalidProtocolBufferException {
+ 971 0 return fromPb(resultType, namespace, DatastoreV1.Query.parseFrom(bytesPb));
+ 972
+ }
+ 973
+
+ 974
+ private static StructuredQuery<?> fromPb(ResultType<?> resultType, String namespace,
+ 975
+ DatastoreV1.Query queryPb) {
+ 976
+ BaseBuilder<?, ?> builder;
+ 977 0 if (resultType.equals(ResultType.ENTITY)) {
+ 978 0 builder = new EntityQueryBuilder();
+ 979 0 } else if (resultType.equals(ResultType.KEY)) {
+ 980 0 builder = new KeyQueryBuilder();
+ 981
+ } else {
+ 982 0 builder = new ProjectionEntityQueryBuilder();
+ 983
+ }
+ 984 0 return builder.namespace(namespace).mergeFrom(queryPb).build();
+ 985
+ }
+ 986
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Transaction.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Transaction.html
new file mode 100644
index 000000000000..ea6f08e67cdb
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Transaction.html
@@ -0,0 +1,281 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Transaction
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+ import java.util.List;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+ public interface Transaction extends DatastoreBatchWriter, DatastoreReaderWriter {
+ 54
+
+ 55
+ interface Response {
+ 56
+ List<Key> generatedKeys();
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ @Override
+ 68
+ Entity get(Key key);
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+ @Override
+ 79
+ Iterator<Entity> get(Key... key);
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ @Override
+ 90
+ List<Entity> fetch(Key... keys);
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+ @Override
+ 102
+ <T> QueryResults<T> run(Query<T> query);
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+ Response commit();
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+ void rollback();
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+ @Override
+ 122
+ boolean active();
+ 123
+
+ 124
+
+ 125
+
+ 126
+
+ 127
+ Datastore datastore();
+ 128
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionImpl.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionImpl.html
new file mode 100644
index 000000000000..5f7821247037
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionImpl.html
@@ -0,0 +1,241 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.TransactionImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Function;
+ 21
+ import com.google.common.collect.Lists;
+ 22
+ import com.google.gcloud.datastore.TransactionOption.ForceWrites;
+ 23
+ import com.google.gcloud.datastore.TransactionOption.IsolationLevel;
+ 24
+ import com.google.protobuf.ByteString;
+ 25
+
+ 26
+ import java.util.Iterator;
+ 27
+ import java.util.List;
+ 28
+ import java.util.Map;
+ 29
+
+ 30
+ final class TransactionImpl extends BaseDatastoreBatchWriter implements Transaction {
+ 31
+
+ 32
+ private final DatastoreImpl datastore;
+ 33
+ private final ByteString transaction;
+ 34
+ private final boolean force;
+ 35
+ private boolean rolledback;
+ 36
+
+ 37
+ static class ResponseImpl implements Transaction.Response {
+ 38
+
+ 39
+ private final DatastoreV1.CommitResponse response;
+ 40
+
+ 41
+ ResponseImpl(DatastoreV1.CommitResponse response) {
+ 42
+ this .response = response;
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ public List<Key> generatedKeys() {
+ 47 0 return Lists.transform(response.getMutationResult().getInsertAutoIdKeyList(),
+ 48 0 new Function<DatastoreV1.Key, Key>() {
+ 49
+ @Override public Key apply(DatastoreV1.Key keyPb) {
+ 50 0 return Key.fromPb(keyPb);
+ 51
+ }
+ 52
+ });
+ 53
+ }
+ 54
+ }
+ 55
+
+ 56
+ TransactionImpl(DatastoreImpl datastore, TransactionOption... options) {
+ 57 0 super ("transaction" );
+ 58 0 this .datastore = datastore;
+ 59
+ DatastoreV1.BeginTransactionRequest.Builder requestPb =
+ 60 0 DatastoreV1.BeginTransactionRequest.newBuilder();
+ 61 0 Map<Class<? extends TransactionOption>, TransactionOption> optionsMap =
+ 62 0 TransactionOption.asImmutableMap(options);
+ 63 0 IsolationLevel isolationLevel = (IsolationLevel) optionsMap.get(IsolationLevel.class );
+ 64 0 if (isolationLevel != null ) {
+ 65 0 requestPb.setIsolationLevel(isolationLevel.level().toPb());
+ 66
+ }
+ 67 0 ForceWrites forceWrites = (ForceWrites) optionsMap.get(TransactionOption.ForceWrites.class );
+ 68 0 force = forceWrites != null && forceWrites.force();
+ 69 0 transaction = datastore.requestTransactionId(requestPb);
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ public Entity get(Key key) {
+ 74 0 return DatastoreHelper.get(this , key);
+ 75
+ }
+ 76
+
+ 77
+ @Override
+ 78
+ public Iterator<Entity> get(Key... keys) {
+ 79 0 validateActive();
+ 80 0 DatastoreV1.ReadOptions.Builder readOptionsPb = DatastoreV1.ReadOptions.newBuilder();
+ 81 0 readOptionsPb.setTransaction(transaction);
+ 82 0 return datastore.get(readOptionsPb.build(), keys);
+ 83
+ }
+ 84
+
+ 85
+ @Override
+ 86
+ public List<Entity> fetch(Key... keys) {
+ 87 0 validateActive();
+ 88 0 return DatastoreHelper.fetch(this , keys);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public <T> QueryResults<T> run(Query<T> query) {
+ 93 0 validateActive();
+ 94 0 DatastoreV1.ReadOptions.Builder readOptionsPb = DatastoreV1.ReadOptions.newBuilder();
+ 95 0 readOptionsPb.setTransaction(transaction);
+ 96 0 return datastore.run(readOptionsPb.build(), query);
+ 97
+ }
+ 98
+
+ 99
+ @Override
+ 100
+ public Transaction.Response commit() {
+ 101 0 validateActive();
+ 102 0 DatastoreV1.Mutation.Builder mutationPb = toMutationPb();
+ 103 0 if (force) {
+ 104 0 mutationPb.setForce(force);
+ 105
+ }
+ 106 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 107 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.TRANSACTIONAL);
+ 108 0 requestPb.setTransaction(transaction);
+ 109 0 requestPb.setMutation(mutationPb);
+ 110 0 DatastoreV1.CommitResponse responsePb = datastore.commit(requestPb.build());
+ 111 0 deactivate();
+ 112 0 return new ResponseImpl(responsePb);
+ 113
+ }
+ 114
+
+ 115
+ @Override
+ 116
+ public void rollback() {
+ 117 0 if (rolledback) {
+ 118 0 return ;
+ 119
+ }
+ 120 0 validateActive();
+ 121 0 datastore.rollbackTransaction(transaction);
+ 122 0 deactivate();
+ 123 0 rolledback = true ;
+ 124 0 }
+ 125
+
+ 126
+ @Override
+ 127
+ public Datastore datastore() {
+ 128 0 return datastore;
+ 129
+ }
+ 130
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionOption.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionOption.html
new file mode 100644
index 000000000000..4d8c732f65cd
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.TransactionOption.html
@@ -0,0 +1,240 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.TransactionOption
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.collect.ImmutableMap;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.Map;
+ 24
+
+ 25
+
+ 26
+ public abstract class TransactionOption implements Serializable {
+ 27
+
+ 28
+ private static final long serialVersionUID = -1862234444015690375L;
+ 29
+
+ 30
+ public static final class ForceWrites extends TransactionOption {
+ 31
+
+ 32
+ private static final long serialVersionUID = -6873967516988380886L;
+ 33
+
+ 34
+ private final boolean force;
+ 35
+
+ 36
+ public ForceWrites(boolean force) {
+ 37
+ this .force = force;
+ 38
+ }
+ 39
+
+ 40
+ public boolean force() {
+ 41 0 return force;
+ 42
+ }
+ 43
+
+ 44
+ @Override
+ 45
+ BatchOption toBatchWriteOption() {
+ 46 0 return new BatchOption.ForceWrites(force);
+ 47
+ }
+ 48
+ }
+ 49
+
+ 50
+ public static final class IsolationLevel extends TransactionOption {
+ 51
+
+ 52
+ private static final long serialVersionUID = -5592165378565409515L;
+ 53
+
+ 54
+ private final Level level;
+ 55
+
+ 56 0 public enum Level {
+ 57
+
+ 58 0 SERIALIZABLE(DatastoreV1.BeginTransactionRequest.IsolationLevel.SERIALIZABLE),
+ 59 0 SNAPSHOT(DatastoreV1.BeginTransactionRequest.IsolationLevel.SNAPSHOT);
+ 60
+
+ 61
+ private final DatastoreV1.BeginTransactionRequest.IsolationLevel levelPb;
+ 62
+
+ 63
+ Level(DatastoreV1.BeginTransactionRequest.IsolationLevel levelPb) {
+ 64
+ this .levelPb = levelPb;
+ 65
+ }
+ 66
+
+ 67
+ DatastoreV1.BeginTransactionRequest.IsolationLevel toPb() {
+ 68 0 return levelPb;
+ 69
+ }
+ 70
+ }
+ 71
+
+ 72
+ public IsolationLevel(Level level) {
+ 73
+ this .level = level;
+ 74
+ }
+ 75
+
+ 76
+
+ 77
+ public Level level() {
+ 78 0 return level;
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ BatchOption toBatchWriteOption() {
+ 83 0 return null ;
+ 84
+ }
+ 85
+ }
+ 86
+
+ 87
+ TransactionOption() {
+ 88
+
+ 89
+ }
+ 90
+
+ 91
+ public static ForceWrites forceWrites() {
+ 92 0 return new ForceWrites(true );
+ 93
+ }
+ 94
+
+ 95
+ public static IsolationLevel serializable() {
+ 96 0 return new IsolationLevel(IsolationLevel.Level.SERIALIZABLE);
+ 97
+ }
+ 98
+
+ 99
+ public static IsolationLevel snapshot() {
+ 100 0 return new IsolationLevel(IsolationLevel.Level.SNAPSHOT);
+ 101
+ }
+ 102
+
+ 103
+ static Map<Class<? extends TransactionOption>, TransactionOption> asImmutableMap(
+ 104
+ TransactionOption... options) {
+ 105
+ ImmutableMap.Builder<Class<? extends TransactionOption>, TransactionOption> builder =
+ 106 0 ImmutableMap.builder();
+ 107 0 for (TransactionOption option : options) {
+ 108 0 builder.put(option.getClass(), option);
+ 109
+ }
+ 110 0 return builder.build();
+ 111
+ }
+ 112
+
+ 113
+ abstract BatchOption toBatchWriteOption();
+ 114
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Validator.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Validator.html
new file mode 100644
index 000000000000..20ba3d2ac46a
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Validator.html
@@ -0,0 +1,137 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Validator
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.common.base.Strings;
+ 22
+
+ 23
+ import java.util.regex.Pattern;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ final class Validator {
+ 29
+
+ 30 0 private static final Pattern PROJECT_ID_PATTERN = Pattern.compile(
+ 31
+ "([a-z\\d\\-]{1,100}~)?([a-z\\d][a-z\\d\\-\\.]{0,99}:)?([a-z\\d][a-z\\d\\-]{0,99})" );
+ 32
+ private static final int MAX_NAMESPACE_LENGTH = 100;
+ 33 0 private static final Pattern NAMESPACE_PATTERN =
+ 34 0 Pattern.compile(String.format("[0-9A-Za-z\\._\\-]{0,%d}" , MAX_NAMESPACE_LENGTH));
+ 35
+
+ 36
+ private Validator() {
+ 37
+
+ 38
+ }
+ 39
+
+ 40
+ static String validateDatabase(String projectId) {
+ 41 0 checkArgument(!Strings.isNullOrEmpty(projectId), "projectId can't be empty or null" );
+ 42 0 checkArgument(PROJECT_ID_PATTERN.matcher(projectId).matches(),
+ 43 0 "projectId must match the following pattern: " + PROJECT_ID_PATTERN.pattern());
+ 44 0 return projectId;
+ 45
+ }
+ 46
+
+ 47
+ static String validateNamespace(String namespace) {
+ 48 0 if (namespace != null ) {
+ 49 0 checkArgument(!namespace.isEmpty(), "namespace must not be an empty string" );
+ 50 0 checkArgument(namespace.length() <= MAX_NAMESPACE_LENGTH,
+ 51
+ "namespace must not contain more than 100 characters" );
+ 52 0 checkArgument(NAMESPACE_PATTERN.matcher(namespace).matches(),
+ 53 0 "namespace must the following pattern: " + NAMESPACE_PATTERN.pattern());
+ 54
+ }
+ 55 0 return namespace;
+ 56
+ }
+ 57
+
+ 58
+ static String validateKind(String kind) {
+ 59 0 checkArgument(!Strings.isNullOrEmpty(kind), "kind must not be empty or null" );
+ 60 0 return kind;
+ 61
+ }
+ 62
+
+ 63
+
+ 64
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.Value.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.Value.html
new file mode 100644
index 000000000000..5ff1748a279d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.Value.html
@@ -0,0 +1,443 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Value
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.protobuf.Descriptors.FieldDescriptor;
+ 23
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 24
+
+ 25
+ import java.util.Map.Entry;
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 public abstract class Value<V> extends Serializable<DatastoreV1.Value> {
+ 37
+
+ 38
+ private static final long serialVersionUID = -1899638277588872742L;
+ 39
+
+ 40
+
+ 41
+ private final transient ValueType valueType;
+ 42
+ private final transient Boolean indexed;
+ 43
+ private final transient Integer meaning;
+ 44
+ private final transient V value;
+ 45
+
+ 46
+ interface BuilderFactory<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 47
+ extends java.io.Serializable {
+ 48
+ B newBuilder(V value);
+ 49
+ }
+ 50
+
+ 51
+ abstract static class BaseMarshaller<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 52
+ implements ValueMarshaller<V, P, B>, BuilderFactory<V, P, B> {
+ 53
+
+ 54
+ private static final long serialVersionUID = 2880767488942992985L;
+ 55
+
+ 56
+ @SuppressWarnings("deprecation" )
+ 57
+ @Override
+ 58
+ public final B fromProto(DatastoreV1.Value proto) {
+ 59 0 B builder = newBuilder(getValue(proto));
+ 60 0 if (proto.hasIndexed()) {
+ 61 0 builder.indexed(proto.getIndexed());
+ 62
+ }
+ 63 0 if (proto.hasMeaning()) {
+ 64 0 builder.meaning(proto.getMeaning());
+ 65
+ }
+ 66 0 return builder;
+ 67
+ }
+ 68
+
+ 69
+ @SuppressWarnings("deprecation" )
+ 70
+ @Override
+ 71
+ public final DatastoreV1.Value toProto(P value) {
+ 72 0 DatastoreV1.Value.Builder builder = DatastoreV1.Value.newBuilder();
+ 73 0 if (value.hasIndexed()) {
+ 74 0 builder.setIndexed(value.indexed());
+ 75
+ }
+ 76 0 if (value.hasMeaning()) {
+ 77 0 builder.setMeaning(value.meaning());
+ 78
+ }
+ 79 0 setValue(value, builder);
+ 80 0 return builder.build();
+ 81
+ }
+ 82
+
+ 83
+ protected abstract V getValue(DatastoreV1.Value from);
+ 84
+
+ 85
+ protected abstract void setValue(P from, DatastoreV1.Value.Builder to);
+ 86
+ }
+ 87
+
+ 88 0 @SuppressWarnings("deprecation" )
+ 89
+ abstract static class BaseBuilder<V, P extends Value<V>, B extends BaseBuilder<V, P, B>>
+ 90
+ implements ValueBuilder<V, P, B> {
+ 91
+
+ 92
+ private final ValueType valueType;
+ 93
+ private Boolean indexed;
+ 94
+ private Integer meaning;
+ 95
+ private V value;
+ 96
+
+ 97
+ BaseBuilder(ValueType valueType) {
+ 98
+ this .valueType = valueType;
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public ValueType getValueType() {
+ 103
+ return valueType;
+ 104
+ }
+ 105
+
+ 106
+ @Override
+ 107
+ public B mergeFrom(P other) {
+ 108 0 indexed = other.indexed();
+ 109 0 meaning = other.meaning();
+ 110 0 set(other.get());
+ 111 0 return self();
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public Boolean getIndexed() {
+ 116
+ return indexed;
+ 117
+ }
+ 118
+
+ 119
+ @Override
+ 120
+ public B indexed(boolean indexed) {
+ 121 0 this .indexed = indexed;
+ 122 0 return self();
+ 123
+ }
+ 124
+
+ 125
+ @Override
+ 126
+ public Integer getMeaning() {
+ 127
+ return meaning;
+ 128
+ }
+ 129
+
+ 130
+ @Override
+ 131
+ public B meaning(Integer meaning) {
+ 132 0 this .meaning = meaning;
+ 133 0 return self();
+ 134
+ }
+ 135
+
+ 136
+ @Override
+ 137
+ public V get() {
+ 138
+ return value;
+ 139
+ }
+ 140
+
+ 141
+ @Override
+ 142
+ public B set(V value) {
+ 143 0 this .value = checkNotNull(value);
+ 144 0 return self();
+ 145
+ }
+ 146
+
+ 147
+ @SuppressWarnings("unchecked" )
+ 148
+ private B self() {
+ 149 0 return (B) this ;
+ 150
+ }
+ 151
+
+ 152
+ @Override
+ 153
+ public abstract P build();
+ 154
+ }
+ 155
+
+ 156 0 <P extends Value<V>, B extends BaseBuilder<V, P, B>> Value(ValueBuilder<V, P, B> builder) {
+ 157 0 valueType = builder.getValueType();
+ 158 0 indexed = builder.getIndexed();
+ 159 0 meaning = builder.getMeaning();
+ 160 0 value = builder.get();
+ 161 0 }
+ 162
+
+ 163
+ public final ValueType type() {
+ 164 0 return valueType;
+ 165
+ }
+ 166
+
+ 167
+ public final boolean hasIndexed() {
+ 168 0 return indexed != null ;
+ 169
+ }
+ 170
+
+ 171
+ public final Boolean indexed() {
+ 172 0 return indexed;
+ 173
+ }
+ 174
+
+ 175
+ @Deprecated
+ 176
+ public final boolean hasMeaning() {
+ 177 0 return meaning != null ;
+ 178
+ }
+ 179
+
+ 180
+ @Deprecated
+ 181
+ public final Integer meaning() {
+ 182 0 return meaning;
+ 183
+ }
+ 184
+
+ 185
+ public final V get() {
+ 186
+ return value;
+ 187
+ }
+ 188
+
+ 189
+ public abstract ValueBuilder<?, ?, ?> toBuilder();
+ 190
+
+ 191
+ @Override
+ 192
+ public int hashCode() {
+ 193 0 return Objects.hash(valueType, indexed, meaning, value);
+ 194
+ }
+ 195
+
+ 196
+ @Override
+ 197
+ @SuppressWarnings("unchecked" )
+ 198
+ public boolean equals(Object obj) {
+ 199 0 if (obj == this ) {
+ 200 0 return true ;
+ 201
+ }
+ 202 0 if (!getClass().isInstance(obj)) {
+ 203 0 return false ;
+ 204
+ }
+ 205 0 Value<V> other = (Value<V>) obj;
+ 206 0 return Objects.equals(valueType, other.valueType)
+ 207 0 && Objects.equals(indexed, other.indexed)
+ 208 0 && Objects.equals(meaning, other.meaning)
+ 209 0 && Objects.equals(value, other.value);
+ 210
+ }
+ 211
+
+ 212
+ @Override
+ 213
+ @SuppressWarnings("unchecked" )
+ 214
+ protected DatastoreV1.Value toPb() {
+ 215 0 return type().getMarshaller().toProto(this );
+ 216
+ }
+ 217
+
+ 218
+ static Value<?> fromPb(DatastoreV1.Value proto) {
+ 219 0 for (Entry<FieldDescriptor, Object> entry : proto.getAllFields().entrySet()) {
+ 220 0 FieldDescriptor descriptor = entry.getKey();
+ 221 0 if (descriptor.getName().endsWith("_value" )) {
+ 222 0 ValueType valueType = ValueType.getByDescriptorId(descriptor.getNumber());
+ 223 0 if (valueType == null ) {
+ 224
+
+ 225 0 return RawValue.MARSHALLER.fromProto(proto).build();
+ 226
+ }
+ 227 0 return valueType.getMarshaller().fromProto(proto).build();
+ 228
+ }
+ 229 0 }
+ 230 0 return NullValue.MARSHALLER.fromProto(proto).build();
+ 231
+ }
+ 232
+
+ 233
+ @Override
+ 234
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 235 0 return fromPb(DatastoreV1.Value.parseFrom(bytesPb));
+ 236
+ }
+ 237
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueBuilder.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueBuilder.html
new file mode 100644
index 000000000000..936f87145a2c
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueBuilder.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueBuilder
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+ public interface ValueBuilder<V, P extends Value<V>, B extends ValueBuilder<V, P, B>> {
+ 23
+
+ 24
+ ValueType getValueType();
+ 25
+
+ 26
+ B mergeFrom(P other);
+ 27
+
+ 28
+ Boolean getIndexed();
+ 29
+
+ 30
+ B indexed(boolean indexed);
+ 31
+
+ 32
+ Integer getMeaning();
+ 33
+
+ 34
+ @Deprecated
+ 35
+ B meaning(Integer meaning);
+ 36
+
+ 37
+ V get();
+ 38
+
+ 39
+ B set(V value);
+ 40
+
+ 41
+ P build();
+ 42
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueMarshaller.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueMarshaller.html
new file mode 100644
index 000000000000..e2f138a3cf4a
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueMarshaller.html
@@ -0,0 +1,88 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueMarshaller
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ interface ValueMarshaller<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 25
+ extends java.io.Serializable {
+ 26
+
+ 27
+ B fromProto(DatastoreV1.Value proto);
+ 28
+
+ 29
+ DatastoreV1.Value toProto(P value);
+ 30
+
+ 31
+ int getProtoFieldId();
+ 32
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueType.html b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueType.html
new file mode 100644
index 000000000000..3766f12409a1
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.datastore.ValueType.html
@@ -0,0 +1,228 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueType
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26 0 public enum ValueType {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31 0 NULL(NullValue.MARSHALLER),
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 STRING(StringValue.MARSHALLER),
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41 0 ENTITY(EntityValue.MARSHALLER),
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46 0 LIST(ListValue.MARSHALLER),
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51 0 KEY(KeyValue.MARSHALLER),
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56 0 LONG(LongValue.MARSHALLER),
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61 0 DOUBLE(DoubleValue.MARSHALLER),
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66 0 BOOLEAN(BooleanValue.MARSHALLER),
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71 0 DATE_TIME(DateTimeValue.MARSHALLER),
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76 0 BLOB(BlobValue.MARSHALLER),
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81 0 RAW_VALUE(RawValue.MARSHALLER);
+ 82
+
+ 83
+
+ 84
+ private static final ImmutableMap<Integer, ValueType> DESCRIPTOR_TO_TYPE_MAP;
+ 85
+
+ 86
+ @SuppressWarnings("rawtypes" ) private final ValueMarshaller marshaller;
+ 87
+
+ 88
+ static {
+ 89 0 ImmutableMap.Builder<Integer, ValueType> builder = ImmutableMap.builder();
+ 90 0 for (ValueType valueType : ValueType.values()) {
+ 91 0 int fieldId = valueType.getMarshaller().getProtoFieldId();
+ 92 0 if (fieldId > 0) {
+ 93 0 builder.put(fieldId, valueType);
+ 94
+ }
+ 95
+ }
+ 96 0 DESCRIPTOR_TO_TYPE_MAP = builder.build();
+ 97 0 }
+ 98
+
+ 99
+
+ 100
+ <V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 101
+ ValueType(ValueMarshaller<V, P, B> marshaller) {
+ 102
+ this .marshaller = marshaller;
+ 103
+ }
+ 104
+
+ 105
+ ValueMarshaller getMarshaller() {
+ 106
+ return marshaller;
+ 107
+ }
+ 108
+
+ 109
+ static ValueType getByDescriptorId(int descriptorId) {
+ 110 0 return DESCRIPTOR_TO_TYPE_MAP.get(descriptorId);
+ 111
+ }
+ 112
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpc.html b/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpc.html
new file mode 100644
index 000000000000..c62c1a0e5ab8
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpc.html
@@ -0,0 +1,245 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DatastoreRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+ package com.google.gcloud.spi;
+ 17
+
+ 18
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest;
+ 19
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest;
+ 21
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.CommitRequest;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.CommitResponse;
+ 24
+ import com.google.api.services.datastore.DatastoreV1.LookupRequest;
+ 25
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 26
+ import com.google.api.services.datastore.DatastoreV1.RollbackRequest;
+ 27
+ import com.google.api.services.datastore.DatastoreV1.RollbackResponse;
+ 28
+ import com.google.api.services.datastore.DatastoreV1.RunQueryRequest;
+ 29
+ import com.google.api.services.datastore.DatastoreV1.RunQueryResponse;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+ public interface DatastoreRpc {
+ 35
+
+ 36
+ public class DatastoreRpcException extends Exception {
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public enum Reason {
+ 45
+
+ 46 0 ABORTED(true , "Request aborted" , 409),
+ 47 0 DEADLINE_EXCEEDED(true , "Deadline exceeded" , 403),
+ 48 0 FAILED_PRECONDITION(false , "Invalid request" , 412),
+ 49 0 INTERNAL(false , "Server returned an error" , 500),
+ 50 0 INVALID_ARGUMENT(false , "Request parameter has an invalid value" , 400),
+ 51 0 PERMISSION_DENIED(false , "Unauthorized request" , 403),
+ 52 0 RESOURCE_EXHAUSTED(false , "Quota exceeded" , 402),
+ 53 0 UNAVAILABLE(true , "Could not reach service" , 503);
+ 54
+
+ 55
+ private final boolean retryable;
+ 56
+ private final String description;
+ 57
+ private final int httpStatus;
+ 58
+
+ 59
+ private Reason(boolean retryable, String description, int httpStatus) {
+ 60
+ this .retryable = retryable;
+ 61
+ this .description = description;
+ 62
+ this .httpStatus = httpStatus;
+ 63
+ }
+ 64
+
+ 65
+ public boolean retryable() {
+ 66 0 return retryable;
+ 67
+ }
+ 68
+
+ 69
+ public String description() {
+ 70 0 return description;
+ 71
+ }
+ 72
+
+ 73
+ public int httpStatus() {
+ 74 0 return httpStatus;
+ 75
+ }
+ 76
+ }
+ 77
+
+ 78
+ private final String reason;
+ 79
+ private final int httpStatus;
+ 80
+ private final boolean retryable;
+ 81
+
+ 82
+ public DatastoreRpcException(Reason reason) {
+ 83 0 this (reason.name(), reason.httpStatus, reason.retryable, reason.description);
+ 84 0 }
+ 85
+
+ 86
+ public DatastoreRpcException(String reason, int httpStatus, boolean retryable, String message) {
+ 87
+ super (message);
+ 88
+ this .reason = reason;
+ 89
+ this .httpStatus = httpStatus;
+ 90
+ this .retryable = retryable;
+ 91
+ }
+ 92
+
+ 93
+ public String reason() {
+ 94 0 return reason;
+ 95
+ }
+ 96
+
+ 97
+ public int httpStatus() {
+ 98 0 return httpStatus;
+ 99
+ }
+ 100
+
+ 101
+ public boolean retryable() {
+ 102 0 return retryable;
+ 103
+ }
+ 104
+ }
+ 105
+
+ 106
+ AllocateIdsResponse allocateIds(AllocateIdsRequest request) throws DatastoreRpcException;
+ 107
+
+ 108
+ BeginTransactionResponse beginTransaction(BeginTransactionRequest request)
+ 109
+ throws DatastoreRpcException;
+ 110
+
+ 111
+ CommitResponse commit(CommitRequest request) throws DatastoreRpcException;
+ 112
+
+ 113
+ LookupResponse lookup(LookupRequest request) throws DatastoreRpcException;
+ 114
+
+ 115
+ RollbackResponse rollback(RollbackRequest request) throws DatastoreRpcException;
+ 116
+
+ 117
+ RunQueryResponse runQuery(RunQueryRequest request) throws DatastoreRpcException;
+ 118
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html b/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html
new file mode 100644
index 000000000000..17a4674f4123
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html
@@ -0,0 +1,80 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DatastoreRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.datastore.DatastoreOptions;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface DatastoreRpcFactory extends
+ 26
+ ServiceRpcFactory<DatastoreRpc, DatastoreOptions> {
+ 27
+ }
+ 28
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html b/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html
new file mode 100644
index 000000000000..4939bee19d2c
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html
@@ -0,0 +1,279 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DefaultDatastoreRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse;
+ 21
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.CommitRequest;
+ 24
+ import com.google.api.services.datastore.DatastoreV1.CommitResponse;
+ 25
+ import com.google.api.services.datastore.DatastoreV1.LookupRequest;
+ 26
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 27
+ import com.google.api.services.datastore.DatastoreV1.RollbackRequest;
+ 28
+ import com.google.api.services.datastore.DatastoreV1.RollbackResponse;
+ 29
+ import com.google.api.services.datastore.DatastoreV1.RunQueryRequest;
+ 30
+ import com.google.api.services.datastore.DatastoreV1.RunQueryResponse;
+ 31
+ import com.google.api.services.datastore.client.Datastore;
+ 32
+ import com.google.api.services.datastore.client.DatastoreException;
+ 33
+ import com.google.api.services.datastore.client.DatastoreFactory;
+ 34
+ import com.google.api.services.datastore.client.DatastoreOptions.Builder;
+ 35
+ import com.google.common.collect.ImmutableMap;
+ 36
+ import com.google.gcloud.datastore.DatastoreOptions;
+ 37
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason;
+ 38
+
+ 39
+ import org.json.JSONException;
+ 40
+ import org.json.JSONObject;
+ 41
+ import org.json.JSONTokener;
+ 42
+
+ 43
+ import java.util.HashMap;
+ 44
+ import java.util.Map;
+ 45
+
+ 46
+ public class DefaultDatastoreRpc implements DatastoreRpc {
+ 47
+
+ 48
+ private final Datastore client;
+ 49
+
+ 50
+ private static final ImmutableMap<String, Reason> STR_TO_REASON;
+ 51
+ private static final ImmutableMap<Integer, Reason> HTTP_STATUS_TO_REASON;
+ 52
+
+ 53
+ static {
+ 54 0 ImmutableMap.Builder<String, Reason> builder = ImmutableMap.builder();
+ 55 0 Map<Integer, Reason> httpCodes = new HashMap<>();
+ 56 0 for (Reason reason : Reason.values()) {
+ 57 0 builder.put(reason.name(), reason);
+ 58 0 httpCodes.put(reason.httpStatus(), reason);
+ 59
+ }
+ 60 0 STR_TO_REASON = builder.build();
+ 61 0 HTTP_STATUS_TO_REASON = ImmutableMap.copyOf(httpCodes);
+ 62 0 }
+ 63
+
+ 64 0 public DefaultDatastoreRpc(DatastoreOptions options) {
+ 65 0 client = DatastoreFactory.get().create(
+ 66
+ new Builder()
+ 67 0 .dataset(options.projectId())
+ 68 0 .host(options.host())
+ 69 0 .initializer(options.httpRequestInitializer())
+ 70 0 .build());
+ 71 0 }
+ 72
+
+ 73
+ private static DatastoreRpcException translate(DatastoreException exception) {
+ 74 0 String message = exception.getMessage();
+ 75 0 String reasonStr = "" ;
+ 76 0 if (message != null ) {
+ 77
+ try {
+ 78 0 JSONObject json = new JSONObject(new JSONTokener(message));
+ 79 0 JSONObject error = json.getJSONObject("error" ).getJSONArray("errors" ).getJSONObject(0);
+ 80 0 reasonStr = error.getString("reason" );
+ 81 0 message = error.getString("message" );
+ 82 0 } catch (JSONException ignore) {
+ 83
+
+ 84 0 }
+ 85
+ }
+ 86 0 Reason reason = STR_TO_REASON.get(reasonStr);
+ 87 0 if (reason == null ) {
+ 88 0 reason = HTTP_STATUS_TO_REASON.get(exception.getCode());
+ 89
+ }
+ 90 0 return reason != null
+ 91
+ ? new DatastoreRpcException(reason)
+ 92 0 : new DatastoreRpcException("Unknown" , exception.getCode(), false , message);
+ 93
+ }
+ 94
+
+ 95
+ @Override
+ 96
+ public AllocateIdsResponse allocateIds(AllocateIdsRequest request)
+ 97
+ throws DatastoreRpcException {
+ 98
+ try {
+ 99 0 return client.allocateIds(request);
+ 100 0 } catch (DatastoreException ex) {
+ 101 0 throw translate(ex);
+ 102
+ }
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ public BeginTransactionResponse beginTransaction(BeginTransactionRequest request)
+ 107
+ throws DatastoreRpcException {
+ 108
+ try {
+ 109 0 return client.beginTransaction(request);
+ 110 0 } catch (DatastoreException ex) {
+ 111 0 throw translate(ex);
+ 112
+ }
+ 113
+ }
+ 114
+
+ 115
+ @Override
+ 116
+ public CommitResponse commit(CommitRequest request) throws DatastoreRpcException {
+ 117
+ try {
+ 118 0 return client.commit(request);
+ 119 0 } catch (DatastoreException ex) {
+ 120 0 throw translate(ex);
+ 121
+ }
+ 122
+ }
+ 123
+
+ 124
+ @Override
+ 125
+ public LookupResponse lookup(LookupRequest request) throws DatastoreRpcException {
+ 126
+ try {
+ 127 0 return client.lookup(request);
+ 128 0 } catch (DatastoreException ex) {
+ 129 0 throw translate(ex);
+ 130
+ }
+ 131
+ }
+ 132
+
+ 133
+ @Override
+ 134
+ public RollbackResponse rollback(RollbackRequest request) throws DatastoreRpcException {
+ 135
+ try {
+ 136 0 return client.rollback(request);
+ 137 0 } catch (DatastoreException ex) {
+ 138 0 throw translate(ex);
+ 139
+ }
+ 140
+ }
+ 141
+
+ 142
+ @Override
+ 143
+ public RunQueryResponse runQuery(RunQueryRequest request) throws DatastoreRpcException {
+ 144
+ try {
+ 145 0 return client.runQuery(request);
+ 146 0 } catch (DatastoreException ex) {
+ 147 0 throw translate(ex);
+ 148
+ }
+ 149
+ }
+ 150
+ }
+ 151
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html b/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html
new file mode 100644
index 000000000000..64d2b56b8a8d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html
@@ -0,0 +1,796 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DefaultStorageRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+ package com.google.gcloud.spi;
+ 16
+
+ 17
+ import static com.google.gcloud.spi.StorageRpc.Option.DELIMITER;
+ 18
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_MATCH;
+ 19
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_NOT_MATCH;
+ 20
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_MATCH;
+ 21
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_NOT_MATCH;
+ 22
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_MATCH;
+ 23
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_NOT_MATCH;
+ 24
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_MATCH;
+ 25
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_NOT_MATCH;
+ 26
+ import static com.google.gcloud.spi.StorageRpc.Option.MAX_RESULTS;
+ 27
+ import static com.google.gcloud.spi.StorageRpc.Option.PAGE_TOKEN;
+ 28
+ import static com.google.gcloud.spi.StorageRpc.Option.PREDEFINED_ACL;
+ 29
+ import static com.google.gcloud.spi.StorageRpc.Option.PREDEFINED_DEFAULT_OBJECT_ACL;
+ 30
+ import static com.google.gcloud.spi.StorageRpc.Option.PREFIX;
+ 31
+ import static com.google.gcloud.spi.StorageRpc.Option.VERSIONS;
+ 32
+
+ 33
+ import com.google.api.client.googleapis.batch.json.JsonBatchCallback;
+ 34
+ import com.google.api.client.googleapis.json.GoogleJsonError;
+ 35
+ import com.google.api.client.googleapis.json.GoogleJsonResponseException;
+ 36
+ import com.google.api.client.googleapis.media.MediaHttpDownloader;
+ 37
+ import com.google.api.client.http.ByteArrayContent;
+ 38
+ import com.google.api.client.http.GenericUrl;
+ 39
+ import com.google.api.client.http.HttpHeaders;
+ 40
+ import com.google.api.client.http.HttpRequest;
+ 41
+ import com.google.api.client.http.HttpRequestFactory;
+ 42
+ import com.google.api.client.http.HttpRequestInitializer;
+ 43
+ import com.google.api.client.http.HttpResponse;
+ 44
+ import com.google.api.client.http.HttpResponseException;
+ 45
+ import com.google.api.client.http.HttpTransport;
+ 46
+ import com.google.api.client.http.json.JsonHttpContent;
+ 47
+ import com.google.api.client.json.JsonFactory;
+ 48
+ import com.google.api.client.json.jackson.JacksonFactory;
+ 49
+ import com.google.api.services.storage.Storage;
+ 50
+ import com.google.api.services.storage.Storage.Objects.Get;
+ 51
+ import com.google.api.services.storage.Storage.Objects.Insert;
+ 52
+ import com.google.api.services.storage.model.Bucket;
+ 53
+ import com.google.api.services.storage.model.Buckets;
+ 54
+ import com.google.api.services.storage.model.ComposeRequest;
+ 55
+ import com.google.api.services.storage.model.ComposeRequest.SourceObjects.ObjectPreconditions;
+ 56
+ import com.google.api.services.storage.model.Objects;
+ 57
+ import com.google.api.services.storage.model.StorageObject;
+ 58
+ import com.google.common.base.MoreObjects;
+ 59
+ import com.google.common.collect.ImmutableSet;
+ 60
+ import com.google.common.collect.Maps;
+ 61
+ import com.google.gcloud.storage.StorageException;
+ 62
+ import com.google.gcloud.storage.StorageOptions;
+ 63
+
+ 64
+ import java.io.ByteArrayOutputStream;
+ 65
+ import java.io.IOException;
+ 66
+ import java.util.ArrayList;
+ 67
+ import java.util.List;
+ 68
+ import java.util.Map;
+ 69
+ import java.util.Set;
+ 70
+
+ 71 0 public class DefaultStorageRpc implements StorageRpc {
+ 72
+
+ 73
+ public static final String DEFAULT_PROJECTION = "full" ;
+ 74
+ private final StorageOptions options;
+ 75
+ private final Storage storage;
+ 76
+
+ 77
+
+ 78 0 private static final Set<Integer> RETRYABLE_CODES = ImmutableSet.of(504, 503, 502, 500, 408);
+ 79
+
+ 80 0 public DefaultStorageRpc(StorageOptions options) {
+ 81 0 HttpTransport transport = options.httpTransportFactory().create();
+ 82 0 HttpRequestInitializer initializer = options.httpRequestInitializer();
+ 83 0 this .options = options;
+ 84 0 storage = new Storage.Builder(transport, new JacksonFactory(), initializer)
+ 85 0 .setRootUrl(options.host())
+ 86 0 .setApplicationName("gcloud-java" )
+ 87 0 .build();
+ 88 0 }
+ 89
+
+ 90
+ private static StorageException translate(IOException exception) {
+ 91
+ StorageException translated;
+ 92 0 if (exception instanceof GoogleJsonResponseException) {
+ 93 0 translated = translate(((GoogleJsonResponseException) exception).getDetails());
+ 94
+ } else {
+ 95 0 translated = new StorageException(0, exception.getMessage(), false );
+ 96
+ }
+ 97 0 translated.initCause(exception);
+ 98 0 return translated;
+ 99
+ }
+ 100
+
+ 101
+ private static StorageException translate(GoogleJsonError exception) {
+ 102 0 boolean retryable = RETRYABLE_CODES.contains(exception.getCode())
+ 103 0 || "InternalError" .equals(exception.getMessage());
+ 104 0 return new StorageException(exception.getCode(), exception.getMessage(), retryable);
+ 105
+ }
+ 106
+
+ 107
+ @Override
+ 108
+ public Bucket create(Bucket bucket, Map<Option, ?> options) throws StorageException {
+ 109
+ try {
+ 110 0 return storage.buckets()
+ 111 0 .insert(this .options.projectId(), bucket)
+ 112 0 .setProjection(DEFAULT_PROJECTION)
+ 113 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 114 0 .setPredefinedDefaultObjectAcl(PREDEFINED_DEFAULT_OBJECT_ACL.getString(options))
+ 115 0 .execute();
+ 116 0 } catch (IOException ex) {
+ 117 0 throw translate(ex);
+ 118
+ }
+ 119
+ }
+ 120
+
+ 121
+ @Override
+ 122
+ public StorageObject create(StorageObject storageObject, final byte [] content,
+ 123
+ Map<Option, ?> options) throws StorageException {
+ 124
+ try {
+ 125 0 return storage.objects()
+ 126 0 .insert(storageObject.getBucket(), storageObject,
+ 127 0 new ByteArrayContent(storageObject.getContentType(), content))
+ 128 0 .setProjection(DEFAULT_PROJECTION)
+ 129 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 130 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 131 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 132 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 133 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options))
+ 134 0 .execute();
+ 135 0 } catch (IOException ex) {
+ 136 0 throw translate(ex);
+ 137
+ }
+ 138
+ }
+ 139
+
+ 140
+ @Override
+ 141
+ public Tuple<String, Iterable<Bucket>> list(Map<Option, ?> options) {
+ 142
+ try {
+ 143 0 Buckets buckets = storage.buckets()
+ 144 0 .list(this .options.projectId())
+ 145 0 .setProjection(DEFAULT_PROJECTION)
+ 146 0 .setPrefix(PREFIX.getString(options))
+ 147 0 .setMaxResults(MAX_RESULTS.getLong(options))
+ 148 0 .setPageToken(PAGE_TOKEN.getString(options))
+ 149 0 .execute();
+ 150 0 return Tuple.<String, Iterable<Bucket>>of(buckets.getNextPageToken(), buckets.getItems());
+ 151 0 } catch (IOException ex) {
+ 152 0 throw translate(ex);
+ 153
+ }
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ public Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?> options) {
+ 158
+ try {
+ 159 0 Objects objects = storage.objects()
+ 160 0 .list(bucket)
+ 161 0 .setProjection(DEFAULT_PROJECTION)
+ 162 0 .setVersions(VERSIONS.getBoolean(options))
+ 163 0 .setDelimiter(DELIMITER.getString(options))
+ 164 0 .setPrefix(PREFIX.getString(options))
+ 165 0 .setMaxResults(MAX_RESULTS.getLong(options))
+ 166 0 .setPageToken(PAGE_TOKEN.getString(options))
+ 167 0 .execute();
+ 168 0 return Tuple.<String, Iterable<StorageObject>>of(
+ 169 0 objects.getNextPageToken(), objects.getItems());
+ 170 0 } catch (IOException ex) {
+ 171 0 throw translate(ex);
+ 172
+ }
+ 173
+ }
+ 174
+
+ 175
+ @Override
+ 176
+ public Bucket get(Bucket bucket, Map<Option, ?> options) {
+ 177
+ try {
+ 178 0 return storage.buckets()
+ 179 0 .get(bucket.getName())
+ 180 0 .setProjection(DEFAULT_PROJECTION)
+ 181 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 182 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 183 0 .execute();
+ 184 0 } catch (IOException ex) {
+ 185 0 throw translate(ex);
+ 186
+ }
+ 187
+ }
+ 188
+
+ 189
+ @Override
+ 190
+ public StorageObject get(StorageObject object, Map<Option, ?> options) {
+ 191
+ try {
+ 192 0 return getRequest(object, options).execute();
+ 193 0 } catch (IOException ex) {
+ 194 0 throw translate(ex);
+ 195
+ }
+ 196
+ }
+ 197
+
+ 198
+ private Storage.Objects.Get getRequest(StorageObject object, Map<Option, ?> options)
+ 199
+ throws IOException {
+ 200 0 return storage.objects()
+ 201 0 .get(object.getBucket(), object.getName())
+ 202 0 .setProjection(DEFAULT_PROJECTION)
+ 203 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 204 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 205 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 206 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 207
+ }
+ 208
+
+ 209
+ @Override
+ 210
+ public Bucket patch(Bucket bucket, Map<Option, ?> options) {
+ 211
+ try {
+ 212 0 return storage.buckets()
+ 213 0 .patch(bucket.getName(), bucket)
+ 214 0 .setProjection(DEFAULT_PROJECTION)
+ 215 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 216 0 .setPredefinedDefaultObjectAcl(PREDEFINED_DEFAULT_OBJECT_ACL.getString(options))
+ 217 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 218 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 219 0 .execute();
+ 220 0 } catch (IOException ex) {
+ 221 0 throw translate(ex);
+ 222
+ }
+ 223
+ }
+ 224
+
+ 225
+ @Override
+ 226
+ public StorageObject patch(StorageObject storageObject, Map<Option, ?> options) {
+ 227
+ try {
+ 228 0 return patchRequest(storageObject, options).execute();
+ 229 0 } catch (IOException ex) {
+ 230 0 throw translate(ex);
+ 231
+ }
+ 232
+ }
+ 233
+
+ 234
+ private Storage.Objects.Patch patchRequest(StorageObject storageObject, Map<Option, ?> options)
+ 235
+ throws IOException {
+ 236 0 return storage.objects()
+ 237 0 .patch(storageObject.getBucket(), storageObject.getName(), storageObject)
+ 238 0 .setProjection(DEFAULT_PROJECTION)
+ 239 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 240 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 241 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 242 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 243 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 244
+ }
+ 245
+
+ 246
+ @Override
+ 247
+ public boolean delete(Bucket bucket, Map<Option, ?> options) {
+ 248
+ try {
+ 249 0 storage.buckets()
+ 250 0 .delete(bucket.getName())
+ 251 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 252 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 253 0 .execute();
+ 254 0 return true ;
+ 255 0 } catch (IOException ex) {
+ 256 0 StorageException serviceException = translate(ex);
+ 257 0 if (serviceException.code() == 404) {
+ 258 0 return false ;
+ 259
+ }
+ 260 0 throw serviceException;
+ 261
+ }
+ 262
+ }
+ 263
+
+ 264
+ @Override
+ 265
+ public boolean delete(StorageObject blob, Map<Option, ?> options) {
+ 266
+ try {
+ 267 0 deleteRequest(blob, options).execute();
+ 268 0 return true ;
+ 269 0 } catch (IOException ex) {
+ 270 0 StorageException serviceException = translate(ex);
+ 271 0 if (serviceException.code() == 404) {
+ 272 0 return false ;
+ 273
+ }
+ 274 0 throw serviceException;
+ 275
+ }
+ 276
+ }
+ 277
+
+ 278
+ private Storage.Objects.Delete deleteRequest(StorageObject blob, Map<Option, ?> options)
+ 279
+ throws IOException {
+ 280 0 return storage.objects()
+ 281 0 .delete(blob.getBucket(), blob.getName())
+ 282 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 283 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 284 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 285 0 .setIfGenerationMatch(100L)
+ 286 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 287
+ }
+ 288
+
+ 289
+ @Override
+ 290
+ public StorageObject compose(Iterable<StorageObject> sources, StorageObject target,
+ 291
+ Map<Option, ?> targetOptions) throws StorageException {
+ 292 0 ComposeRequest request = new ComposeRequest();
+ 293 0 if (target.getContentType() == null ) {
+ 294
+
+ 295 0 target.setContentType("application/octet-stream" );
+ 296
+ }
+ 297 0 request.setDestination(target);
+ 298 0 List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>();
+ 299 0 for (StorageObject source : sources) {
+ 300 0 ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects();
+ 301 0 sourceObject.setName(source.getName());
+ 302 0 Long generation = source.getGeneration();
+ 303 0 if (generation != null ) {
+ 304 0 sourceObject.setGeneration(generation);
+ 305 0 sourceObject.setObjectPreconditions(
+ 306 0 new ObjectPreconditions().setIfGenerationMatch(generation));
+ 307
+ }
+ 308 0 sourceObjects.add(sourceObject);
+ 309 0 }
+ 310 0 request.setSourceObjects(sourceObjects);
+ 311
+ try {
+ 312
+
+ 313 0 return storage.objects()
+ 314 0 .compose(target.getBucket(), target.getName(), request)
+ 315 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions))
+ 316 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions))
+ 317 0 .execute();
+ 318 0 } catch (IOException ex) {
+ 319 0 throw translate(ex);
+ 320
+ }
+ 321
+ }
+ 322
+
+ 323
+ @Override
+ 324
+ public StorageObject copy(StorageObject source, Map<Option, ?> sourceOptions,
+ 325
+ StorageObject target, Map<Option, ?> targetOptions) throws StorageException {
+ 326
+ try {
+ 327 0 return storage
+ 328 0 .objects()
+ 329 0 .copy(source.getBucket(), source.getName(), target.getBucket(), target.getName(),
+ 330 0 target.getContentType() != null ? target : null )
+ 331 0 .setProjection(DEFAULT_PROJECTION)
+ 332 0 .setIfMetagenerationMatch(IF_SOURCE_METAGENERATION_MATCH.getLong(sourceOptions))
+ 333 0 .setIfMetagenerationNotMatch(IF_SOURCE_METAGENERATION_NOT_MATCH.getLong(sourceOptions))
+ 334 0 .setIfGenerationMatch(IF_SOURCE_GENERATION_MATCH.getLong(sourceOptions))
+ 335 0 .setIfGenerationNotMatch(IF_SOURCE_GENERATION_NOT_MATCH.getLong(sourceOptions))
+ 336 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions))
+ 337 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(targetOptions))
+ 338 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions))
+ 339 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(targetOptions))
+ 340 0 .execute();
+ 341 0 } catch (IOException ex) {
+ 342 0 throw translate(ex);
+ 343
+ }
+ 344
+ }
+ 345
+
+ 346
+ @Override
+ 347
+ public byte [] load(StorageObject from, Map<Option, ?> options)
+ 348
+ throws StorageException {
+ 349
+ try {
+ 350 0 Storage.Objects.Get getRequest = storage.objects()
+ 351 0 .get(from.getBucket(), from.getName())
+ 352 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 353 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 354 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 355 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 356 0 ByteArrayOutputStream out = new ByteArrayOutputStream();
+ 357 0 getRequest.getMediaHttpDownloader().setDirectDownloadEnabled(true );
+ 358 0 getRequest.executeMediaAndDownloadTo(out);
+ 359 0 return out.toByteArray();
+ 360 0 } catch (IOException ex) {
+ 361 0 throw translate(ex);
+ 362
+ }
+ 363
+ }
+ 364
+
+ 365
+ @Override
+ 366
+ public BatchResponse batch(BatchRequest request) throws StorageException {
+ 367 0 com.google.api.client.googleapis.batch.BatchRequest batch = storage.batch();
+ 368
+ final Map<StorageObject, Tuple<Boolean, StorageException>> deletes =
+ 369 0 Maps.newConcurrentMap();
+ 370
+ final Map<StorageObject, Tuple<StorageObject, StorageException>> updates =
+ 371 0 Maps.newConcurrentMap();
+ 372
+ final Map<StorageObject, Tuple<StorageObject, StorageException>> gets =
+ 373 0 Maps.newConcurrentMap();
+ 374
+ try {
+ 375 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toDelete) {
+ 376 0 deleteRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<Void>() {
+ 377
+ @Override
+ 378
+ public void onSuccess(Void ignore, HttpHeaders responseHeaders) {
+ 379 0 deletes.put(tuple.x(), Tuple.<Boolean, StorageException>of(Boolean.TRUE, null ));
+ 380 0 }
+ 381
+
+ 382
+ @Override
+ 383
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 384 0 deletes.put(tuple.x(), Tuple.<Boolean, StorageException>of(null , translate(e)));
+ 385 0 }
+ 386
+ });
+ 387 0 }
+ 388 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toUpdate) {
+ 389 0 patchRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<StorageObject>() {
+ 390
+ @Override
+ 391
+ public void onSuccess(StorageObject storageObject, HttpHeaders responseHeaders) {
+ 392 0 updates.put(tuple.x(),
+ 393 0 Tuple.<StorageObject, StorageException>of(storageObject, null ));
+ 394 0 }
+ 395
+
+ 396
+ @Override
+ 397
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 398 0 updates.put(tuple.x(),
+ 399 0 Tuple.<StorageObject, StorageException>of(null , translate(e)));
+ 400 0 }
+ 401
+ });
+ 402 0 }
+ 403 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toGet) {
+ 404 0 getRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<StorageObject>() {
+ 405
+ @Override
+ 406
+ public void onSuccess(StorageObject storageObject, HttpHeaders responseHeaders) {
+ 407 0 gets.put(tuple.x(),
+ 408 0 Tuple.<StorageObject, StorageException>of(storageObject, null ));
+ 409 0 }
+ 410
+
+ 411
+ @Override
+ 412
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 413 0 gets.put(tuple.x(),
+ 414 0 Tuple.<StorageObject, StorageException>of(null , translate(e)));
+ 415 0 }
+ 416
+ });
+ 417 0 }
+ 418 0 batch.execute();
+ 419 0 } catch (IOException ex) {
+ 420 0 throw translate(ex);
+ 421 0 }
+ 422 0 return new BatchResponse(deletes, updates, gets);
+ 423
+ }
+ 424
+
+ 425
+ @Override
+ 426
+ public byte [] read(StorageObject from, Map<Option, ?> options, long position, int bytes)
+ 427
+ throws StorageException {
+ 428
+ try {
+ 429 0 Get req = storage.objects().get(from.getBucket(), from.getName());
+ 430 0 req.setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 431 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 432 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 433 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 434 0 MediaHttpDownloader downloader = req.getMediaHttpDownloader();
+ 435
+
+ 436 0 downloader.setContentRange(position, (int ) position + bytes);
+ 437 0 downloader.setDirectDownloadEnabled(true );
+ 438 0 ByteArrayOutputStream output = new ByteArrayOutputStream();
+ 439 0 req.executeMediaAndDownloadTo(output);
+ 440 0 return output.toByteArray();
+ 441 0 } catch (IOException ex) {
+ 442 0 throw translate(ex);
+ 443
+ }
+ 444
+ }
+ 445
+
+ 446
+ @Override
+ 447
+ public void write(String uploadId, byte [] toWrite, int toWriteOffset, StorageObject dest,
+ 448
+ long destOffset, int length, boolean last) throws StorageException {
+ 449
+ try {
+ 450 0 GenericUrl url = new GenericUrl(uploadId);
+ 451 0 HttpRequest httpRequest = storage.getRequestFactory().buildPostRequest(url,
+ 452
+ new ByteArrayContent(null , toWrite, toWriteOffset, length));
+ 453 0 long limit = destOffset + length;
+ 454 0 StringBuilder range = new StringBuilder("bytes " );
+ 455 0 range.append(destOffset).append('-' ).append(limit - 1).append('/' );
+ 456 0 if (last) {
+ 457 0 range.append(limit);
+ 458
+ } else {
+ 459 0 range.append('*' );
+ 460
+ }
+ 461 0 httpRequest.getHeaders().setContentRange(range.toString());
+ 462
+ int code;
+ 463
+ String message;
+ 464 0 IOException exception = null ;
+ 465
+ try {
+ 466 0 HttpResponse response = httpRequest.execute();
+ 467 0 code = response.getStatusCode();
+ 468 0 message = response.getStatusMessage();
+ 469 0 } catch (HttpResponseException ex) {
+ 470 0 exception = ex;
+ 471 0 code = ex.getStatusCode();
+ 472 0 message = ex.getStatusMessage();
+ 473 0 }
+ 474 0 if (!last && code != 308 || last && !(code == 200 || code == 201)) {
+ 475 0 if (exception != null ) {
+ 476 0 throw exception;
+ 477
+ }
+ 478 0 GoogleJsonError error = new GoogleJsonError();
+ 479 0 error.setCode(code);
+ 480 0 error.setMessage(message);
+ 481 0 throw translate(error);
+ 482
+ }
+ 483 0 } catch (IOException ex) {
+ 484 0 throw translate(ex);
+ 485 0 }
+ 486 0 }
+ 487
+
+ 488
+ @Override
+ 489
+ public String open(StorageObject object, Map<Option, ?> options)
+ 490
+ throws StorageException {
+ 491
+ try {
+ 492 0 Insert req = storage.objects().insert(object.getBucket(), object);
+ 493 0 GenericUrl url = req.buildHttpRequest().getUrl();
+ 494 0 String scheme = url.getScheme();
+ 495 0 String host = url.getHost();
+ 496 0 String path = "/upload" + url.getRawPath();
+ 497 0 url = new GenericUrl(scheme + "://" + host + path);
+ 498 0 url.set("uploadType" , "resumable" );
+ 499 0 url.set("name" , object.getName());
+ 500 0 for (Option option : options.keySet()) {
+ 501 0 Object content = option.get(options);
+ 502 0 if (content != null ) {
+ 503 0 url.set(option.value(), content.toString());
+ 504
+ }
+ 505 0 }
+ 506 0 JsonFactory jsonFactory = storage.getJsonFactory();
+ 507 0 HttpRequestFactory requestFactory = storage.getRequestFactory();
+ 508 0 HttpRequest httpRequest =
+ 509 0 requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, object));
+ 510 0 httpRequest.getHeaders().set("X-Upload-Content-Type" ,
+ 511 0 MoreObjects.firstNonNull(object.getContentType(), "application/octet-stream" ));
+ 512 0 HttpResponse response = httpRequest.execute();
+ 513 0 if (response.getStatusCode() != 200) {
+ 514 0 GoogleJsonError error = new GoogleJsonError();
+ 515 0 error.setCode(response.getStatusCode());
+ 516 0 error.setMessage(response.getStatusMessage());
+ 517 0 throw translate(error);
+ 518
+ }
+ 519 0 return response.getHeaders().getLocation();
+ 520 0 } catch (IOException ex) {
+ 521 0 throw translate(ex);
+ 522
+ }
+ 523
+ }
+ 524
+ }
+ 525
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html b/site/0.0.7/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html
new file mode 100644
index 000000000000..3b40c5dcde5c
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html
@@ -0,0 +1,90 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.ServiceRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.ServiceOptions;
+ 20
+
+ 21
+ import java.io.Serializable;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public interface ServiceRpcFactory<
+ 28
+ ServiceRpcT,
+ 29
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 30
+ extends Serializable {
+ 31
+
+ 32
+ ServiceRpcT create(OptionsT options);
+ 33
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpc.html b/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpc.html
new file mode 100644
index 000000000000..9bab46ab6230
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpc.html
@@ -0,0 +1,336 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.StorageRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.api.services.storage.model.Bucket;
+ 20
+ import com.google.api.services.storage.model.StorageObject;
+ 21
+ import com.google.common.collect.ImmutableList;
+ 22
+ import com.google.common.collect.ImmutableMap;
+ 23
+ import com.google.gcloud.storage.StorageException;
+ 24
+
+ 25
+ import java.util.List;
+ 26
+ import java.util.Map;
+ 27
+
+ 28
+ public interface StorageRpc {
+ 29
+
+ 30
+
+ 31 0 enum Option {
+ 32 0 PREDEFINED_ACL("predefinedAcl" ),
+ 33 0 PREDEFINED_DEFAULT_OBJECT_ACL("predefinedDefaultObjectAcl" ),
+ 34 0 IF_METAGENERATION_MATCH("ifMetagenerationMatch" ),
+ 35 0 IF_METAGENERATION_NOT_MATCH("ifMetagenerationNotMatch" ),
+ 36 0 IF_GENERATION_NOT_MATCH("ifGenerationMatch" ),
+ 37 0 IF_GENERATION_MATCH("ifGenerationNotMatch" ),
+ 38 0 IF_SOURCE_METAGENERATION_MATCH("ifSourceMetagenerationMatch" ),
+ 39 0 IF_SOURCE_METAGENERATION_NOT_MATCH("ifSourceMetagenerationNotMatch" ),
+ 40 0 IF_SOURCE_GENERATION_MATCH("ifSourceGenerationMatch" ),
+ 41 0 IF_SOURCE_GENERATION_NOT_MATCH("ifSourceGenerationNotMatch" ),
+ 42 0 PREFIX("prefix" ),
+ 43 0 MAX_RESULTS("maxResults" ),
+ 44 0 PAGE_TOKEN("pageToken" ),
+ 45 0 DELIMITER("delimiter" ),
+ 46 0 VERSIONS("versions" );
+ 47
+
+ 48
+ private final String value;
+ 49
+
+ 50
+ Option(String value) {
+ 51
+ this .value = value;
+ 52
+ }
+ 53
+
+ 54
+ public String value() {
+ 55 0 return value;
+ 56
+ }
+ 57
+
+ 58
+ @SuppressWarnings("unchecked" )
+ 59
+ <T> T get(Map<Option, ?> options) {
+ 60 0 return (T) options.get(this );
+ 61
+ }
+ 62
+
+ 63
+ String getString(Map<Option, ?> options) {
+ 64 0 return get(options);
+ 65
+ }
+ 66
+
+ 67
+ Long getLong(Map<Option, ?> options) {
+ 68 0 return get(options);
+ 69
+ }
+ 70
+
+ 71
+ Boolean getBoolean(Map<Option, ?> options) {
+ 72 0 return get(options);
+ 73
+ }
+ 74
+ }
+ 75
+
+ 76
+ class Tuple<X, Y> {
+ 77
+
+ 78
+ private final X x;
+ 79
+ private final Y y;
+ 80
+
+ 81
+ private Tuple(X x, Y y) {
+ 82
+ this .x = x;
+ 83
+ this .y = y;
+ 84
+ }
+ 85
+
+ 86
+ public static <X, Y> Tuple<X, Y> of(X x, Y y) {
+ 87 0 return new Tuple<>(x, y);
+ 88
+ }
+ 89
+
+ 90
+ public X x() {
+ 91 0 return x;
+ 92
+ }
+ 93
+
+ 94
+ public Y y() {
+ 95 0 return y;
+ 96
+ }
+ 97
+ }
+ 98
+
+ 99
+ class BatchRequest {
+ 100
+
+ 101
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toDelete;
+ 102
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toUpdate;
+ 103
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toGet;
+ 104
+
+ 105
+ public BatchRequest(Iterable<Tuple<StorageObject, Map<Option, ?>>> toDelete,
+ 106
+ Iterable<Tuple<StorageObject, Map<Option, ?>>> toUpdate,
+ 107 0 Iterable<Tuple<StorageObject, Map<Option, ?>>> toGet) {
+ 108 0 this .toDelete = ImmutableList.copyOf(toDelete);
+ 109 0 this .toUpdate = ImmutableList.copyOf(toUpdate);
+ 110 0 this .toGet = ImmutableList.copyOf(toGet);
+ 111 0 }
+ 112
+ }
+ 113
+
+ 114
+ class BatchResponse {
+ 115
+
+ 116
+ public final Map<StorageObject, Tuple<Boolean, StorageException>> deletes;
+ 117
+ public final Map<StorageObject, Tuple<StorageObject, StorageException>> updates;
+ 118
+ public final Map<StorageObject, Tuple<StorageObject, StorageException>> gets;
+ 119
+
+ 120
+ public BatchResponse(Map<StorageObject, Tuple<Boolean, StorageException>> deletes,
+ 121
+ Map<StorageObject, Tuple<StorageObject, StorageException>> updates,
+ 122 0 Map<StorageObject, Tuple<StorageObject, StorageException>> gets) {
+ 123 0 this .deletes = ImmutableMap.copyOf(deletes);
+ 124 0 this .updates = ImmutableMap.copyOf(updates);
+ 125 0 this .gets = ImmutableMap.copyOf(gets);
+ 126 0 }
+ 127
+ }
+ 128
+
+ 129
+ Bucket create(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 130
+
+ 131
+ StorageObject create(StorageObject object, byte [] content, Map<Option, ?> options)
+ 132
+ throws StorageException;
+ 133
+
+ 134
+ Tuple<String, Iterable<Bucket>> list(Map<Option, ?> options) throws StorageException;
+ 135
+
+ 136
+ Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?> options)
+ 137
+ throws StorageException;
+ 138
+
+ 139
+ Bucket get(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 140
+
+ 141
+ StorageObject get(StorageObject object, Map<Option, ?> options)
+ 142
+ throws StorageException;
+ 143
+
+ 144
+ Bucket patch(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 145
+
+ 146
+ StorageObject patch(StorageObject storageObject, Map<Option, ?> options)
+ 147
+ throws StorageException;
+ 148
+
+ 149
+ boolean delete(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 150
+
+ 151
+ boolean delete(StorageObject object, Map<Option, ?> options) throws StorageException;
+ 152
+
+ 153
+ BatchResponse batch(BatchRequest request) throws StorageException;
+ 154
+
+ 155
+ StorageObject compose(Iterable<StorageObject> sources, StorageObject target,
+ 156
+ Map<Option, ?> targetOptions) throws StorageException;
+ 157
+
+ 158
+ StorageObject copy(StorageObject source, Map<Option, ?> sourceOptions,
+ 159
+ StorageObject target, Map<Option, ?> targetOptions) throws StorageException;
+ 160
+
+ 161
+ byte [] load(StorageObject storageObject, Map<Option, ?> options)
+ 162
+ throws StorageException;
+ 163
+
+ 164
+ byte [] read(StorageObject from, Map<Option, ?> options, long position, int bytes)
+ 165
+ throws StorageException;
+ 166
+
+ 167
+ String open(StorageObject object, Map<Option, ?> options) throws StorageException;
+ 168
+
+ 169
+ void write(String uploadId, byte [] toWrite, int toWriteOffset, StorageObject dest,
+ 170
+ long destOffset, int length, boolean last) throws StorageException;
+ 171
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpcFactory.html b/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpcFactory.html
new file mode 100644
index 000000000000..ab6fd2a8699f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.spi.StorageRpcFactory.html
@@ -0,0 +1,78 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.StorageRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.storage.StorageOptions;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface StorageRpcFactory extends ServiceRpcFactory<StorageRpc, StorageOptions> {
+ 26
+ }
+ 27
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.Acl.html b/site/0.0.7/cobertura/com.google.gcloud.storage.Acl.html
new file mode 100644
index 000000000000..0d6441bb861f
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.Acl.html
@@ -0,0 +1,497 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Acl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.api.services.storage.model.BucketAccessControl;
+ 20
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.Objects;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class Acl implements Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = 6435575339887912222L;
+ 31
+
+ 32
+ private final Entity entity;
+ 33
+ private final Role role;
+ 34
+
+ 35 0 public enum Role {
+ 36 0 OWNER, READER, WRITER
+ 37
+ }
+ 38
+
+ 39
+ public static abstract class Entity implements Serializable {
+ 40
+
+ 41
+ private static final long serialVersionUID = -2707407252771255840L;
+ 42
+
+ 43
+ private final Type type;
+ 44
+ private final String value;
+ 45
+
+ 46 0 public enum Type {
+ 47 0 DOMAIN, GROUP, USER, PROJECT, UNKNOWN
+ 48
+ }
+ 49
+
+ 50
+ Entity(Type type, String value) {
+ 51
+ this .type = type;
+ 52
+ this .value = value;
+ 53
+ }
+ 54
+
+ 55
+ public Type type() {
+ 56 0 return type;
+ 57
+ }
+ 58
+
+ 59
+ protected String value() {
+ 60 0 return value;
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public boolean equals(Object o) {
+ 65 0 if (this == o) {
+ 66 0 return true ;
+ 67
+ }
+ 68 0 if (o == null || getClass() != o.getClass()) {
+ 69 0 return false ;
+ 70
+ }
+ 71 0 Entity entity = (Entity) o;
+ 72 0 return Objects.equals(type, entity.type) &&
+ 73 0 Objects.equals(value, entity.value);
+ 74
+ }
+ 75
+
+ 76
+ @Override
+ 77
+ public int hashCode() {
+ 78 0 return Objects.hash(type, value);
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ public String toString() {
+ 83 0 return toPb();
+ 84
+ }
+ 85
+
+ 86
+ String toPb() {
+ 87 0 return type.name().toLowerCase() + "-" + value();
+ 88
+ }
+ 89
+
+ 90
+ static Entity fromPb(String entity) {
+ 91 0 if (entity.startsWith("user-" )) {
+ 92 0 return new User(entity.substring(5));
+ 93
+ }
+ 94 0 if (entity.equals(User.ALL_USERS)) {
+ 95 0 return User.ofAllUsers();
+ 96
+ }
+ 97 0 if (entity.equals(User.ALL_AUTHENTICATED_USERS)) {
+ 98 0 return User.ofAllAuthenticatedUsers();
+ 99
+ }
+ 100 0 if (entity.startsWith("group-" )) {
+ 101 0 return new Group(entity.substring(6));
+ 102
+ }
+ 103 0 if (entity.startsWith("domain-" )) {
+ 104 0 return new Domain(entity.substring(7));
+ 105
+ }
+ 106 0 if (entity.startsWith("project-" )) {
+ 107 0 int idx = entity.indexOf('-' , 8);
+ 108 0 String team = entity.substring(8, idx);
+ 109 0 String projectId = entity.substring(idx + 1);
+ 110 0 return new Project(Project.ProjectRole.valueOf(team.toUpperCase()), projectId);
+ 111
+ }
+ 112 0 return new RawEntity(entity);
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public static final class Domain extends Entity {
+ 117
+
+ 118
+ private static final long serialVersionUID = -3033025857280447253L;
+ 119
+
+ 120
+ public Domain(String domain) {
+ 121 0 super (Type.DOMAIN, domain);
+ 122 0 }
+ 123
+
+ 124
+ public String domain() {
+ 125 0 return value();
+ 126
+ }
+ 127
+ }
+ 128
+
+ 129
+ public static final class Group extends Entity {
+ 130
+
+ 131
+ private static final long serialVersionUID = -1660987136294408826L;
+ 132
+
+ 133
+ public Group(String email) {
+ 134 0 super (Type.GROUP, email);
+ 135 0 }
+ 136
+
+ 137
+ public String email() {
+ 138 0 return value();
+ 139
+ }
+ 140
+ }
+ 141
+
+ 142
+ public static final class User extends Entity {
+ 143
+
+ 144
+ private static final long serialVersionUID = 3076518036392737008L;
+ 145
+ private static final String ALL_USERS = "allUsers" ;
+ 146
+ private static final String ALL_AUTHENTICATED_USERS = "allAuthenticatedUsers" ;
+ 147
+
+ 148
+ public User(String email) {
+ 149 0 super (Type.USER, email);
+ 150 0 }
+ 151
+
+ 152
+ public String email() {
+ 153 0 return value();
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ String toPb() {
+ 158 0 switch (value()) {
+ 159
+ case ALL_AUTHENTICATED_USERS:
+ 160 0 return ALL_AUTHENTICATED_USERS;
+ 161
+ case ALL_USERS:
+ 162 0 return ALL_USERS;
+ 163
+ default :
+ 164
+ break ;
+ 165
+ }
+ 166 0 return super .toPb();
+ 167
+ }
+ 168
+
+ 169
+ public static User ofAllUsers() {
+ 170 0 return new User(ALL_USERS);
+ 171
+ }
+ 172
+
+ 173
+ public static User ofAllAuthenticatedUsers() {
+ 174 0 return new User(ALL_AUTHENTICATED_USERS);
+ 175
+ }
+ 176
+ }
+ 177
+
+ 178
+ public static final class Project extends Entity {
+ 179
+
+ 180
+ private static final long serialVersionUID = 7933776866530023027L;
+ 181
+
+ 182
+ private final ProjectRole pRole;
+ 183
+ private final String projectId;
+ 184
+
+ 185 0 public enum ProjectRole {
+ 186 0 OWNERS, EDITORS, VIEWERS
+ 187
+ }
+ 188
+
+ 189
+ public Project(ProjectRole pRole, String projectId) {
+ 190 0 super (Type.PROJECT, pRole.name().toLowerCase() + "-" + projectId);
+ 191 0 this .pRole = pRole;
+ 192 0 this .projectId = projectId;
+ 193 0 }
+ 194
+
+ 195
+ public ProjectRole projectRole() {
+ 196 0 return pRole;
+ 197
+ }
+ 198
+
+ 199
+ public String projectId() {
+ 200 0 return projectId;
+ 201
+ }
+ 202
+ }
+ 203
+
+ 204
+ public static final class RawEntity extends Entity {
+ 205
+
+ 206
+ private static final long serialVersionUID = 3966205614223053950L;
+ 207
+
+ 208
+ RawEntity(String entity) {
+ 209 0 super (Type.UNKNOWN, entity);
+ 210 0 }
+ 211
+
+ 212
+ @Override
+ 213
+ String toPb() {
+ 214 0 return value();
+ 215
+ }
+ 216
+ }
+ 217
+
+ 218
+ public Acl(Entity entity, Role role) {
+ 219
+ this .entity = entity;
+ 220
+ this .role = role;
+ 221
+ }
+ 222
+
+ 223
+ public Entity entity() {
+ 224 0 return entity;
+ 225
+ }
+ 226
+
+ 227
+ public Role role() {
+ 228 0 return role;
+ 229
+ }
+ 230
+
+ 231
+ @Override
+ 232
+ public int hashCode() {
+ 233 0 return Objects.hash(entity, role);
+ 234
+ }
+ 235
+
+ 236
+ @Override
+ 237
+ public boolean equals(Object obj) {
+ 238 0 if (this == obj) {
+ 239 0 return true ;
+ 240
+ }
+ 241 0 if (obj == null || getClass() != obj.getClass()) {
+ 242 0 return false ;
+ 243
+ }
+ 244 0 final Acl other = (Acl) obj;
+ 245 0 return Objects.equals(this .entity, other.entity)
+ 246 0 && Objects.equals(this .role, other.role);
+ 247
+ }
+ 248
+
+ 249
+ BucketAccessControl toBucketPb() {
+ 250 0 BucketAccessControl bucketPb = new BucketAccessControl();
+ 251 0 bucketPb.setRole(role().toString());
+ 252 0 bucketPb.setEntity(entity().toString());
+ 253 0 return bucketPb;
+ 254
+ }
+ 255
+
+ 256
+ ObjectAccessControl toObjectPb() {
+ 257 0 ObjectAccessControl objectPb = new ObjectAccessControl();
+ 258 0 objectPb.setRole(role().name());
+ 259 0 objectPb.setEntity(entity().toPb());
+ 260 0 return objectPb;
+ 261
+ }
+ 262
+
+ 263
+ static Acl fromPb(ObjectAccessControl objectAccessControl) {
+ 264 0 Role role = Role.valueOf(objectAccessControl.getRole());
+ 265 0 return new Acl(Entity.fromPb(objectAccessControl.getEntity()), role);
+ 266
+ }
+ 267
+
+ 268
+ static Acl fromPb(BucketAccessControl bucketAccessControl) {
+ 269 0 Role role = Role.valueOf(bucketAccessControl.getRole());
+ 270 0 return new Acl(Entity.fromPb(bucketAccessControl.getEntity()), role);
+ 271
+ }
+ 272
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BatchRequest.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BatchRequest.html
new file mode 100644
index 000000000000..36e2e86eaf21
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BatchRequest.html
@@ -0,0 +1,225 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BatchRequest
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+ import com.google.common.collect.Lists;
+ 21
+ import com.google.gcloud.storage.Storage.BlobSourceOption;
+ 22
+ import com.google.gcloud.storage.Storage.BlobTargetOption;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.LinkedHashMap;
+ 26
+ import java.util.Map;
+ 27
+ import java.util.Objects;
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32 0 public final class BatchRequest implements Serializable {
+ 33
+
+ 34
+ private static final long serialVersionUID = -1527992265939800345L;
+ 35
+
+ 36
+ private final Map<BlobInfo, Iterable<BlobSourceOption>> toDelete;
+ 37
+ private final Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate;
+ 38
+ private final Map<BlobInfo, Iterable<BlobSourceOption>> toGet;
+ 39
+
+ 40 0 public static class Builder {
+ 41
+
+ 42 0 private Map<BlobInfo, Iterable<BlobSourceOption>> toDelete = new LinkedHashMap<>();
+ 43 0 private Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate = new LinkedHashMap<>();
+ 44 0 private Map<BlobInfo, Iterable<BlobSourceOption>> toGet = new LinkedHashMap<>();
+ 45
+
+ 46 0 private Builder() {}
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ public Builder delete(String bucket, String blob, BlobSourceOption... options) {
+ 52 0 toDelete.put(BlobInfo.of(bucket, blob), Lists.newArrayList(options));
+ 53 0 return this ;
+ 54
+ }
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+ public Builder update(BlobInfo blobInfo, BlobTargetOption... options) {
+ 60 0 toUpdate.put(blobInfo, Lists.newArrayList(options));
+ 61 0 return this ;
+ 62
+ }
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ public Builder get(String bucket, String blob, BlobSourceOption... options) {
+ 68 0 toGet.put(BlobInfo.of(bucket, blob), Lists.newArrayList(options));
+ 69 0 return this ;
+ 70
+ }
+ 71
+
+ 72
+ public BatchRequest build() {
+ 73 0 return new BatchRequest(this );
+ 74
+ }
+ 75
+ }
+ 76
+
+ 77 0 private BatchRequest(Builder builder) {
+ 78 0 toDelete = ImmutableMap.copyOf(builder.toDelete);
+ 79 0 toUpdate = ImmutableMap.copyOf(builder.toUpdate);
+ 80 0 toGet = ImmutableMap.copyOf(builder.toGet);
+ 81 0 }
+ 82
+
+ 83
+ @Override
+ 84
+ public int hashCode() {
+ 85 0 return Objects.hash(toDelete, toUpdate, toGet);
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ public boolean equals(Object obj) {
+ 90 0 if (!(obj instanceof BatchRequest)) {
+ 91 0 return false ;
+ 92
+ }
+ 93 0 BatchRequest other = (BatchRequest) obj;
+ 94 0 return Objects.equals(toDelete, other.toDelete)
+ 95 0 && Objects.equals(toUpdate, other.toUpdate)
+ 96 0 && Objects.equals(toGet, other.toGet);
+ 97
+ }
+ 98
+
+ 99
+ public Map<BlobInfo, Iterable<BlobSourceOption>> toDelete() {
+ 100 0 return toDelete;
+ 101
+ }
+ 102
+
+ 103
+ public Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate() {
+ 104 0 return toUpdate;
+ 105
+ }
+ 106
+
+ 107
+ public Map<BlobInfo, Iterable<BlobSourceOption>> toGet() {
+ 108 0 return toGet;
+ 109
+ }
+ 110
+
+ 111
+ public static Builder builder() {
+ 112 0 return new Builder();
+ 113
+ }
+ 114
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BatchResponse.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BatchResponse.html
new file mode 100644
index 000000000000..620a72a3d5b5
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BatchResponse.html
@@ -0,0 +1,310 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BatchResponse
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableList;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.List;
+ 24
+ import java.util.Objects;
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+ public final class BatchResponse implements Serializable {
+ 30
+
+ 31
+ private static final long serialVersionUID = 1057416839397037706L;
+ 32
+
+ 33
+ private final List<Result<Boolean>> deleteResult;
+ 34
+ private final List<Result<BlobInfo>> updateResult;
+ 35
+ private final List<Result<BlobInfo>> getResult;
+ 36
+
+ 37
+ public static class Result<T extends Serializable> implements Serializable {
+ 38
+
+ 39
+ private static final long serialVersionUID = -1946539570170529094L;
+ 40 0 private static final Result<Serializable> EMPTY = Result.of(null );
+ 41
+
+ 42
+ private final T value;
+ 43
+ private final StorageException exception;
+ 44
+
+ 45
+
+ 46
+ public Result(T value) {
+ 47
+ this .value = value;
+ 48
+ this .exception = null ;
+ 49
+ }
+ 50
+
+ 51
+ public Result(StorageException exception) {
+ 52
+ this .exception = exception;
+ 53
+ this .value = null ;
+ 54
+ }
+ 55
+
+ 56
+ static <T extends Serializable> Result<T> of(T value) {
+ 57 0 return new Result<>(value);
+ 58
+ }
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public T get() throws StorageException {
+ 66 0 if (failed()) {
+ 67 0 throw failure();
+ 68
+ }
+ 69 0 return value;
+ 70
+ }
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+ public StorageException failure() {
+ 76 0 return exception;
+ 77
+ }
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public boolean failed() {
+ 83 0 return exception != null ;
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public int hashCode() {
+ 88 0 return Objects.hash(value, exception);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public boolean equals(Object obj) {
+ 93 0 if (!(obj instanceof Result)) {
+ 94 0 return false ;
+ 95
+ }
+ 96 0 Result<?> other = (Result<?>) obj;
+ 97 0 return Objects.equals(value, other.value)
+ 98 0 && Objects.equals(exception, other.exception);
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public String toString() {
+ 103 0 return MoreObjects.toStringHelper(this )
+ 104 0 .add("value" , value)
+ 105 0 .add("exception" , exception)
+ 106 0 .toString();
+ 107
+ }
+ 108
+
+ 109
+ static <T extends Serializable> Result<T> empty() {
+ 110
+ @SuppressWarnings("unchecked" )
+ 111 0 Result<T> result = (Result<T>) EMPTY;
+ 112 0 return result;
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public BatchResponse(List<Result<Boolean>> deleteResult, List<Result<BlobInfo>> updateResult,
+ 117 0 List<Result<BlobInfo>> getResult) {
+ 118 0 this .deleteResult = ImmutableList.copyOf(deleteResult);
+ 119 0 this .updateResult = ImmutableList.copyOf(updateResult);
+ 120 0 this .getResult = ImmutableList.copyOf(getResult);
+ 121 0 }
+ 122
+
+ 123
+ @Override
+ 124
+ public int hashCode() {
+ 125 0 return Objects.hash(deleteResult, updateResult, getResult);
+ 126
+ }
+ 127
+
+ 128
+ @Override
+ 129
+ public boolean equals(Object obj) {
+ 130 0 if (!(obj instanceof BatchResponse)) {
+ 131 0 return false ;
+ 132
+ }
+ 133 0 BatchResponse other = (BatchResponse) obj;
+ 134 0 return Objects.equals(deleteResult, other.deleteResult)
+ 135 0 && Objects.equals(updateResult, other.updateResult)
+ 136 0 && Objects.equals(updateResult, other.updateResult);
+ 137
+ }
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+ public List<Result<Boolean>> deletes() {
+ 143 0 return deleteResult;
+ 144
+ }
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+ public List<Result<BlobInfo>> updates() {
+ 150 0 return updateResult;
+ 151
+ }
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+ public List<Result<BlobInfo>> gets() {
+ 157
+ return getResult;
+ 158
+ }
+ 159
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BlobInfo.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobInfo.html
new file mode 100644
index 000000000000..9e03d3363d66
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobInfo.html
@@ -0,0 +1,812 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.api.client.util.Data;
+ 23
+ import com.google.api.client.util.DateTime;
+ 24
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 25
+ import com.google.api.services.storage.model.StorageObject;
+ 26
+ import com.google.api.services.storage.model.StorageObject.Owner;
+ 27
+ import com.google.common.base.Function;
+ 28
+ import com.google.common.base.MoreObjects;
+ 29
+ import com.google.common.collect.ImmutableList;
+ 30
+ import com.google.common.collect.ImmutableMap;
+ 31
+ import com.google.common.collect.Lists;
+ 32
+
+ 33
+ import java.io.Serializable;
+ 34
+ import java.math.BigInteger;
+ 35
+ import java.util.List;
+ 36
+ import java.util.Map;
+ 37
+ import java.util.Objects;
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public final class BlobInfo implements Serializable {
+ 45
+
+ 46
+ private static final long serialVersionUID = 2228487739943277159L;
+ 47
+
+ 48 0 static final Function<StorageObject, BlobInfo> FROM_PB_FUNCTION =
+ 49 0 new Function<StorageObject, BlobInfo>() {
+ 50
+ @Override
+ 51
+ public BlobInfo apply(StorageObject pb) {
+ 52 0 return BlobInfo.fromPb(pb);
+ 53
+ }
+ 54
+ };
+ 55
+
+ 56 0 static final Function<BlobInfo, StorageObject> TO_PB_FUNCTION =
+ 57 0 new Function<BlobInfo, StorageObject>() {
+ 58
+ @Override
+ 59
+ public StorageObject apply(BlobInfo blobInfo) {
+ 60 0 return blobInfo.toPb();
+ 61
+ }
+ 62
+ };
+ 63
+
+ 64
+ private final String bucket;
+ 65
+ private final String id;
+ 66
+ private final String name;
+ 67
+ private final String selfLink;
+ 68
+ private final String cacheControl;
+ 69
+ private final List<Acl> acl;
+ 70
+ private final Acl.Entity owner;
+ 71
+ private final Long size;
+ 72
+ private final String etag;
+ 73
+ private final String md5;
+ 74
+ private final String crc32c;
+ 75
+ private final String mediaLink;
+ 76
+ private final Map<String, String> metadata;
+ 77
+ private final Long generation;
+ 78
+ private final Long metageneration;
+ 79
+ private final Long deleteTime;
+ 80
+ private final Long updateTime;
+ 81
+ private final String contentType;
+ 82
+ private final String contentEncoding;
+ 83
+ private final String contentDisposition;
+ 84
+ private final String contentLanguage;
+ 85
+ private final Integer componentCount;
+ 86
+
+ 87 0 public static final class Builder {
+ 88
+
+ 89
+ private String bucket;
+ 90
+ private String id;
+ 91
+ private String name;
+ 92
+ private String contentType;
+ 93
+ private String contentEncoding;
+ 94
+ private String contentDisposition;
+ 95
+ private String contentLanguage;
+ 96
+ private Integer componentCount;
+ 97
+ private String cacheControl;
+ 98
+ private ImmutableList<Acl> acl;
+ 99
+ private Acl.Entity owner;
+ 100
+ private Long size;
+ 101
+ private String etag;
+ 102
+ private String selfLink;
+ 103
+ private String md5;
+ 104
+ private String crc32c;
+ 105
+ private String mediaLink;
+ 106
+ private ImmutableMap<String, String> metadata;
+ 107
+ private Long generation;
+ 108
+ private Long metageneration;
+ 109
+ private Long deleteTime;
+ 110
+ private Long updateTime;
+ 111
+
+ 112
+ private Builder() {}
+ 113
+
+ 114
+ public Builder bucket(String bucket) {
+ 115 0 this .bucket = checkNotNull(bucket);
+ 116 0 return this ;
+ 117
+ }
+ 118
+
+ 119
+ Builder id(String id) {
+ 120 0 this .id = id;
+ 121 0 return this ;
+ 122
+ }
+ 123
+
+ 124
+ public Builder name(String name) {
+ 125 0 this .name = checkNotNull(name);
+ 126 0 return this ;
+ 127
+ }
+ 128
+
+ 129
+ public Builder contentType(String contentType) {
+ 130 0 this .contentType = firstNonNull(contentType, Data.<String>nullOf(String.class ));
+ 131 0 return this ;
+ 132
+ }
+ 133
+
+ 134
+ public Builder contentDisposition(String contentDisposition) {
+ 135 0 this .contentDisposition = firstNonNull(contentDisposition, Data.<String>nullOf(String.class ));
+ 136 0 return this ;
+ 137
+ }
+ 138
+
+ 139
+ public Builder contentLanguage(String contentLanguage) {
+ 140 0 this .contentLanguage = firstNonNull(contentLanguage, Data.<String>nullOf(String.class ));
+ 141 0 return this ;
+ 142
+ }
+ 143
+
+ 144
+ public Builder contentEncoding(String contentEncoding) {
+ 145 0 this .contentEncoding = firstNonNull(contentEncoding, Data.<String>nullOf(String.class ));
+ 146 0 return this ;
+ 147
+ }
+ 148
+
+ 149
+ Builder componentCount(Integer componentCount) {
+ 150 0 this .componentCount = componentCount;
+ 151 0 return this ;
+ 152
+ }
+ 153
+
+ 154
+ public Builder cacheControl(String cacheControl) {
+ 155 0 this .cacheControl = firstNonNull(cacheControl, Data.<String>nullOf(String.class ));
+ 156 0 return this ;
+ 157
+ }
+ 158
+
+ 159
+ public Builder acl(List<Acl> acl) {
+ 160 0 this .acl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 161 0 return this ;
+ 162
+ }
+ 163
+
+ 164
+ Builder owner(Acl.Entity owner) {
+ 165 0 this .owner = owner;
+ 166 0 return this ;
+ 167
+ }
+ 168
+
+ 169
+ Builder size(Long size) {
+ 170 0 this .size = size;
+ 171 0 return this ;
+ 172
+ }
+ 173
+
+ 174
+ Builder etag(String etag) {
+ 175 0 this .etag = etag;
+ 176 0 return this ;
+ 177
+ }
+ 178
+
+ 179
+ Builder selfLink(String selfLink) {
+ 180 0 this .selfLink = selfLink;
+ 181 0 return this ;
+ 182
+ }
+ 183
+
+ 184
+ public Builder md5(String md5) {
+ 185 0 this .md5 = firstNonNull(md5, Data.<String>nullOf(String.class ));
+ 186 0 return this ;
+ 187
+ }
+ 188
+
+ 189
+ public Builder crc32c(String crc32c) {
+ 190 0 this .crc32c = firstNonNull(crc32c, Data.<String>nullOf(String.class ));
+ 191 0 return this ;
+ 192
+ }
+ 193
+
+ 194
+ Builder mediaLink(String mediaLink) {
+ 195 0 this .mediaLink = mediaLink;
+ 196 0 return this ;
+ 197
+ }
+ 198
+
+ 199
+ public Builder metadata(Map<String, String> metadata) {
+ 200 0 this .metadata = metadata != null ? ImmutableMap.copyOf(metadata) : null ;
+ 201 0 return this ;
+ 202
+ }
+ 203
+
+ 204
+ Builder generation(Long generation) {
+ 205 0 this .generation = generation;
+ 206 0 return this ;
+ 207
+ }
+ 208
+
+ 209
+ Builder metageneration(Long metageneration) {
+ 210 0 this .metageneration = metageneration;
+ 211 0 return this ;
+ 212
+ }
+ 213
+
+ 214
+ Builder deleteTime(Long deleteTime) {
+ 215 0 this .deleteTime = deleteTime;
+ 216 0 return this ;
+ 217
+ }
+ 218
+
+ 219
+ Builder updateTime(Long updateTime) {
+ 220 0 this .updateTime = updateTime;
+ 221 0 return this ;
+ 222
+ }
+ 223
+
+ 224
+ public BlobInfo build() {
+ 225 0 checkNotNull(bucket);
+ 226 0 checkNotNull(name);
+ 227 0 return new BlobInfo(this );
+ 228
+ }
+ 229
+ }
+ 230
+
+ 231 0 private BlobInfo(Builder builder) {
+ 232 0 bucket = builder.bucket;
+ 233 0 name = builder.name;
+ 234 0 id = builder.id;
+ 235 0 cacheControl = builder.cacheControl;
+ 236 0 contentEncoding = builder.contentEncoding;
+ 237 0 contentType = builder.contentType;
+ 238 0 contentDisposition = builder.contentDisposition;
+ 239 0 contentLanguage = builder.contentLanguage;
+ 240 0 componentCount = builder.componentCount;
+ 241 0 acl = builder.acl;
+ 242 0 owner = builder.owner;
+ 243 0 size = builder.size;
+ 244 0 etag = builder.etag;
+ 245 0 selfLink = builder.selfLink;
+ 246 0 md5 = builder.md5;
+ 247 0 crc32c = builder.crc32c;
+ 248 0 mediaLink = builder.mediaLink;
+ 249 0 metadata = builder.metadata;
+ 250 0 generation = builder.generation;
+ 251 0 metageneration = builder.metageneration;
+ 252 0 deleteTime = builder.deleteTime;
+ 253 0 updateTime = builder.updateTime;
+ 254 0 }
+ 255
+
+ 256
+ public String bucket() {
+ 257 0 return bucket;
+ 258
+ }
+ 259
+
+ 260
+ public String id() {
+ 261 0 return id;
+ 262
+ }
+ 263
+
+ 264
+ public String name() {
+ 265 0 return name;
+ 266
+ }
+ 267
+
+ 268
+ public String cacheControl() {
+ 269 0 return Data.isNull(cacheControl) ? null : cacheControl;
+ 270
+ }
+ 271
+
+ 272
+ public List<Acl> acl() {
+ 273 0 return acl;
+ 274
+ }
+ 275
+
+ 276
+ public Acl.Entity owner() {
+ 277 0 return owner;
+ 278
+ }
+ 279
+
+ 280
+ public Long size() {
+ 281 0 return size;
+ 282
+ }
+ 283
+
+ 284
+ public String contentType() {
+ 285 0 return Data.isNull(contentType) ? null : contentType;
+ 286
+ }
+ 287
+
+ 288
+ public String contentEncoding() {
+ 289 0 return Data.isNull(contentEncoding) ? null : contentEncoding;
+ 290
+ }
+ 291
+
+ 292
+ public String contentDisposition() {
+ 293 0 return Data.isNull(contentDisposition) ? null : contentDisposition;
+ 294
+ }
+ 295
+
+ 296
+ public String contentLanguage() {
+ 297 0 return Data.isNull(contentLanguage) ? null : contentLanguage;
+ 298
+ }
+ 299
+
+ 300
+ public Integer componentCount() {
+ 301 0 return componentCount;
+ 302
+ }
+ 303
+
+ 304
+ public String etag() {
+ 305 0 return etag;
+ 306
+ }
+ 307
+
+ 308
+ public String selfLink() {
+ 309 0 return selfLink;
+ 310
+ }
+ 311
+
+ 312
+ public String md5() {
+ 313 0 return Data.isNull(md5) ? null : md5;
+ 314
+ }
+ 315
+
+ 316
+ public String crc32c() {
+ 317 0 return Data.isNull(crc32c) ? null : crc32c;
+ 318
+ }
+ 319
+
+ 320
+ public String mediaLink() {
+ 321 0 return mediaLink;
+ 322
+ }
+ 323
+
+ 324
+ public Map<String, String> metadata() {
+ 325 0 return metadata;
+ 326
+ }
+ 327
+
+ 328
+ public Long generation() {
+ 329 0 return generation;
+ 330
+ }
+ 331
+
+ 332
+ public Long metageneration() {
+ 333 0 return metageneration;
+ 334
+ }
+ 335
+
+ 336
+ public Long deleteTime() {
+ 337 0 return deleteTime;
+ 338
+ }
+ 339
+
+ 340
+ public Long updateTime() {
+ 341 0 return updateTime;
+ 342
+ }
+ 343
+
+ 344
+ public Builder toBuilder() {
+ 345 0 return new Builder()
+ 346 0 .bucket(bucket)
+ 347 0 .name(name)
+ 348 0 .id(id)
+ 349 0 .generation(generation)
+ 350 0 .cacheControl(cacheControl)
+ 351 0 .contentEncoding(contentEncoding)
+ 352 0 .contentType(contentType)
+ 353 0 .contentDisposition(contentDisposition)
+ 354 0 .contentLanguage(contentLanguage)
+ 355 0 .componentCount(componentCount)
+ 356 0 .crc32c(crc32c)
+ 357 0 .md5(md5)
+ 358 0 .deleteTime(deleteTime)
+ 359 0 .updateTime(updateTime)
+ 360 0 .mediaLink(mediaLink)
+ 361 0 .metadata(metadata)
+ 362 0 .metageneration(metageneration)
+ 363 0 .acl(acl)
+ 364 0 .owner(owner)
+ 365 0 .size(size)
+ 366 0 .etag(etag)
+ 367 0 .selfLink(selfLink);
+ 368
+ }
+ 369
+
+ 370
+ @Override
+ 371
+ public String toString() {
+ 372 0 return MoreObjects.toStringHelper(this )
+ 373 0 .add("bucket" , bucket())
+ 374 0 .add("name" , name())
+ 375 0 .add("size" , size())
+ 376 0 .add("content-type" , contentType())
+ 377 0 .add("metadata" , metadata())
+ 378 0 .toString();
+ 379
+ }
+ 380
+
+ 381
+ public static BlobInfo of(String bucket, String name) {
+ 382 0 return builder(bucket, name).build();
+ 383
+ }
+ 384
+
+ 385
+ public static Builder builder(BucketInfo bucketInfo, String name) {
+ 386 0 return builder(bucketInfo.name(), name);
+ 387
+ }
+ 388
+
+ 389
+ public static Builder builder(String bucket, String name) {
+ 390 0 return new Builder().bucket(bucket).name(name);
+ 391
+ }
+ 392
+
+ 393
+ @Override
+ 394
+ public int hashCode() {
+ 395 0 return Objects.hash(bucket, name);
+ 396
+ }
+ 397
+
+ 398
+ @Override
+ 399
+ public boolean equals(Object obj) {
+ 400 0 if (!(obj instanceof BlobInfo)) {
+ 401 0 return false ;
+ 402
+ }
+ 403 0 return Objects.equals(toPb(), ((BlobInfo) obj).toPb());
+ 404
+ }
+ 405
+
+ 406
+ StorageObject toPb() {
+ 407 0 StorageObject storageObject = new StorageObject();
+ 408 0 if (acl != null ) {
+ 409 0 storageObject.setAcl(Lists.transform(acl, new Function<Acl, ObjectAccessControl>() {
+ 410
+ @Override
+ 411
+ public ObjectAccessControl apply(Acl acl) {
+ 412 0 return acl.toObjectPb();
+ 413
+ }
+ 414
+ }));
+ 415
+ }
+ 416 0 if (deleteTime != null ) {
+ 417 0 storageObject.setTimeDeleted(new DateTime(deleteTime));
+ 418
+ }
+ 419 0 if (updateTime != null ) {
+ 420 0 storageObject.setUpdated(new DateTime(updateTime));
+ 421
+ }
+ 422 0 if (size != null ) {
+ 423 0 storageObject.setSize(BigInteger.valueOf(size));
+ 424
+ }
+ 425 0 if (owner != null ) {
+ 426 0 storageObject.setOwner(new Owner().setEntity(owner.toPb()));
+ 427
+ }
+ 428 0 storageObject.setBucket(bucket);
+ 429 0 storageObject.setCacheControl(cacheControl);
+ 430 0 storageObject.setContentEncoding(contentEncoding);
+ 431 0 storageObject.setCrc32c(crc32c);
+ 432 0 storageObject.setContentType(contentType);
+ 433 0 storageObject.setGeneration(generation);
+ 434 0 storageObject.setMd5Hash(md5);
+ 435 0 storageObject.setMediaLink(mediaLink);
+ 436 0 storageObject.setMetadata(metadata);
+ 437 0 storageObject.setMetageneration(metageneration);
+ 438 0 storageObject.setName(name);
+ 439 0 storageObject.setContentDisposition(contentDisposition);
+ 440 0 storageObject.setComponentCount(componentCount);
+ 441 0 storageObject.setContentLanguage(contentLanguage);
+ 442 0 storageObject.setEtag(etag);
+ 443 0 storageObject.setId(id);
+ 444 0 storageObject.setSelfLink(selfLink);
+ 445 0 return storageObject;
+ 446
+ }
+ 447
+
+ 448
+ static BlobInfo fromPb(StorageObject storageObject) {
+ 449 0 Builder builder = new Builder()
+ 450 0 .bucket(storageObject.getBucket())
+ 451 0 .cacheControl(storageObject.getCacheControl())
+ 452 0 .contentEncoding(storageObject.getContentEncoding())
+ 453 0 .crc32c(storageObject.getCrc32c())
+ 454 0 .contentType(storageObject.getContentType())
+ 455 0 .generation(storageObject.getGeneration())
+ 456 0 .md5(storageObject.getMd5Hash())
+ 457 0 .mediaLink(storageObject.getMediaLink())
+ 458 0 .metageneration(storageObject.getMetageneration())
+ 459 0 .name(storageObject.getName())
+ 460 0 .contentDisposition(storageObject.getContentDisposition())
+ 461 0 .componentCount(storageObject.getComponentCount())
+ 462 0 .contentLanguage(storageObject.getContentLanguage())
+ 463 0 .etag(storageObject.getEtag())
+ 464 0 .id(storageObject.getId())
+ 465 0 .selfLink(storageObject.getSelfLink());
+ 466 0 if (storageObject.getMetadata() != null ) {
+ 467 0 builder.metadata(storageObject.getMetadata());
+ 468
+ }
+ 469 0 if (storageObject.getTimeDeleted() != null ) {
+ 470 0 builder.deleteTime(storageObject.getTimeDeleted().getValue());
+ 471
+ }
+ 472 0 if (storageObject.getUpdated() != null ) {
+ 473 0 builder.updateTime(storageObject.getUpdated().getValue());
+ 474
+ }
+ 475 0 if (storageObject.getSize() != null ) {
+ 476 0 builder.size(storageObject.getSize().longValue());
+ 477
+ }
+ 478 0 if (storageObject.getOwner() != null ) {
+ 479 0 builder.owner(Acl.Entity.fromPb(storageObject.getOwner().getEntity()));
+ 480
+ }
+ 481 0 if (storageObject.getAcl() != null ) {
+ 482 0 builder.acl(Lists.transform(storageObject.getAcl(), new Function<ObjectAccessControl, Acl>() {
+ 483
+ @Override
+ 484
+ public Acl apply(ObjectAccessControl objectAccessControl) {
+ 485 0 return Acl.fromPb(objectAccessControl);
+ 486
+ }
+ 487
+ }));
+ 488
+ }
+ 489 0 return builder.build();
+ 490
+ }
+ 491
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannel.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannel.html
new file mode 100644
index 000000000000..e708a7d21e40
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannel.html
@@ -0,0 +1,122 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobReadChannel
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import java.io.Closeable;
+ 20
+ import java.io.IOException;
+ 21
+ import java.io.Serializable;
+ 22
+ import java.nio.channels.ReadableByteChannel;
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ public interface BlobReadChannel extends ReadableByteChannel, Serializable, Closeable {
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+ @Override
+ 39
+ void close();
+ 40
+
+ 41
+ void seek(int position) throws IOException;
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ void chunkSize(int chunkSize);
+ 48
+
+ 49
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html
new file mode 100644
index 000000000000..ddb619d2915b
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html
@@ -0,0 +1,259 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobReadChannelImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 20
+
+ 21
+ import com.google.api.services.storage.model.StorageObject;
+ 22
+ import com.google.gcloud.spi.StorageRpc;
+ 23
+
+ 24
+ import java.io.IOException;
+ 25
+ import java.io.ObjectInputStream;
+ 26
+ import java.io.ObjectOutputStream;
+ 27
+ import java.nio.ByteBuffer;
+ 28
+ import java.util.Map;
+ 29
+ import java.util.concurrent.Callable;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34 0 class BlobReadChannelImpl implements BlobReadChannel {
+ 35
+
+ 36
+ private static final int DEFAULT_CHUNK_SIZE = 2 * 1024 * 1024;
+ 37
+ private static final long serialVersionUID = 4821762590742862669L;
+ 38
+
+ 39
+ private final StorageOptions serviceOptions;
+ 40
+ private final BlobInfo blobInfo;
+ 41
+ private final Map<StorageRpc.Option, ?> requestOptions;
+ 42
+ private int position;
+ 43
+ private boolean isOpen;
+ 44
+ private boolean endOfStream;
+ 45 0 private int chunkSize = DEFAULT_CHUNK_SIZE;
+ 46
+
+ 47
+ private transient StorageRpc storageRpc;
+ 48
+ private transient StorageObject storageObject;
+ 49
+ private transient int bufferPos;
+ 50
+ private transient byte [] buffer;
+ 51
+
+ 52
+ BlobReadChannelImpl(StorageOptions serviceOptions, BlobInfo blobInfo,
+ 53 0 Map<StorageRpc.Option, ?> requestOptions) {
+ 54 0 this .serviceOptions = serviceOptions;
+ 55 0 this .blobInfo = blobInfo;
+ 56 0 this .requestOptions = requestOptions;
+ 57 0 isOpen = true ;
+ 58 0 initTransients();
+ 59 0 }
+ 60
+
+ 61
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 62 0 if (buffer != null ) {
+ 63 0 position += bufferPos;
+ 64 0 buffer = null ;
+ 65 0 bufferPos = 0;
+ 66 0 endOfStream = false ;
+ 67
+ }
+ 68 0 out.defaultWriteObject();
+ 69 0 }
+ 70
+
+ 71
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 72 0 in.defaultReadObject();
+ 73 0 initTransients();
+ 74 0 }
+ 75
+
+ 76
+ private void initTransients() {
+ 77 0 storageRpc = serviceOptions.storageRpc();
+ 78 0 storageObject = blobInfo.toPb();
+ 79 0 }
+ 80
+
+ 81
+ @Override
+ 82
+ public boolean isOpen() {
+ 83
+ return isOpen;
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public void close() {
+ 88 0 if (isOpen) {
+ 89 0 buffer = null ;
+ 90 0 isOpen = false ;
+ 91
+ }
+ 92 0 }
+ 93
+
+ 94
+ private void validateOpen() throws IOException {
+ 95 0 if (!isOpen) {
+ 96 0 throw new IOException("stream is closed" );
+ 97
+ }
+ 98 0 }
+ 99
+
+ 100
+ @Override
+ 101
+ public void seek(int position) throws IOException {
+ 102 0 validateOpen();
+ 103 0 this .position = position;
+ 104 0 buffer = null ;
+ 105 0 bufferPos = 0;
+ 106 0 endOfStream = false ;
+ 107 0 }
+ 108
+
+ 109
+ @Override
+ 110
+ public void chunkSize(int chunkSize) {
+ 111 0 this .chunkSize = chunkSize <= 0 ? DEFAULT_CHUNK_SIZE : chunkSize;
+ 112 0 }
+ 113
+
+ 114
+ @Override
+ 115
+ public int read(ByteBuffer byteBuffer) throws IOException {
+ 116 0 validateOpen();
+ 117 0 if (buffer == null ) {
+ 118 0 if (endOfStream) {
+ 119 0 return -1;
+ 120
+ }
+ 121 0 final int toRead = Math.max(byteBuffer.remaining(), chunkSize);
+ 122 0 buffer = runWithRetries(new Callable<byte []>() {
+ 123
+ @Override
+ 124
+ public byte [] call() {
+ 125 0 return storageRpc.read(storageObject, requestOptions, position, toRead);
+ 126
+ }
+ 127 0 }, serviceOptions.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 128 0 if (toRead > buffer.length) {
+ 129 0 endOfStream = true ;
+ 130 0 if (buffer.length == 0) {
+ 131 0 buffer = null ;
+ 132 0 return -1;
+ 133
+ }
+ 134
+ }
+ 135
+ }
+ 136 0 int toWrite = Math.min(buffer.length - bufferPos, byteBuffer.remaining());
+ 137 0 byteBuffer.put(buffer, bufferPos, toWrite);
+ 138 0 bufferPos += toWrite;
+ 139 0 if (bufferPos >= buffer.length) {
+ 140 0 position += buffer.length;
+ 141 0 buffer = null ;
+ 142 0 bufferPos = 0;
+ 143
+ }
+ 144 0 return toWrite;
+ 145
+ }
+ 146
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriteChannel.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriteChannel.html
new file mode 100644
index 000000000000..41d988fe7e66
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriteChannel.html
@@ -0,0 +1,98 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobWriteChannel
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import java.io.Closeable;
+ 20
+ import java.io.Serializable;
+ 21
+ import java.nio.channels.WritableByteChannel;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ public interface BlobWriteChannel extends WritableByteChannel, Serializable, Closeable {
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ void chunkSize(int chunkSize);
+ 37
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html
new file mode 100644
index 000000000000..c898a2d2a3e5
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html
@@ -0,0 +1,256 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobWriterChannelImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 20
+ import static java.util.concurrent.Executors.callable;
+ 21
+
+ 22
+ import com.google.api.services.storage.model.StorageObject;
+ 23
+ import com.google.gcloud.spi.StorageRpc;
+ 24
+
+ 25
+ import java.io.IOException;
+ 26
+ import java.io.ObjectInputStream;
+ 27
+ import java.io.ObjectOutputStream;
+ 28
+ import java.nio.ByteBuffer;
+ 29
+ import java.util.Arrays;
+ 30
+ import java.util.Map;
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35 0 class BlobWriterChannelImpl implements BlobWriteChannel {
+ 36
+
+ 37
+ private static final long serialVersionUID = 8675286882724938737L;
+ 38
+ private static final int MIN_CHUNK_SIZE = 256 * 1024;
+ 39
+ private static final int DEFAULT_CHUNK_SIZE = 8 * MIN_CHUNK_SIZE;
+ 40
+
+ 41
+ private final StorageOptions options;
+ 42
+ private final BlobInfo blobInfo;
+ 43
+ private final String uploadId;
+ 44
+ private int position;
+ 45 0 private byte [] buffer = new byte [0];
+ 46
+ private int limit;
+ 47 0 private boolean isOpen = true ;
+ 48 0 private int chunkSize = DEFAULT_CHUNK_SIZE;
+ 49
+
+ 50
+ private transient StorageRpc storageRpc;
+ 51
+ private transient StorageObject storageObject;
+ 52
+
+ 53
+ BlobWriterChannelImpl(StorageOptions options, BlobInfo blobInfo,
+ 54 0 Map<StorageRpc.Option, ?> optionsMap) {
+ 55 0 this .options = options;
+ 56 0 this .blobInfo = blobInfo;
+ 57 0 initTransients();
+ 58 0 uploadId = options.storageRpc().open(storageObject, optionsMap);
+ 59 0 }
+ 60
+
+ 61
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 62 0 if (isOpen) {
+ 63 0 flush(true );
+ 64
+ }
+ 65 0 out.defaultWriteObject();
+ 66 0 }
+ 67
+
+ 68
+ private void flush(boolean compact) {
+ 69 0 if (limit >= chunkSize || compact && limit >= MIN_CHUNK_SIZE) {
+ 70 0 final int length = limit - limit % MIN_CHUNK_SIZE;
+ 71 0 runWithRetries(callable(new Runnable() {
+ 72
+ @Override
+ 73
+ public void run() {
+ 74 0 storageRpc.write(uploadId, buffer, 0, storageObject, position, length, false );
+ 75 0 }
+ 76 0 }), options.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 77 0 position += length;
+ 78 0 limit -= length;
+ 79 0 byte [] temp = new byte [compact ? limit : chunkSize];
+ 80 0 System.arraycopy(buffer, length, temp, 0, limit);
+ 81 0 buffer = temp;
+ 82
+ }
+ 83 0 }
+ 84
+
+ 85
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 86 0 in.defaultReadObject();
+ 87 0 if (isOpen) {
+ 88 0 initTransients();
+ 89
+ }
+ 90 0 }
+ 91
+
+ 92
+ private void initTransients() {
+ 93 0 storageRpc = options.storageRpc();
+ 94 0 storageObject = blobInfo.toPb();
+ 95 0 }
+ 96
+
+ 97
+ private void validateOpen() throws IOException {
+ 98 0 if (!isOpen) {
+ 99 0 throw new IOException("stream is closed" );
+ 100
+ }
+ 101 0 }
+ 102
+
+ 103
+ @Override
+ 104
+ public int write(ByteBuffer byteBuffer) throws IOException {
+ 105 0 validateOpen();
+ 106 0 int toWrite = byteBuffer.remaining();
+ 107 0 int spaceInBuffer = buffer.length - limit;
+ 108 0 if (spaceInBuffer >= toWrite) {
+ 109 0 byteBuffer.get(buffer, limit, toWrite);
+ 110
+ } else {
+ 111 0 buffer = Arrays.copyOf(buffer, Math.max(chunkSize, buffer.length + toWrite - spaceInBuffer));
+ 112 0 byteBuffer.get(buffer, limit, toWrite);
+ 113
+ }
+ 114 0 limit += toWrite;
+ 115 0 flush(false );
+ 116 0 return toWrite;
+ 117
+ }
+ 118
+
+ 119
+ @Override
+ 120
+ public boolean isOpen() {
+ 121
+ return isOpen;
+ 122
+ }
+ 123
+
+ 124
+ @Override
+ 125
+ public void close() throws IOException {
+ 126 0 if (isOpen) {
+ 127 0 runWithRetries(callable(new Runnable() {
+ 128
+ @Override
+ 129
+ public void run() {
+ 130 0 storageRpc.write(uploadId, buffer, 0, storageObject, position, limit, true );
+ 131 0 }
+ 132 0 }), options.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 133 0 position += buffer.length;
+ 134 0 isOpen = false ;
+ 135 0 buffer = null ;
+ 136
+ }
+ 137 0 }
+ 138
+
+ 139
+ @Override
+ 140
+ public void chunkSize(int chunkSize) {
+ 141 0 chunkSize = (chunkSize / MIN_CHUNK_SIZE) * MIN_CHUNK_SIZE;
+ 142 0 this .chunkSize = Math.max(MIN_CHUNK_SIZE, chunkSize);
+ 143 0 }
+ 144
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.BucketInfo.html b/site/0.0.7/cobertura/com.google.gcloud.storage.BucketInfo.html
new file mode 100644
index 000000000000..0576b25f3dae
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.BucketInfo.html
@@ -0,0 +1,1266 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BucketInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 21
+ import static com.google.common.collect.Lists.transform;
+ 22
+
+ 23
+ import com.google.api.client.json.jackson2.JacksonFactory;
+ 24
+ import com.google.api.client.util.Data;
+ 25
+ import com.google.api.client.util.DateTime;
+ 26
+ import com.google.api.services.storage.model.Bucket.Lifecycle;
+ 27
+ import com.google.api.services.storage.model.Bucket.Lifecycle.Rule;
+ 28
+ import com.google.api.services.storage.model.Bucket.Owner;
+ 29
+ import com.google.api.services.storage.model.Bucket.Versioning;
+ 30
+ import com.google.api.services.storage.model.Bucket.Website;
+ 31
+ import com.google.api.services.storage.model.BucketAccessControl;
+ 32
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 33
+ import com.google.common.base.Function;
+ 34
+ import com.google.common.base.MoreObjects;
+ 35
+ import com.google.common.collect.ImmutableList;
+ 36
+ import com.google.common.collect.ImmutableMap;
+ 37
+ import com.google.gcloud.storage.Acl.Entity;
+ 38
+
+ 39
+ import java.io.IOException;
+ 40
+ import java.io.ObjectInputStream;
+ 41
+ import java.io.ObjectOutputStream;
+ 42
+ import java.io.Serializable;
+ 43
+ import java.util.List;
+ 44
+ import java.util.Objects;
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52 0 public final class BucketInfo implements Serializable {
+ 53
+
+ 54
+ private static final long serialVersionUID = -3946094202176916586L;
+ 55
+
+ 56
+ private final String id;
+ 57
+ private final String name;
+ 58
+ private final Acl.Entity owner;
+ 59
+ private final String selfLink;
+ 60
+ private final Boolean versioningEnabled;
+ 61
+ private final String indexPage;
+ 62
+ private final String notFoundPage;
+ 63
+ private final List<DeleteRule> deleteRules;
+ 64
+ private final String etag;
+ 65
+ private final Long createTime;
+ 66
+ private final Long metageneration;
+ 67
+ private final List<Cors> cors;
+ 68
+ private final List<Acl> acl;
+ 69
+ private final List<Acl> defaultAcl;
+ 70
+ private final Location location;
+ 71
+ private final StorageClass storageClass;
+ 72
+
+ 73 0 static final Function<com.google.api.services.storage.model.Bucket, BucketInfo> FROM_PB_FUNCTION =
+ 74 0 new Function<com.google.api.services.storage.model.Bucket, BucketInfo>() {
+ 75
+ @Override
+ 76
+ public BucketInfo apply(com.google.api.services.storage.model.Bucket pb) {
+ 77 0 return BucketInfo.fromPb(pb);
+ 78
+ }
+ 79
+ };
+ 80
+
+ 81 0 static final Function<BucketInfo, com.google.api.services.storage.model.Bucket> TO_PB_FUNCTION =
+ 82 0 new Function<BucketInfo, com.google.api.services.storage.model.Bucket>() {
+ 83
+ @Override
+ 84
+ public com.google.api.services.storage.model.Bucket apply(BucketInfo bucketInfo) {
+ 85 0 return bucketInfo.toPb();
+ 86
+ }
+ 87
+ };
+ 88
+
+ 89
+ public static abstract class DeleteRule implements Serializable {
+ 90
+
+ 91
+ private static final long serialVersionUID = 3137971668395933033L;
+ 92
+ private final Type type;
+ 93
+ private static final String SUPPORTED_ACTION = "Delete" ;
+ 94
+
+ 95 0 public enum Type {
+ 96 0 AGE, CREATE_BEFORE, NUM_NEWER_VERSIONS, IS_LIVE, UNKNOWN
+ 97
+ }
+ 98
+
+ 99
+ DeleteRule(Type type) {
+ 100
+ this .type = type;
+ 101
+ }
+ 102
+
+ 103
+ public Type type() {
+ 104 0 return type;
+ 105
+ }
+ 106
+
+ 107
+ @Override
+ 108
+ public int hashCode() {
+ 109 0 return Objects.hash(type);
+ 110
+ }
+ 111
+
+ 112
+ @Override
+ 113
+ public boolean equals(Object obj) {
+ 114 0 if (this == obj) {
+ 115 0 return true ;
+ 116
+ }
+ 117 0 if (obj == null || getClass() != obj.getClass()) {
+ 118 0 return false ;
+ 119
+ }
+ 120 0 final DeleteRule other = (DeleteRule) obj;
+ 121 0 return Objects.equals(toPb(), other.toPb());
+ 122
+ }
+ 123
+
+ 124
+ Rule toPb() {
+ 125 0 Rule rule = new Rule();
+ 126 0 rule.setAction(new Rule.Action().setType(SUPPORTED_ACTION));
+ 127 0 Rule.Condition condition = new Rule.Condition();
+ 128 0 populateCondition(condition);
+ 129 0 rule.setCondition(condition);
+ 130 0 return rule;
+ 131
+ }
+ 132
+
+ 133
+ abstract void populateCondition(Rule.Condition condition);
+ 134
+
+ 135
+ static DeleteRule fromPb(Rule rule) {
+ 136 0 if (rule.getAction() != null && SUPPORTED_ACTION.endsWith(rule.getAction().getType())) {
+ 137 0 Rule.Condition condition = rule.getCondition();
+ 138 0 Integer age = condition.getAge();
+ 139 0 if (age != null ) {
+ 140 0 return new AgeDeleteRule(age);
+ 141
+ }
+ 142 0 DateTime dateTime = condition.getCreatedBefore();
+ 143 0 if (dateTime != null ) {
+ 144 0 return new CreatedBeforeDeleteRule(dateTime.getValue());
+ 145
+ }
+ 146 0 Integer numNewerVersions = condition.getNumNewerVersions();
+ 147 0 if (numNewerVersions != null ) {
+ 148 0 return new NumNewerVersionsDeleteRule(numNewerVersions);
+ 149
+ }
+ 150 0 Boolean isLive = condition.getIsLive();
+ 151 0 if (isLive != null ) {
+ 152 0 return new IsLiveDeleteRule(isLive);
+ 153
+ }
+ 154
+ }
+ 155 0 return new RawDeleteRule(rule);
+ 156
+ }
+ 157
+ }
+ 158
+
+ 159
+ public static class AgeDeleteRule extends DeleteRule {
+ 160
+
+ 161
+ private static final long serialVersionUID = 5697166940712116380L;
+ 162
+ private final int daysToLive;
+ 163
+
+ 164
+ public AgeDeleteRule(int daysToLive) {
+ 165 0 super (Type.AGE);
+ 166 0 this .daysToLive = daysToLive;
+ 167 0 }
+ 168
+
+ 169
+ public int daysToLive() {
+ 170 0 return daysToLive;
+ 171
+ }
+ 172
+
+ 173
+ @Override
+ 174
+ void populateCondition(Rule.Condition condition) {
+ 175 0 condition.setAge(daysToLive);
+ 176 0 }
+ 177
+ }
+ 178
+
+ 179
+ static class RawDeleteRule extends DeleteRule {
+ 180
+
+ 181
+ private static final long serialVersionUID = -7166938278642301933L;
+ 182
+
+ 183
+ private transient Rule rule;
+ 184
+
+ 185
+ RawDeleteRule(Rule rule) {
+ 186 0 super (Type.UNKNOWN);
+ 187 0 this .rule = rule;
+ 188 0 }
+ 189
+
+ 190
+ @Override
+ 191
+ void populateCondition(Rule.Condition condition) {
+ 192 0 throw new UnsupportedOperationException();
+ 193
+ }
+ 194
+
+ 195
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 196 0 out.defaultWriteObject();
+ 197 0 out.writeUTF(rule.toString());
+ 198 0 }
+ 199
+
+ 200
+ private void readObject(ObjectInputStream in) throws IOException,
+ 201
+ ClassNotFoundException {
+ 202 0 in.defaultReadObject();
+ 203 0 rule = new JacksonFactory().fromString(in.readUTF(), Rule.class );
+ 204 0 }
+ 205
+
+ 206
+ Rule toPb() {
+ 207 0 return rule;
+ 208
+ }
+ 209
+ }
+ 210
+
+ 211
+ public static class CreatedBeforeDeleteRule extends DeleteRule {
+ 212
+
+ 213
+ private static final long serialVersionUID = 881692650279195867L;
+ 214
+ private final long timeMillis;
+ 215
+
+ 216
+ public CreatedBeforeDeleteRule(long timeMillis) {
+ 217 0 super (Type.CREATE_BEFORE);
+ 218 0 this .timeMillis = timeMillis;
+ 219 0 }
+ 220
+
+ 221
+ public long timeMillis() {
+ 222 0 return timeMillis;
+ 223
+ }
+ 224
+
+ 225
+ @Override
+ 226
+ void populateCondition(Rule.Condition condition) {
+ 227 0 condition.setCreatedBefore(new DateTime(timeMillis));
+ 228 0 }
+ 229
+ }
+ 230
+
+ 231
+ public static class NumNewerVersionsDeleteRule extends DeleteRule {
+ 232
+
+ 233
+ private static final long serialVersionUID = -1955554976528303894L;
+ 234
+ private final int numNewerVersions;
+ 235
+
+ 236
+ public NumNewerVersionsDeleteRule(int numNewerVersions) {
+ 237 0 super (Type.NUM_NEWER_VERSIONS);
+ 238 0 this .numNewerVersions = numNewerVersions;
+ 239 0 }
+ 240
+
+ 241
+ public int numNewerVersions() {
+ 242 0 return numNewerVersions;
+ 243
+ }
+ 244
+
+ 245
+ @Override
+ 246
+ void populateCondition(Rule.Condition condition) {
+ 247 0 condition.setNumNewerVersions(numNewerVersions);
+ 248 0 }
+ 249
+ }
+ 250
+
+ 251
+ public static class IsLiveDeleteRule extends DeleteRule {
+ 252
+
+ 253
+ private static final long serialVersionUID = -3502994563121313364L;
+ 254
+ private final boolean isLive;
+ 255
+
+ 256
+ public IsLiveDeleteRule(boolean isLive) {
+ 257 0 super (Type.IS_LIVE);
+ 258 0 this .isLive = isLive;
+ 259 0 }
+ 260
+
+ 261
+ public boolean isLive() {
+ 262
+ return isLive;
+ 263
+ }
+ 264
+
+ 265
+ @Override
+ 266
+ void populateCondition(Rule.Condition condition) {
+ 267 0 condition.setIsLive(isLive);
+ 268 0 }
+ 269
+ }
+ 270
+
+ 271 0 public static final class StorageClass implements Serializable {
+ 272
+
+ 273
+ private static final long serialVersionUID = 374002156285326563L;
+ 274
+ private static final ImmutableMap<String, Option> STRING_TO_OPTION;
+ 275 0 private static final StorageClass NULL_VALUE =
+ 276 0 new StorageClass(Data.<String>nullOf(String.class ));
+ 277
+
+ 278
+ private final String value;
+ 279
+
+ 280 0 public enum Option {
+ 281 0 DURABLE_REDUCED_AVAILABILITY, STANDARD;
+ 282
+
+ 283
+ private final StorageClass storageClass;
+ 284
+
+ 285 0 Option() {
+ 286 0 storageClass = new StorageClass(name());
+ 287 0 }
+ 288
+ }
+ 289
+
+ 290
+ static {
+ 291 0 ImmutableMap.Builder<String, Option> map = ImmutableMap.builder();
+ 292 0 for (Option option : Option.values()) {
+ 293 0 map.put(option.name(), option);
+ 294
+ }
+ 295 0 STRING_TO_OPTION = map.build();
+ 296 0 }
+ 297
+
+ 298 0 private StorageClass(String value) {
+ 299 0 this .value = checkNotNull(value);
+ 300 0 }
+ 301
+
+ 302
+ public static StorageClass standard() {
+ 303 0 return Option.STANDARD.storageClass;
+ 304
+ }
+ 305
+
+ 306
+ public static StorageClass durableReducedAvailability() {
+ 307 0 return Option.DURABLE_REDUCED_AVAILABILITY.storageClass;
+ 308
+ }
+ 309
+
+ 310
+ public static StorageClass of(String value) {
+ 311 0 Option option = STRING_TO_OPTION.get(value.toUpperCase());
+ 312 0 return option == null ? new StorageClass(value) : option.storageClass;
+ 313
+ }
+ 314
+
+ 315
+ @Override
+ 316
+ public String toString() {
+ 317 0 return value();
+ 318
+ }
+ 319
+
+ 320
+ public String value() {
+ 321 0 return value;
+ 322
+ }
+ 323
+ }
+ 324
+
+ 325 0 public static final class Location implements Serializable {
+ 326
+
+ 327
+ private static final long serialVersionUID = 9073107666838637662L;
+ 328
+ private static final ImmutableMap<String, Option> STRING_TO_OPTION;
+ 329 0 private static final Location NULL_VALUE = new Location(Data.<String>nullOf(String.class ));
+ 330
+
+ 331
+ private final String value;
+ 332
+
+ 333 0 public enum Option {
+ 334 0 US, EU, ASIA;
+ 335
+
+ 336
+ private final Location location;
+ 337
+
+ 338 0 Option() {
+ 339 0 location = new Location(name());
+ 340 0 }
+ 341
+ }
+ 342
+
+ 343
+ static {
+ 344 0 ImmutableMap.Builder<String, Option> map = ImmutableMap.builder();
+ 345 0 for (Option option : Option.values()) {
+ 346 0 map.put(option.name(), option);
+ 347
+ }
+ 348 0 STRING_TO_OPTION = map.build();
+ 349 0 }
+ 350
+
+ 351 0 private Location(String value) {
+ 352 0 this .value = checkNotNull(value);
+ 353 0 }
+ 354
+
+ 355
+ public static Location us() {
+ 356 0 return Option.US.location;
+ 357
+ }
+ 358
+
+ 359
+ public static Location eu() {
+ 360 0 return Option.EU.location;
+ 361
+ }
+ 362
+
+ 363
+ public static Location asia() {
+ 364 0 return Option.ASIA.location;
+ 365
+ }
+ 366
+
+ 367
+ public static Location of(String value) {
+ 368 0 Option option = STRING_TO_OPTION.get(value.toUpperCase());
+ 369 0 return option == null ? new Location(value) : option.location;
+ 370
+ }
+ 371
+
+ 372
+ @Override
+ 373
+ public int hashCode() {
+ 374 0 return Objects.hash(value);
+ 375
+ }
+ 376
+
+ 377
+ @Override
+ 378
+ public boolean equals(Object obj) {
+ 379 0 if (this == obj) {
+ 380 0 return true ;
+ 381
+ }
+ 382 0 if (obj == null || getClass() != obj.getClass()) {
+ 383 0 return false ;
+ 384
+ }
+ 385 0 final Location other = (Location) obj;
+ 386 0 return Objects.equals(this .value, other.value);
+ 387
+ }
+ 388
+
+ 389
+ @Override
+ 390
+ public String toString() {
+ 391 0 return value();
+ 392
+ }
+ 393
+
+ 394
+ public String value() {
+ 395 0 return value;
+ 396
+ }
+ 397
+ }
+ 398
+
+ 399 0 public final static class Builder {
+ 400
+
+ 401
+ private String id;
+ 402
+ private String name;
+ 403
+ private Acl.Entity owner;
+ 404
+ private String selfLink;
+ 405
+ private Boolean versioningEnabled;
+ 406
+ private String indexPage;
+ 407
+ private String notFoundPage;
+ 408
+ private ImmutableList<DeleteRule> deleteRules;
+ 409
+ private StorageClass storageClass;
+ 410
+ private Location location;
+ 411
+ private String etag;
+ 412
+ private Long createTime;
+ 413
+ private Long metageneration;
+ 414
+ private ImmutableList<Cors> cors;
+ 415
+ private ImmutableList<Acl> acl;
+ 416
+ private ImmutableList<Acl> defaultAcl;
+ 417
+
+ 418
+ private Builder() {}
+ 419
+
+ 420
+ public Builder name(String name) {
+ 421 0 this .name = checkNotNull(name);
+ 422 0 return this ;
+ 423
+ }
+ 424
+
+ 425
+ Builder id(String id) {
+ 426 0 this .id = id;
+ 427 0 return this ;
+ 428
+ }
+ 429
+
+ 430
+ Builder owner(Acl.Entity owner) {
+ 431 0 this .owner = owner;
+ 432 0 return this ;
+ 433
+ }
+ 434
+
+ 435
+ Builder selfLink(String selfLink) {
+ 436 0 this .selfLink = selfLink;
+ 437 0 return this ;
+ 438
+ }
+ 439
+
+ 440
+ public Builder versioningEnabled(Boolean enable) {
+ 441 0 this .versioningEnabled = firstNonNull(enable, Data.<Boolean>nullOf(Boolean.class ));
+ 442 0 return this ;
+ 443
+ }
+ 444
+
+ 445
+ public Builder indexPage(String indexPage) {
+ 446 0 this .indexPage = indexPage;
+ 447 0 return this ;
+ 448
+ }
+ 449
+
+ 450
+ public Builder notFoundPage(String notFoundPage) {
+ 451 0 this .notFoundPage = notFoundPage;
+ 452 0 return this ;
+ 453
+ }
+ 454
+
+ 455
+ public Builder deleteRules(Iterable<? extends DeleteRule> rules) {
+ 456 0 this .deleteRules = ImmutableList.copyOf(rules);
+ 457 0 return this ;
+ 458
+ }
+ 459
+
+ 460
+ public Builder storageClass(StorageClass storageClass) {
+ 461 0 this .storageClass = firstNonNull(storageClass, StorageClass.NULL_VALUE);
+ 462 0 return this ;
+ 463
+ }
+ 464
+
+ 465
+ public Builder location(Location location) {
+ 466 0 this .location = firstNonNull(location, Location.NULL_VALUE);
+ 467 0 return this ;
+ 468
+ }
+ 469
+
+ 470
+ Builder etag(String etag) {
+ 471 0 this .etag = etag;
+ 472 0 return this ;
+ 473
+ }
+ 474
+
+ 475
+ Builder createTime(Long createTime) {
+ 476 0 this .createTime = createTime;
+ 477 0 return this ;
+ 478
+ }
+ 479
+
+ 480
+ Builder metageneration(Long metageneration) {
+ 481 0 this .metageneration = metageneration;
+ 482 0 return this ;
+ 483
+ }
+ 484
+
+ 485
+ public Builder cors(Iterable<Cors> cors) {
+ 486 0 this .cors = cors != null ? ImmutableList.copyOf(cors) : null ;
+ 487 0 return this ;
+ 488
+ }
+ 489
+
+ 490
+ public Builder acl(Iterable<Acl> acl) {
+ 491 0 this .acl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 492 0 return this ;
+ 493
+ }
+ 494
+
+ 495
+ public Builder defaultAcl(Iterable<Acl> acl) {
+ 496 0 this .defaultAcl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 497 0 return this ;
+ 498
+ }
+ 499
+
+ 500
+ public BucketInfo build() {
+ 501 0 checkNotNull(name);
+ 502 0 return new BucketInfo(this );
+ 503
+ }
+ 504
+ }
+ 505
+
+ 506 0 private BucketInfo(Builder builder) {
+ 507 0 id = builder.id;
+ 508 0 name = builder.name;
+ 509 0 etag = builder.etag;
+ 510 0 createTime = builder.createTime;
+ 511 0 metageneration = builder.metageneration;
+ 512 0 location = builder.location;
+ 513 0 storageClass = builder.storageClass;
+ 514 0 cors = builder.cors;
+ 515 0 acl = builder.acl;
+ 516 0 defaultAcl = builder.defaultAcl;
+ 517 0 owner = builder.owner;
+ 518 0 selfLink = builder.selfLink;
+ 519 0 versioningEnabled = builder.versioningEnabled;
+ 520 0 indexPage = builder.indexPage;
+ 521 0 notFoundPage = builder.notFoundPage;
+ 522 0 deleteRules = builder.deleteRules;
+ 523 0 }
+ 524
+
+ 525
+ public String id() {
+ 526 0 return id;
+ 527
+ }
+ 528
+
+ 529
+ public String name() {
+ 530 0 return name;
+ 531
+ }
+ 532
+
+ 533
+ public Entity owner() {
+ 534 0 return owner;
+ 535
+ }
+ 536
+
+ 537
+ public String selfLink() {
+ 538 0 return selfLink;
+ 539
+ }
+ 540
+
+ 541
+ public Boolean versioningEnabled() {
+ 542 0 return Data.isNull(versioningEnabled) ? null : versioningEnabled;
+ 543
+ }
+ 544
+
+ 545
+ public String indexPage() {
+ 546 0 return indexPage;
+ 547
+ }
+ 548
+
+ 549
+ public String notFoundPage() {
+ 550 0 return notFoundPage;
+ 551
+ }
+ 552
+
+ 553
+ public List<? extends DeleteRule> deleteRules() {
+ 554 0 return deleteRules;
+ 555
+ }
+ 556
+
+ 557
+ public String etag() {
+ 558 0 return etag;
+ 559
+ }
+ 560
+
+ 561
+ public Long createTime() {
+ 562 0 return createTime;
+ 563
+ }
+ 564
+
+ 565
+ public Long metageneration() {
+ 566 0 return metageneration;
+ 567
+ }
+ 568
+
+ 569
+ public Location location() {
+ 570 0 return location == null || Data.isNull(location.value) ? null : location;
+ 571
+ }
+ 572
+
+ 573
+ public StorageClass storageClass() {
+ 574 0 return storageClass == null || Data.isNull(storageClass.value) ? null : storageClass;
+ 575
+ }
+ 576
+
+ 577
+ public List<Cors> cors() {
+ 578 0 return cors;
+ 579
+ }
+ 580
+
+ 581
+ public List<Acl> acl() {
+ 582 0 return acl;
+ 583
+ }
+ 584
+
+ 585
+ public List<Acl> defaultAcl() {
+ 586 0 return defaultAcl;
+ 587
+ }
+ 588
+
+ 589
+ public Builder toBuilder() {
+ 590 0 return new Builder()
+ 591 0 .name(name)
+ 592 0 .id(id)
+ 593 0 .createTime(createTime)
+ 594 0 .etag(etag)
+ 595 0 .metageneration(metageneration)
+ 596 0 .cors(cors)
+ 597 0 .acl(acl)
+ 598 0 .defaultAcl(defaultAcl)
+ 599 0 .location(location)
+ 600 0 .storageClass(storageClass)
+ 601 0 .owner(owner)
+ 602 0 .selfLink(selfLink)
+ 603 0 .versioningEnabled(versioningEnabled)
+ 604 0 .indexPage(indexPage)
+ 605 0 .notFoundPage(notFoundPage)
+ 606 0 .deleteRules(deleteRules);
+ 607
+ }
+ 608
+
+ 609
+ @Override
+ 610
+ public int hashCode() {
+ 611 0 return Objects.hash(name);
+ 612
+ }
+ 613
+
+ 614
+ @Override
+ 615
+ public boolean equals(Object obj) {
+ 616 0 if (!(obj instanceof BucketInfo)) {
+ 617 0 return false ;
+ 618
+ }
+ 619 0 return Objects.equals(toPb(), ((BucketInfo) obj).toPb());
+ 620
+ }
+ 621
+
+ 622
+ @Override
+ 623
+ public String toString() {
+ 624 0 return MoreObjects.toStringHelper(this )
+ 625 0 .add("name" , name())
+ 626 0 .toString();
+ 627
+ }
+ 628
+
+ 629
+ public static BucketInfo of(String name) {
+ 630 0 return builder(name).build();
+ 631
+ }
+ 632
+
+ 633
+ public static Builder builder(String name) {
+ 634 0 return new Builder().name(name);
+ 635
+ }
+ 636
+
+ 637
+ com.google.api.services.storage.model.Bucket toPb() {
+ 638 0 com.google.api.services.storage.model.Bucket bucketPb =
+ 639
+ new com.google.api.services.storage.model.Bucket();
+ 640 0 bucketPb.setId(id);
+ 641 0 bucketPb.setName(name);
+ 642 0 bucketPb.setEtag(etag);
+ 643 0 if (createTime != null ) {
+ 644 0 bucketPb.setTimeCreated(new DateTime(createTime));
+ 645
+ }
+ 646 0 if (metageneration != null ) {
+ 647 0 bucketPb.setMetageneration(metageneration);
+ 648
+ }
+ 649 0 if (location != null ) {
+ 650 0 bucketPb.setLocation(location.value());
+ 651
+ }
+ 652 0 if (storageClass != null ) {
+ 653 0 bucketPb.setStorageClass(storageClass.value());
+ 654
+ }
+ 655 0 if (cors != null ) {
+ 656 0 bucketPb.setCors(transform(cors, Cors.TO_PB_FUNCTION));
+ 657
+ }
+ 658 0 if (acl != null ) {
+ 659 0 bucketPb.setAcl(transform(acl, new Function<Acl, BucketAccessControl>() {
+ 660
+ @Override
+ 661
+ public BucketAccessControl apply(Acl acl) {
+ 662 0 return acl.toBucketPb();
+ 663
+ }
+ 664
+ }));
+ 665
+ }
+ 666 0 if (defaultAcl != null ) {
+ 667 0 bucketPb.setDefaultObjectAcl(transform(defaultAcl, new Function<Acl, ObjectAccessControl>() {
+ 668
+ @Override
+ 669
+ public ObjectAccessControl apply(Acl acl) {
+ 670 0 return acl.toObjectPb();
+ 671
+ }
+ 672
+ }));
+ 673
+ }
+ 674 0 if (owner != null ) {
+ 675 0 bucketPb.setOwner(new Owner().setEntity(owner.toPb()));
+ 676
+ }
+ 677 0 bucketPb.setSelfLink(selfLink);
+ 678 0 if (versioningEnabled != null ) {
+ 679 0 bucketPb.setVersioning(new Versioning().setEnabled(versioningEnabled));
+ 680
+ }
+ 681 0 if (indexPage != null || notFoundPage != null ) {
+ 682 0 Website website = new Website();
+ 683 0 website.setMainPageSuffix(indexPage);
+ 684 0 website.setNotFoundPage(notFoundPage);
+ 685 0 bucketPb.setWebsite(website);
+ 686
+ }
+ 687 0 if (deleteRules != null ) {
+ 688 0 Lifecycle lifecycle = new Lifecycle();
+ 689 0 lifecycle.setRule(transform(deleteRules, new Function<DeleteRule, Rule>() {
+ 690
+ @Override
+ 691
+ public Rule apply(DeleteRule deleteRule) {
+ 692 0 return deleteRule.toPb();
+ 693
+ }
+ 694
+ }));
+ 695 0 bucketPb.setLifecycle(lifecycle);
+ 696
+ }
+ 697 0 return bucketPb;
+ 698
+ }
+ 699
+
+ 700
+ static BucketInfo fromPb(com.google.api.services.storage.model.Bucket bucketPb) {
+ 701 0 Builder builder = new Builder()
+ 702 0 .name(bucketPb.getName())
+ 703 0 .id(bucketPb.getId())
+ 704 0 .etag(bucketPb.getEtag())
+ 705 0 .metageneration(bucketPb.getMetageneration())
+ 706 0 .createTime(bucketPb.getTimeCreated().getValue())
+ 707 0 .location(Location.of(bucketPb.getLocation()))
+ 708 0 .selfLink(bucketPb.getSelfLink());
+ 709 0 if (bucketPb.getStorageClass() != null ) {
+ 710 0 builder.storageClass(StorageClass.of(bucketPb.getStorageClass()));
+ 711
+ }
+ 712 0 if (bucketPb.getCors() != null ) {
+ 713 0 builder.cors(transform(bucketPb.getCors(), Cors.FROM_PB_FUNCTION));
+ 714
+ }
+ 715 0 if (bucketPb.getAcl() != null ) {
+ 716 0 builder.acl(transform(bucketPb.getAcl(), new Function<BucketAccessControl, Acl>() {
+ 717
+ @Override
+ 718
+ public Acl apply(BucketAccessControl bucketAccessControl) {
+ 719 0 return Acl.fromPb(bucketAccessControl);
+ 720
+ }
+ 721
+ }));
+ 722
+ }
+ 723 0 if (bucketPb.getDefaultObjectAcl() != null ) {
+ 724 0 builder.defaultAcl(transform(bucketPb.getDefaultObjectAcl(),
+ 725 0 new Function<ObjectAccessControl, Acl>() {
+ 726
+ @Override
+ 727
+ public Acl apply(ObjectAccessControl objectAccessControl) {
+ 728 0 return Acl.fromPb(objectAccessControl);
+ 729
+ }
+ 730
+ }));
+ 731
+ }
+ 732 0 if (bucketPb.getOwner() != null ) {
+ 733 0 builder.owner(Entity.fromPb(bucketPb.getOwner().getEntity()));
+ 734
+ }
+ 735 0 if (bucketPb.getVersioning() != null ) {
+ 736 0 builder.versioningEnabled(bucketPb.getVersioning().getEnabled());
+ 737
+ }
+ 738 0 Website website = bucketPb.getWebsite();
+ 739 0 if (website != null ) {
+ 740 0 builder.indexPage(website.getMainPageSuffix());
+ 741 0 builder.notFoundPage(website.getNotFoundPage());
+ 742
+ }
+ 743 0 if (bucketPb.getLifecycle() != null && bucketPb.getLifecycle().getRule() != null ) {
+ 744 0 builder.deleteRules(transform(bucketPb.getLifecycle().getRule(),
+ 745 0 new Function<Rule, DeleteRule>() {
+ 746
+ @Override
+ 747
+ public DeleteRule apply(Rule rule) {
+ 748 0 return DeleteRule.fromPb(rule);
+ 749
+ }
+ 750
+ }));
+ 751
+ }
+ 752 0 return builder.build();
+ 753
+ }
+ 754
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.Cors.html b/site/0.0.7/cobertura/com.google.gcloud.storage.Cors.html
new file mode 100644
index 000000000000..0d0054b85019
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.Cors.html
@@ -0,0 +1,425 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Cors
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.common.collect.Iterables.transform;
+ 21
+ import static com.google.common.collect.Lists.newArrayList;
+ 22
+
+ 23
+ import com.google.api.services.storage.model.Bucket;
+ 24
+ import com.google.common.base.Function;
+ 25
+ import com.google.common.base.Functions;
+ 26
+ import com.google.common.collect.ImmutableList;
+ 27
+
+ 28
+ import java.io.Serializable;
+ 29
+ import java.net.URI;
+ 30
+ import java.net.URISyntaxException;
+ 31
+ import java.util.List;
+ 32
+ import java.util.Objects;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37 0 public final class Cors implements Serializable {
+ 38
+
+ 39
+ private static final long serialVersionUID = -8637770919343335655L;
+ 40
+
+ 41 0 static final Function<Bucket.Cors, Cors> FROM_PB_FUNCTION = new Function<Bucket.Cors, Cors>() {
+ 42
+ @Override
+ 43
+ public Cors apply(Bucket.Cors pb) {
+ 44 0 return Cors.fromPb(pb);
+ 45
+ }
+ 46
+ };
+ 47
+
+ 48 0 static final Function<Cors, Bucket.Cors> TO_PB_FUNCTION = new Function<Cors, Bucket.Cors>() {
+ 49
+ @Override
+ 50
+ public Bucket.Cors apply(Cors cors) {
+ 51 0 return cors.toPb();
+ 52
+ }
+ 53
+ };
+ 54
+
+ 55
+ private final Integer maxAgeSeconds;
+ 56
+ private final ImmutableList<HttpMethod> methods;
+ 57
+ private final ImmutableList<Origin> origins;
+ 58
+ private final ImmutableList<String> responseHeaders;
+ 59
+
+ 60
+ public static final class Origin implements Serializable {
+ 61
+
+ 62
+ private static final long serialVersionUID = -4447958124895577993L;
+ 63
+ private static final String ANY_URI = "*" ;
+ 64
+ private final String value;
+ 65
+
+ 66 0 private static final Origin ANY = new Origin(ANY_URI);
+ 67
+
+ 68 0 private Origin(String value) {
+ 69 0 this .value = checkNotNull(value);
+ 70 0 }
+ 71
+
+ 72
+ public static Origin any() {
+ 73 0 return ANY;
+ 74
+ }
+ 75
+
+ 76
+ public static Origin of(String scheme, String host, int port) {
+ 77
+ try {
+ 78 0 return of(new URI(scheme, null , host, port, null , null , null ).toString());
+ 79 0 } catch (URISyntaxException e) {
+ 80 0 throw new IllegalArgumentException(e);
+ 81
+ }
+ 82
+ }
+ 83
+
+ 84
+ public static Origin of(String value) {
+ 85 0 if (ANY_URI.equals(value)) {
+ 86 0 return any();
+ 87
+ }
+ 88 0 return new Origin(value);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public int hashCode() {
+ 93 0 return value.hashCode();
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public boolean equals(Object obj) {
+ 98 0 if (!(obj instanceof Origin)) {
+ 99 0 return false ;
+ 100
+ }
+ 101 0 return value.equals(((Origin)obj).value);
+ 102
+ }
+ 103
+
+ 104
+ @Override
+ 105
+ public String toString() {
+ 106 0 return value();
+ 107
+ }
+ 108
+
+ 109
+ public String value() {
+ 110 0 return value;
+ 111
+ }
+ 112
+ }
+ 113
+
+ 114 0 public static final class Builder {
+ 115
+
+ 116
+ private Integer maxAgeSeconds;
+ 117
+ private ImmutableList<HttpMethod> methods;
+ 118
+ private ImmutableList<Origin> origins;
+ 119
+ private ImmutableList<String> responseHeaders;
+ 120
+
+ 121
+ private Builder() {}
+ 122
+
+ 123
+ public Builder maxAgeSeconds(Integer maxAgeSeconds) {
+ 124 0 this .maxAgeSeconds = maxAgeSeconds;
+ 125 0 return this ;
+ 126
+ }
+ 127
+
+ 128
+ public Builder methods(Iterable<HttpMethod> methods) {
+ 129 0 this .methods = methods != null ? ImmutableList.copyOf(methods) : null ;
+ 130 0 return this ;
+ 131
+ }
+ 132
+
+ 133
+ public Builder origins(Iterable<Origin> origins) {
+ 134 0 this .origins = origins != null ? ImmutableList.copyOf(origins) : null ;
+ 135 0 return this ;
+ 136
+ }
+ 137
+
+ 138
+ public Builder responseHeaders(Iterable<String> headers) {
+ 139 0 this .responseHeaders = headers != null ? ImmutableList.copyOf(headers) : null ;
+ 140 0 return this ;
+ 141
+ }
+ 142
+
+ 143
+ public Cors build() {
+ 144 0 return new Cors(this );
+ 145
+ }
+ 146
+ }
+ 147
+
+ 148 0 private Cors(Builder builder) {
+ 149 0 this .maxAgeSeconds = builder.maxAgeSeconds;
+ 150 0 this .methods = builder.methods;
+ 151 0 this .origins = builder.origins;
+ 152 0 this .responseHeaders = builder.responseHeaders;
+ 153 0 }
+ 154
+
+ 155
+ public Integer maxAgeSeconds() {
+ 156 0 return maxAgeSeconds;
+ 157
+ }
+ 158
+
+ 159
+ public List<HttpMethod> methods() {
+ 160 0 return methods;
+ 161
+ }
+ 162
+
+ 163
+ public List<Origin> origins() {
+ 164 0 return origins;
+ 165
+ }
+ 166
+
+ 167
+ public List<String> responseHeaders() {
+ 168 0 return responseHeaders;
+ 169
+ }
+ 170
+
+ 171
+ public Builder toBuilder() {
+ 172 0 return builder()
+ 173 0 .maxAgeSeconds(maxAgeSeconds)
+ 174 0 .methods(methods)
+ 175 0 .origins(origins)
+ 176 0 .responseHeaders(responseHeaders);
+ 177
+ }
+ 178
+
+ 179
+ @Override
+ 180
+ public int hashCode() {
+ 181 0 return Objects.hash(maxAgeSeconds, methods, origins, responseHeaders);
+ 182
+ }
+ 183
+
+ 184
+ @Override
+ 185
+ public boolean equals(Object obj) {
+ 186 0 if (!(obj instanceof Cors)) {
+ 187 0 return false ;
+ 188
+ }
+ 189 0 Cors other = (Cors) obj;
+ 190 0 return Objects.equals(maxAgeSeconds, other.maxAgeSeconds)
+ 191 0 && Objects.equals(methods, other.methods)
+ 192 0 && Objects.equals(origins, other.origins)
+ 193 0 && Objects.equals(responseHeaders, other.responseHeaders);
+ 194
+ }
+ 195
+
+ 196
+ public static Builder builder() {
+ 197 0 return new Builder();
+ 198
+ }
+ 199
+
+ 200
+ Bucket.Cors toPb() {
+ 201 0 Bucket.Cors pb = new Bucket.Cors();
+ 202 0 pb.setMaxAgeSeconds(maxAgeSeconds);
+ 203 0 pb.setResponseHeader(responseHeaders);
+ 204 0 if (methods != null ) {
+ 205 0 pb.setMethod(newArrayList(transform(methods, Functions.toStringFunction())));
+ 206
+ }
+ 207 0 if (origins != null ) {
+ 208 0 pb.setOrigin(newArrayList(transform(origins, Functions.toStringFunction())));
+ 209
+ }
+ 210 0 return pb;
+ 211
+ }
+ 212
+
+ 213
+ static Cors fromPb(Bucket.Cors cors) {
+ 214 0 Builder builder = builder().maxAgeSeconds(cors.getMaxAgeSeconds());
+ 215 0 if (cors.getMethod() != null ) {
+ 216 0 builder.methods(transform(cors.getMethod(), new Function<String, HttpMethod>() {
+ 217
+ @Override
+ 218
+ public HttpMethod apply(String name) {
+ 219 0 return HttpMethod.valueOf(name.toUpperCase());
+ 220
+ }
+ 221
+ }));
+ 222
+ }
+ 223 0 if (cors.getOrigin() != null ) {
+ 224 0 builder.origins(transform(cors.getOrigin(), new Function<String, Origin>() {
+ 225
+ @Override
+ 226
+ public Origin apply(String value) {
+ 227 0 return Origin.of(value);
+ 228
+ }
+ 229
+ }));
+ 230
+ }
+ 231 0 builder.responseHeaders(cors.getResponseHeader());
+ 232 0 return builder.build();
+ 233
+ }
+ 234
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.HttpMethod.html b/site/0.0.7/cobertura/com.google.gcloud.storage.HttpMethod.html
new file mode 100644
index 000000000000..7427801e206e
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.HttpMethod.html
@@ -0,0 +1,70 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.HttpMethod
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22 0 public enum HttpMethod {
+ 23 0 GET, HEAD, PUT, POST, DELETE
+ 24
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.ListResult.html b/site/0.0.7/cobertura/com.google.gcloud.storage.ListResult.html
new file mode 100644
index 000000000000..a8aa3ce34292
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.ListResult.html
@@ -0,0 +1,178 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.ListResult
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+ import java.io.Serializable;
+ 21
+ import java.util.Collections;
+ 22
+ import java.util.Iterator;
+ 23
+ import java.util.Objects;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class ListResult<T extends Serializable> implements Iterable<T>, Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = -6937287874908527950L;
+ 31
+
+ 32
+ private final String cursor;
+ 33
+ private final Iterable<T> results;
+ 34
+ private final NextPageFetcher<T> pageFetcher;
+ 35
+
+ 36
+ public interface NextPageFetcher<T extends Serializable> extends Serializable {
+ 37
+ ListResult<T> nextPage();
+ 38
+ }
+ 39
+
+ 40
+ public ListResult(NextPageFetcher<T> pageFetcher, String cursor, Iterable<T> results) {
+ 41
+ this .pageFetcher = pageFetcher;
+ 42
+ this .cursor = cursor;
+ 43
+ this .results = results;
+ 44
+ }
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ public String nextPageCursor() {
+ 50 0 return cursor;
+ 51
+ }
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+ public ListResult<T> nextPage() {
+ 57 0 if (cursor == null || pageFetcher == null ) {
+ 58 0 return null ;
+ 59
+ }
+ 60 0 return pageFetcher.nextPage();
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public Iterator<T> iterator() {
+ 65 0 return results == null ? Collections.<T>emptyIterator() : results.iterator();
+ 66
+ }
+ 67
+
+ 68
+ @Override
+ 69
+ public int hashCode() {
+ 70 0 return Objects.hash(cursor, results);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public boolean equals(Object obj) {
+ 75 0 if (!(obj instanceof ListResult)) {
+ 76 0 return false ;
+ 77
+ }
+ 78 0 ListResult<?> other = (ListResult<?>) obj;
+ 79 0 return Objects.equals(cursor, other.cursor)
+ 80 0 && Objects.equals(results, other.results);
+ 81
+ }
+ 82
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.Option.html b/site/0.0.7/cobertura/com.google.gcloud.storage.Option.html
new file mode 100644
index 000000000000..64a58276e57d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.Option.html
@@ -0,0 +1,152 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Option
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.common.base.MoreObjects;
+ 22
+ import com.google.gcloud.spi.StorageRpc;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.Objects;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ class Option implements Serializable {
+ 31
+
+ 32
+ private static final long serialVersionUID = -73199088766477208L;
+ 33
+
+ 34
+ private final StorageRpc.Option rpcOption;
+ 35
+ private final Object value;
+ 36
+
+ 37 0 Option(StorageRpc.Option rpcOption, Object value) {
+ 38 0 this .rpcOption = checkNotNull(rpcOption);
+ 39 0 this .value = value;
+ 40 0 }
+ 41
+
+ 42
+ StorageRpc.Option rpcOption() {
+ 43 0 return rpcOption;
+ 44
+ }
+ 45
+
+ 46
+ Object value() {
+ 47 0 return value;
+ 48
+ }
+ 49
+
+ 50
+ @Override
+ 51
+ public boolean equals(Object obj) {
+ 52 0 if (!(obj instanceof Option)) {
+ 53 0 return false ;
+ 54
+ }
+ 55 0 Option other = (Option) obj;
+ 56 0 return Objects.equals(rpcOption, other.rpcOption)
+ 57 0 && Objects.equals(value, other.value);
+ 58
+ }
+ 59
+
+ 60
+ @Override
+ 61
+ public int hashCode() {
+ 62 0 return Objects.hash(rpcOption, value);
+ 63
+ }
+ 64
+
+ 65
+ @Override
+ 66
+ public String toString() {
+ 67 0 return MoreObjects.toStringHelper(this )
+ 68 0 .add("name" , rpcOption.value())
+ 69 0 .add("value" , value)
+ 70 0 .toString();
+ 71
+ }
+ 72
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.Storage.html b/site/0.0.7/cobertura/com.google.gcloud.storage.Storage.html
new file mode 100644
index 000000000000..84631d2ef44d
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.Storage.html
@@ -0,0 +1,1131 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Storage
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.common.collect.ImmutableList;
+ 23
+ import com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials;
+ 24
+ import com.google.gcloud.Service;
+ 25
+ import com.google.gcloud.spi.StorageRpc;
+ 26
+
+ 27
+ import java.io.Serializable;
+ 28
+ import java.net.URL;
+ 29
+ import java.util.Arrays;
+ 30
+ import java.util.Collections;
+ 31
+ import java.util.LinkedHashSet;
+ 32
+ import java.util.LinkedList;
+ 33
+ import java.util.List;
+ 34
+ import java.util.Set;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public interface Storage extends Service<StorageOptions> {
+ 42
+
+ 43 0 enum PredefinedAcl {
+ 44 0 AUTHENTICATED_READ("authenticatedRead" ),
+ 45 0 ALL_AUTHENTICATED_USERS("allAuthenticatedUsers" ),
+ 46 0 PRIVATE("private" ),
+ 47 0 PROJECT_PRIVATE("projectPrivate" ),
+ 48 0 PUBLIC_READ("publicRead" ),
+ 49 0 PUBLIC_READ_WRITE("publicReadWrite" ),
+ 50 0 BUCKET_OWNER_READ("bucketOwnerRead" ),
+ 51 0 BUCKET_OWNER_FULL_CONTROL("bucketOwnerFullControl" );
+ 52
+
+ 53
+ private final String entry;
+ 54
+
+ 55
+ PredefinedAcl(String entry) {
+ 56
+ this .entry = entry;
+ 57
+ }
+ 58
+
+ 59
+ String entry() {
+ 60 0 return entry;
+ 61
+ }
+ 62
+ }
+ 63
+
+ 64 0 class BucketTargetOption extends Option {
+ 65
+
+ 66
+ private static final long serialVersionUID = -5880204616982900975L;
+ 67
+
+ 68
+ private BucketTargetOption(StorageRpc.Option rpcOption, Object value) {
+ 69
+ super (rpcOption, value);
+ 70
+ }
+ 71
+
+ 72
+ private BucketTargetOption(StorageRpc.Option rpcOption) {
+ 73 0 this (rpcOption, null );
+ 74 0 }
+ 75
+
+ 76
+ public static BucketTargetOption predefinedAcl(PredefinedAcl acl) {
+ 77 0 return new BucketTargetOption(StorageRpc.Option.PREDEFINED_ACL, acl.entry());
+ 78
+ }
+ 79
+
+ 80
+ public static BucketTargetOption predefinedDefaultObjectAcl(PredefinedAcl acl) {
+ 81 0 return new BucketTargetOption(StorageRpc.Option.PREDEFINED_DEFAULT_OBJECT_ACL, acl.entry());
+ 82
+ }
+ 83
+
+ 84
+ public static BucketTargetOption metagenerationMatch() {
+ 85 0 return new BucketTargetOption(StorageRpc.Option.IF_METAGENERATION_MATCH);
+ 86
+ }
+ 87
+
+ 88
+ public static BucketTargetOption metagenerationNotMatch() {
+ 89 0 return new BucketTargetOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH);
+ 90
+ }
+ 91
+ }
+ 92
+
+ 93 0 class BucketSourceOption extends Option {
+ 94
+
+ 95
+ private static final long serialVersionUID = 5185657617120212117L;
+ 96
+
+ 97
+ private BucketSourceOption(StorageRpc.Option rpcOption, long metageneration) {
+ 98 0 super (rpcOption, metageneration);
+ 99 0 }
+ 100
+
+ 101
+ public static BucketSourceOption metagenerationMatch(long metageneration) {
+ 102 0 return new BucketSourceOption(StorageRpc.Option.IF_METAGENERATION_MATCH, metageneration);
+ 103
+ }
+ 104
+
+ 105
+ public static BucketSourceOption metagenerationNotMatch(long metageneration) {
+ 106 0 return new BucketSourceOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH, metageneration);
+ 107
+ }
+ 108
+ }
+ 109
+
+ 110 0 class BlobTargetOption extends Option {
+ 111
+
+ 112
+ private static final long serialVersionUID = 214616862061934846L;
+ 113
+
+ 114
+ private BlobTargetOption(StorageRpc.Option rpcOption, Object value) {
+ 115
+ super (rpcOption, value);
+ 116
+ }
+ 117
+
+ 118
+ private BlobTargetOption(StorageRpc.Option rpcOption) {
+ 119 0 this (rpcOption, null );
+ 120 0 }
+ 121
+
+ 122
+ public static BlobTargetOption predefinedAcl(PredefinedAcl acl) {
+ 123 0 return new BlobTargetOption(StorageRpc.Option.PREDEFINED_ACL, acl.entry());
+ 124
+ }
+ 125
+
+ 126
+ public static BlobTargetOption doesNotExist() {
+ 127 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_MATCH, 0L);
+ 128
+ }
+ 129
+
+ 130
+ public static BlobTargetOption generationMatch() {
+ 131 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_MATCH);
+ 132
+ }
+ 133
+
+ 134
+ public static BlobTargetOption generationNotMatch() {
+ 135 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_NOT_MATCH);
+ 136
+ }
+ 137
+
+ 138
+ public static BlobTargetOption metagenerationMatch() {
+ 139 0 return new BlobTargetOption(StorageRpc.Option.IF_METAGENERATION_MATCH);
+ 140
+ }
+ 141
+
+ 142
+ public static BlobTargetOption metagenerationNotMatch() {
+ 143 0 return new BlobTargetOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH);
+ 144
+ }
+ 145
+ }
+ 146
+
+ 147 0 class BlobSourceOption extends Option {
+ 148
+
+ 149
+ private static final long serialVersionUID = -3712768261070182991L;
+ 150
+
+ 151
+ private BlobSourceOption(StorageRpc.Option rpcOption, long value) {
+ 152 0 super (rpcOption, value);
+ 153 0 }
+ 154
+
+ 155
+ public static BlobSourceOption generationMatch(long generation) {
+ 156 0 return new BlobSourceOption(StorageRpc.Option.IF_GENERATION_MATCH, generation);
+ 157
+ }
+ 158
+
+ 159
+ public static BlobSourceOption generationNotMatch(long generation) {
+ 160 0 return new BlobSourceOption(StorageRpc.Option.IF_GENERATION_NOT_MATCH, generation);
+ 161
+ }
+ 162
+
+ 163
+ public static BlobSourceOption metagenerationMatch(long metageneration) {
+ 164 0 return new BlobSourceOption(StorageRpc.Option.IF_METAGENERATION_MATCH, metageneration);
+ 165
+ }
+ 166
+
+ 167
+ public static BlobSourceOption metagenerationNotMatch(long metageneration) {
+ 168 0 return new BlobSourceOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH, metageneration);
+ 169
+ }
+ 170
+ }
+ 171
+
+ 172 0 class BucketListOption extends Option {
+ 173
+
+ 174
+ private static final long serialVersionUID = 8754017079673290353L;
+ 175
+
+ 176
+ private BucketListOption(StorageRpc.Option option, Object value) {
+ 177
+ super (option, value);
+ 178
+ }
+ 179
+
+ 180
+ public static BucketListOption maxResults(long maxResults) {
+ 181 0 return new BucketListOption(StorageRpc.Option.MAX_RESULTS, maxResults);
+ 182
+ }
+ 183
+
+ 184
+ public static BucketListOption startPageToken(String pageToken) {
+ 185 0 return new BucketListOption(StorageRpc.Option.PAGE_TOKEN, pageToken);
+ 186
+ }
+ 187
+
+ 188
+ public static BucketListOption prefix(String prefix) {
+ 189 0 return new BucketListOption(StorageRpc.Option.PREFIX, prefix);
+ 190
+ }
+ 191
+ }
+ 192
+
+ 193 0 class BlobListOption extends Option {
+ 194
+
+ 195
+ private static final long serialVersionUID = 9083383524788661294L;
+ 196
+
+ 197
+ private BlobListOption(StorageRpc.Option option, Object value) {
+ 198
+ super (option, value);
+ 199
+ }
+ 200
+
+ 201
+ public static BlobListOption maxResults(long maxResults) {
+ 202 0 return new BlobListOption(StorageRpc.Option.MAX_RESULTS, maxResults);
+ 203
+ }
+ 204
+
+ 205
+ public static BlobListOption startPageToken(String pageToken) {
+ 206 0 return new BlobListOption(StorageRpc.Option.PAGE_TOKEN, pageToken);
+ 207
+ }
+ 208
+
+ 209
+ public static BlobListOption prefix(String prefix) {
+ 210 0 return new BlobListOption(StorageRpc.Option.PREFIX, prefix);
+ 211
+ }
+ 212
+
+ 213
+ public static BlobListOption recursive(boolean recursive) {
+ 214 0 return new BlobListOption(StorageRpc.Option.DELIMITER, recursive);
+ 215
+ }
+ 216
+ }
+ 217
+
+ 218
+ class SignUrlOption implements Serializable {
+ 219
+
+ 220
+ private static final long serialVersionUID = 7850569877451099267L;
+ 221
+
+ 222
+ private final Option option;
+ 223
+ private final Object value;
+ 224
+
+ 225 0 enum Option {
+ 226 0 HTTP_METHOD, CONTENT_TYPE, MD5, SERVICE_ACCOUNT_CRED;
+ 227
+ }
+ 228
+
+ 229
+ private SignUrlOption(Option option, Object value) {
+ 230
+ this .option = option;
+ 231
+ this .value = value;
+ 232
+ }
+ 233
+
+ 234
+ Option option() {
+ 235 0 return option;
+ 236
+ }
+ 237
+
+ 238
+ Object value() {
+ 239 0 return value;
+ 240
+ }
+ 241
+
+ 242
+
+ 243
+
+ 244
+
+ 245
+ public static SignUrlOption httpMethod(HttpMethod httpMethod) {
+ 246 0 return new SignUrlOption(Option.HTTP_METHOD, httpMethod.name());
+ 247
+ }
+ 248
+
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+ public static SignUrlOption withContentType() {
+ 254 0 return new SignUrlOption(Option.CONTENT_TYPE, true );
+ 255
+ }
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+ public static SignUrlOption withMd5() {
+ 262 0 return new SignUrlOption(Option.MD5, true );
+ 263
+ }
+ 264
+
+ 265
+
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
+
+ 271
+
+ 272
+ public static SignUrlOption serviceAccount(ServiceAccountAuthCredentials credentials) {
+ 273 0 return new SignUrlOption(Option.SERVICE_ACCOUNT_CRED, credentials);
+ 274
+ }
+ 275
+ }
+ 276
+
+ 277 0 class ComposeRequest implements Serializable {
+ 278
+
+ 279
+ private static final long serialVersionUID = -7385681353748590911L;
+ 280
+
+ 281
+ private final List<SourceBlob> sourceBlobs;
+ 282
+ private final BlobInfo target;
+ 283
+ private final List<BlobTargetOption> targetOptions;
+ 284
+
+ 285
+ public static class SourceBlob implements Serializable {
+ 286
+
+ 287
+ private static final long serialVersionUID = 4094962795951990439L;
+ 288
+
+ 289
+ final String name;
+ 290
+ final Long generation;
+ 291
+
+ 292
+ SourceBlob(String name) {
+ 293 0 this (name, null );
+ 294 0 }
+ 295
+
+ 296
+ SourceBlob(String name, Long generation) {
+ 297
+ this .name = name;
+ 298
+ this .generation = generation;
+ 299
+ }
+ 300
+
+ 301
+ public String name() {
+ 302 0 return name;
+ 303
+ }
+ 304
+
+ 305
+ public Long generation() {
+ 306 0 return generation;
+ 307
+ }
+ 308
+ }
+ 309
+
+ 310 0 public static class Builder {
+ 311
+
+ 312 0 private final List<SourceBlob> sourceBlobs = new LinkedList<>();
+ 313
+ private BlobInfo target;
+ 314 0 private final Set<BlobTargetOption> targetOptions = new LinkedHashSet<>();
+ 315
+
+ 316
+ public Builder addSource(Iterable<String> blobs) {
+ 317 0 for (String blob : blobs) {
+ 318 0 sourceBlobs.add(new SourceBlob(blob));
+ 319 0 }
+ 320 0 return this ;
+ 321
+ }
+ 322
+
+ 323
+ public Builder addSource(String... blobs) {
+ 324 0 return addSource(Arrays.asList(blobs));
+ 325
+ }
+ 326
+
+ 327
+
+ 328
+
+ 329
+
+ 330
+ public Builder addSource(String blob, long generation) {
+ 331 0 sourceBlobs.add(new SourceBlob(blob, generation));
+ 332 0 return this ;
+ 333
+ }
+ 334
+
+ 335
+ public Builder target(BlobInfo target) {
+ 336 0 this .target = target;
+ 337 0 return this ;
+ 338
+ }
+ 339
+
+ 340
+ public Builder targetOptions(BlobTargetOption... options) {
+ 341 0 Collections.addAll(targetOptions, options);
+ 342 0 return this ;
+ 343
+ }
+ 344
+
+ 345
+ public ComposeRequest build() {
+ 346 0 checkArgument(!sourceBlobs.isEmpty());
+ 347 0 checkNotNull(target);
+ 348 0 return new ComposeRequest(this );
+ 349
+ }
+ 350
+ }
+ 351
+
+ 352 0 private ComposeRequest(Builder builder) {
+ 353 0 sourceBlobs = ImmutableList.copyOf(builder.sourceBlobs);
+ 354 0 target = builder.target;
+ 355 0 targetOptions = ImmutableList.copyOf(builder.targetOptions);
+ 356 0 }
+ 357
+
+ 358
+ public List<SourceBlob> sourceBlobs() {
+ 359 0 return sourceBlobs;
+ 360
+ }
+ 361
+
+ 362
+ public BlobInfo target() {
+ 363 0 return target;
+ 364
+ }
+ 365
+
+ 366
+ public List<BlobTargetOption> targetOptions() {
+ 367 0 return targetOptions;
+ 368
+ }
+ 369
+
+ 370
+ public static ComposeRequest of(Iterable<String> sources, BlobInfo target) {
+ 371 0 return builder().target(target).addSource(sources).build();
+ 372
+ }
+ 373
+
+ 374
+ public static ComposeRequest of(String bucket, Iterable<String> sources, String target) {
+ 375 0 return of(sources, BlobInfo.of(bucket, target));
+ 376
+ }
+ 377
+
+ 378
+ public static Builder builder() {
+ 379 0 return new Builder();
+ 380
+ }
+ 381
+ }
+ 382
+
+ 383 0 class CopyRequest implements Serializable {
+ 384
+
+ 385
+ private static final long serialVersionUID = -2606508373751748775L;
+ 386
+
+ 387
+ private final String sourceBucket;
+ 388
+ private final String sourceBlob;
+ 389
+ private final List<BlobSourceOption> sourceOptions;
+ 390
+ private final BlobInfo target;
+ 391
+ private final List<BlobTargetOption> targetOptions;
+ 392
+
+ 393 0 public static class Builder {
+ 394
+
+ 395
+ private String sourceBucket;
+ 396
+ private String sourceBlob;
+ 397 0 private final Set<BlobSourceOption> sourceOptions = new LinkedHashSet<>();
+ 398
+ private BlobInfo target;
+ 399 0 private final Set<BlobTargetOption> targetOptions = new LinkedHashSet<>();
+ 400
+
+ 401
+ public Builder source(String bucket, String blob) {
+ 402 0 this .sourceBucket = bucket;
+ 403 0 this .sourceBlob = blob;
+ 404 0 return this ;
+ 405
+ }
+ 406
+
+ 407
+ public Builder sourceOptions(BlobSourceOption... options) {
+ 408 0 Collections.addAll(sourceOptions, options);
+ 409 0 return this ;
+ 410
+ }
+ 411
+
+ 412
+ public Builder target(BlobInfo target) {
+ 413 0 this .target = target;
+ 414 0 return this ;
+ 415
+ }
+ 416
+
+ 417
+ public Builder targetOptions(BlobTargetOption... options) {
+ 418 0 Collections.addAll(targetOptions, options);
+ 419 0 return this ;
+ 420
+ }
+ 421
+
+ 422
+ public CopyRequest build() {
+ 423 0 checkNotNull(sourceBucket);
+ 424 0 checkNotNull(sourceBlob);
+ 425 0 checkNotNull(target);
+ 426 0 return new CopyRequest(this );
+ 427
+ }
+ 428
+ }
+ 429
+
+ 430 0 private CopyRequest(Builder builder) {
+ 431 0 sourceBucket = checkNotNull(builder.sourceBucket);
+ 432 0 sourceBlob = checkNotNull(builder.sourceBlob);
+ 433 0 sourceOptions = ImmutableList.copyOf(builder.sourceOptions);
+ 434 0 target = checkNotNull(builder.target);
+ 435 0 targetOptions = ImmutableList.copyOf(builder.targetOptions);
+ 436 0 }
+ 437
+
+ 438
+ public String sourceBucket() {
+ 439 0 return sourceBucket;
+ 440
+ }
+ 441
+
+ 442
+ public String sourceBlob() {
+ 443 0 return sourceBlob;
+ 444
+ }
+ 445
+
+ 446
+ public List<BlobSourceOption> sourceOptions() {
+ 447 0 return sourceOptions;
+ 448
+ }
+ 449
+
+ 450
+ public BlobInfo target() {
+ 451 0 return target;
+ 452
+ }
+ 453
+
+ 454
+ public List<BlobTargetOption> targetOptions() {
+ 455 0 return targetOptions;
+ 456
+ }
+ 457
+
+ 458
+ public static CopyRequest of(String sourceBucket, String sourceBlob, BlobInfo target) {
+ 459 0 return builder().source(sourceBucket, sourceBlob).target(target).build();
+ 460
+ }
+ 461
+
+ 462
+ public static CopyRequest of(String sourceBucket, String sourceBlob, String targetBlob) {
+ 463 0 return of(sourceBucket, sourceBlob, BlobInfo.of(sourceBucket, targetBlob));
+ 464
+ }
+ 465
+
+ 466
+ public static Builder builder() {
+ 467 0 return new Builder();
+ 468
+ }
+ 469
+ }
+ 470
+
+ 471
+
+ 472
+
+ 473
+
+ 474
+
+ 475
+
+ 476
+
+ 477
+ BucketInfo create(BucketInfo bucketInfo, BucketTargetOption... options);
+ 478
+
+ 479
+
+ 480
+
+ 481
+
+ 482
+
+ 483
+
+ 484
+
+ 485
+ BlobInfo create(BlobInfo blobInfo, byte [] content, BlobTargetOption... options);
+ 486
+
+ 487
+
+ 488
+
+ 489
+
+ 490
+
+ 491
+
+ 492
+ BucketInfo get(String bucket, BucketSourceOption... options);
+ 493
+
+ 494
+
+ 495
+
+ 496
+
+ 497
+
+ 498
+
+ 499
+ BlobInfo get(String bucket, String blob, BlobSourceOption... options);
+ 500
+
+ 501
+
+ 502
+
+ 503
+
+ 504
+
+ 505
+
+ 506
+ ListResult<BucketInfo> list(BucketListOption... options);
+ 507
+
+ 508
+
+ 509
+
+ 510
+
+ 511
+
+ 512
+
+ 513
+ ListResult<BlobInfo> list(String bucket, BlobListOption... options);
+ 514
+
+ 515
+
+ 516
+
+ 517
+
+ 518
+
+ 519
+
+ 520
+
+ 521
+ BucketInfo update(BucketInfo bucketInfo, BucketTargetOption... options);
+ 522
+
+ 523
+
+ 524
+
+ 525
+
+ 526
+
+ 527
+
+ 528
+
+ 529
+ BlobInfo update(BlobInfo blobInfo, BlobTargetOption... options);
+ 530
+
+ 531
+
+ 532
+
+ 533
+
+ 534
+
+ 535
+
+ 536
+
+ 537
+ boolean delete(String bucket, BucketSourceOption... options);
+ 538
+
+ 539
+
+ 540
+
+ 541
+
+ 542
+
+ 543
+
+ 544
+
+ 545
+ boolean delete(String bucket, String blob, BlobSourceOption... options);
+ 546
+
+ 547
+
+ 548
+
+ 549
+
+ 550
+
+ 551
+
+ 552
+
+ 553
+ BlobInfo compose(ComposeRequest composeRequest);
+ 554
+
+ 555
+
+ 556
+
+ 557
+
+ 558
+
+ 559
+
+ 560
+
+ 561
+ BlobInfo copy(CopyRequest copyRequest);
+ 562
+
+ 563
+
+ 564
+
+ 565
+
+ 566
+
+ 567
+
+ 568
+
+ 569
+ byte [] readAllBytes(String bucket, String blob, BlobSourceOption... options);
+ 570
+
+ 571
+
+ 572
+
+ 573
+
+ 574
+
+ 575
+
+ 576
+
+ 577
+ BatchResponse apply(BatchRequest batchRequest);
+ 578
+
+ 579
+
+ 580
+
+ 581
+
+ 582
+
+ 583
+
+ 584
+ BlobReadChannel reader(String bucket, String blob, BlobSourceOption... options);
+ 585
+
+ 586
+
+ 587
+
+ 588
+
+ 589
+
+ 590
+
+ 591
+ BlobWriteChannel writer(BlobInfo blobInfo, BlobTargetOption... options);
+ 592
+
+ 593
+
+ 594
+
+ 595
+
+ 596
+
+ 597
+
+ 598
+
+ 599
+
+ 600
+
+ 601
+
+ 602
+
+ 603
+
+ 604
+
+ 605
+ URL signUrl(BlobInfo blobInfo, long expirationTimeInSeconds, SignUrlOption... options);
+ 606
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.StorageException.html b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageException.html
new file mode 100644
index 000000000000..abad47567fa3
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageException.html
@@ -0,0 +1,118 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public class StorageException extends RuntimeException {
+ 26
+
+ 27
+ private static final long serialVersionUID = -3748432005065428084L;
+ 28
+
+ 29
+ private final int code;
+ 30
+ private final boolean retryable;
+ 31
+
+ 32
+ public StorageException(int code, String message, boolean retryable) {
+ 33
+ super (message);
+ 34
+ this .code = code;
+ 35
+ this .retryable = retryable;
+ 36
+ }
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public int code() {
+ 42 0 return code;
+ 43
+ }
+ 44
+
+ 45
+ public boolean retryable() {
+ 46 0 return retryable;
+ 47
+ }
+ 48
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.StorageFactory.html b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageFactory.html
new file mode 100644
index 000000000000..a2d306304247
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageFactory.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public abstract class StorageFactory {
+ 24
+
+ 25 0 private static final StorageFactory INSTANCE = new StorageFactory() {
+ 26
+ @Override
+ 27
+ public Storage get(StorageOptions options) {
+ 28 0 return new StorageImpl(options);
+ 29
+ }
+ 30
+ };
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ public static StorageFactory instance() {
+ 36 0 return INSTANCE;
+ 37
+ }
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+ public abstract Storage get(StorageOptions options);
+ 43
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.StorageImpl.html b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageImpl.html
new file mode 100644
index 000000000000..071529638081
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageImpl.html
@@ -0,0 +1,931 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkArgument;
+ 21
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 22
+ import static com.google.gcloud.spi.StorageRpc.Option.DELIMITER;
+ 23
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_MATCH;
+ 24
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_NOT_MATCH;
+ 25
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_MATCH;
+ 26
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_NOT_MATCH;
+ 27
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_MATCH;
+ 28
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_NOT_MATCH;
+ 29
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_MATCH;
+ 30
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_NOT_MATCH;
+ 31
+ import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
+ 32
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 33
+
+ 34
+ import com.google.api.services.storage.model.StorageObject;
+ 35
+ import com.google.common.base.Function;
+ 36
+ import com.google.common.base.Functions;
+ 37
+ import com.google.common.collect.ImmutableMap;
+ 38
+ import com.google.common.collect.Iterables;
+ 39
+ import com.google.common.collect.Lists;
+ 40
+ import com.google.common.collect.Maps;
+ 41
+ import com.google.common.collect.Sets;
+ 42
+ import com.google.common.io.BaseEncoding;
+ 43
+ import com.google.common.primitives.Ints;
+ 44
+ import com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials;
+ 45
+ import com.google.gcloud.BaseService;
+ 46
+ import com.google.gcloud.ExceptionHandler;
+ 47
+ import com.google.gcloud.ExceptionHandler.Interceptor;
+ 48
+ import com.google.gcloud.spi.StorageRpc;
+ 49
+ import com.google.gcloud.spi.StorageRpc.Tuple;
+ 50
+
+ 51
+ import java.io.Serializable;
+ 52
+ import java.io.UnsupportedEncodingException;
+ 53
+ import java.net.MalformedURLException;
+ 54
+ import java.net.URL;
+ 55
+ import java.net.URLEncoder;
+ 56
+ import java.security.InvalidKeyException;
+ 57
+ import java.security.NoSuchAlgorithmException;
+ 58
+ import java.security.Signature;
+ 59
+ import java.security.SignatureException;
+ 60
+ import java.util.Arrays;
+ 61
+ import java.util.EnumMap;
+ 62
+ import java.util.List;
+ 63
+ import java.util.Map;
+ 64
+ import java.util.Set;
+ 65
+ import java.util.concurrent.Callable;
+ 66
+
+ 67 0 final class StorageImpl extends BaseService<StorageOptions> implements Storage {
+ 68
+
+ 69 0 private static final Interceptor EXCEPTION_HANDLER_INTERCEPTOR = new Interceptor() {
+ 70
+
+ 71
+ private static final long serialVersionUID = -7758580330857881124L;
+ 72
+
+ 73
+ @Override
+ 74
+ public RetryResult afterEval(Exception exception, RetryResult retryResult) {
+ 75 0 return null ;
+ 76
+ }
+ 77
+
+ 78
+ @Override
+ 79
+ public RetryResult beforeEval(Exception exception) {
+ 80 0 if (exception instanceof StorageException) {
+ 81 0 boolean retriable = ((StorageException) exception).retryable();
+ 82 0 return retriable ? Interceptor.RetryResult.RETRY : Interceptor.RetryResult.ABORT;
+ 83
+ }
+ 84 0 return null ;
+ 85
+ }
+ 86
+ };
+ 87 0 static final ExceptionHandler EXCEPTION_HANDLER = ExceptionHandler.builder()
+ 88 0 .abortOn(RuntimeException.class ).interceptor(EXCEPTION_HANDLER_INTERCEPTOR).build();
+ 89 0 private static final byte [] EMPTY_BYTE_ARRAY = {};
+ 90
+
+ 91
+ private final StorageRpc storageRpc;
+ 92
+
+ 93
+ StorageImpl(StorageOptions options) {
+ 94 0 super (options);
+ 95 0 storageRpc = options.storageRpc();
+ 96
+
+ 97
+
+ 98
+
+ 99 0 }
+ 100
+
+ 101
+ @Override
+ 102
+ public BucketInfo create(BucketInfo bucketInfo, BucketTargetOption... options) {
+ 103 0 final com.google.api.services.storage.model.Bucket bucketPb = bucketInfo.toPb();
+ 104 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(bucketInfo, options);
+ 105 0 return BucketInfo.fromPb(runWithRetries(
+ 106 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 107
+ @Override
+ 108
+ public com.google.api.services.storage.model.Bucket call() {
+ 109 0 return storageRpc.create(bucketPb, optionsMap);
+ 110
+ }
+ 111 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public BlobInfo create(BlobInfo blobInfo, final byte [] content, BlobTargetOption... options) {
+ 116 0 final StorageObject blobPb = blobInfo.toPb();
+ 117 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 118 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 119
+ @Override
+ 120
+ public StorageObject call() {
+ 121 0 return storageRpc.create(blobPb, firstNonNull(content, EMPTY_BYTE_ARRAY), optionsMap);
+ 122
+ }
+ 123 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 124
+ }
+ 125
+
+ 126
+ @Override
+ 127
+ public BucketInfo get(String bucket, BucketSourceOption... options) {
+ 128 0 final com.google.api.services.storage.model.Bucket bucketPb = BucketInfo.of(bucket).toPb();
+ 129 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 130 0 com.google.api.services.storage.model.Bucket answer = runWithRetries(
+ 131 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 132
+ @Override
+ 133
+ public com.google.api.services.storage.model.Bucket call() {
+ 134
+ try {
+ 135 0 return storageRpc.get(bucketPb, optionsMap);
+ 136 0 } catch (StorageException ex) {
+ 137 0 if (ex.code() == HTTP_NOT_FOUND) {
+ 138 0 return null ;
+ 139
+ }
+ 140 0 throw ex;
+ 141
+ }
+ 142
+ }
+ 143 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 144 0 return answer == null ? null : BucketInfo.fromPb(answer);
+ 145
+ }
+ 146
+
+ 147
+ @Override
+ 148
+ public BlobInfo get(String bucket, String blob, BlobSourceOption... options) {
+ 149 0 final StorageObject storedObject = BlobInfo.of(bucket, blob).toPb();
+ 150 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 151 0 StorageObject storageObject = runWithRetries(new Callable<StorageObject>() {
+ 152
+ @Override
+ 153
+ public StorageObject call() {
+ 154
+ try {
+ 155 0 return storageRpc.get(storedObject, optionsMap);
+ 156 0 } catch (StorageException ex) {
+ 157 0 if (ex.code() == HTTP_NOT_FOUND) {
+ 158 0 return null ;
+ 159
+ }
+ 160 0 throw ex;
+ 161
+ }
+ 162
+ }
+ 163 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 164 0 return storageObject == null ? null : BlobInfo.fromPb(storageObject);
+ 165
+ }
+ 166
+
+ 167
+ private static abstract class BasePageFetcher<T extends Serializable>
+ 168
+ implements ListResult.NextPageFetcher<T> {
+ 169
+
+ 170
+ private static final long serialVersionUID = 8236329004030295223L;
+ 171
+ protected final Map<StorageRpc.Option, ?> requestOptions;
+ 172
+ protected final StorageOptions serviceOptions;
+ 173
+
+ 174
+ BasePageFetcher(StorageOptions serviceOptions, String cursor,
+ 175 0 Map<StorageRpc.Option, ?> optionMap) {
+ 176 0 this .serviceOptions = serviceOptions;
+ 177 0 ImmutableMap.Builder<StorageRpc.Option, Object> builder = ImmutableMap.builder();
+ 178 0 if (cursor != null ) {
+ 179 0 builder.put(StorageRpc.Option.PAGE_TOKEN, cursor);
+ 180
+ }
+ 181 0 for (Map.Entry<StorageRpc.Option, ?> option : optionMap.entrySet()) {
+ 182 0 if (option.getKey() != StorageRpc.Option.PAGE_TOKEN) {
+ 183 0 builder.put(option.getKey(), option.getValue());
+ 184
+ }
+ 185 0 }
+ 186 0 this .requestOptions = builder.build();
+ 187 0 }
+ 188
+ }
+ 189
+
+ 190
+ private static class BucketPageFetcher extends BasePageFetcher<BucketInfo> {
+ 191
+
+ 192
+ private static final long serialVersionUID = -5490616010200159174L;
+ 193
+
+ 194
+ BucketPageFetcher(StorageOptions serviceOptions, String cursor,
+ 195
+ Map<StorageRpc.Option, ?> optionMap) {
+ 196
+ super (serviceOptions, cursor, optionMap);
+ 197
+ }
+ 198
+
+ 199
+ @Override
+ 200
+ public ListResult<BucketInfo> nextPage() {
+ 201 0 return listBuckets(serviceOptions, requestOptions);
+ 202
+ }
+ 203
+ }
+ 204
+
+ 205
+ private static class BlobPageFetcher extends BasePageFetcher<BlobInfo> {
+ 206
+
+ 207
+ private static final long serialVersionUID = -5490616010200159174L;
+ 208
+ private final String bucket;
+ 209
+
+ 210
+ BlobPageFetcher(String bucket, StorageOptions serviceOptions, String cursor,
+ 211
+ Map<StorageRpc.Option, ?> optionMap) {
+ 212
+ super (serviceOptions, cursor, optionMap);
+ 213
+ this .bucket = bucket;
+ 214
+ }
+ 215
+
+ 216
+ @Override
+ 217
+ public ListResult<BlobInfo> nextPage() {
+ 218 0 return listBlobs(bucket, serviceOptions, requestOptions);
+ 219
+ }
+ 220
+ }
+ 221
+
+ 222
+ @Override
+ 223
+ public ListResult<BucketInfo> list(BucketListOption... options) {
+ 224 0 return listBuckets(options(), optionMap(options));
+ 225
+ }
+ 226
+
+ 227
+ private static ListResult<BucketInfo> listBuckets(final StorageOptions serviceOptions,
+ 228
+ final Map<StorageRpc.Option, ?> optionsMap) {
+ 229 0 Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>> result = runWithRetries(
+ 230 0 new Callable<Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>>>() {
+ 231
+ @Override
+ 232
+ public Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>> call() {
+ 233 0 return serviceOptions.storageRpc().list(optionsMap);
+ 234
+ }
+ 235 0 }, serviceOptions.retryParams(), EXCEPTION_HANDLER);
+ 236 0 String cursor = result.x();
+ 237 0 return new ListResult<>(new BucketPageFetcher(serviceOptions, cursor, optionsMap), cursor,
+ 238 0 Iterables.transform(result.y(),
+ 239 0 new Function<com.google.api.services.storage.model.Bucket, BucketInfo>() {
+ 240
+ @Override
+ 241
+ public BucketInfo apply(com.google.api.services.storage.model.Bucket bucketPb) {
+ 242 0 return BucketInfo.fromPb(bucketPb);
+ 243
+ }
+ 244
+ }));
+ 245
+ }
+ 246
+
+ 247
+ @Override
+ 248
+ public ListResult<BlobInfo> list(final String bucket, BlobListOption... options) {
+ 249 0 return listBlobs(bucket, options(), optionMap(options));
+ 250
+ }
+ 251
+
+ 252
+ private static ListResult<BlobInfo> listBlobs(final String bucket,
+ 253
+ final StorageOptions serviceOptions, final Map<StorageRpc.Option, ?> optionsMap) {
+ 254 0 Tuple<String, Iterable<StorageObject>> result = runWithRetries(
+ 255 0 new Callable<Tuple<String, Iterable<StorageObject>>>() {
+ 256
+ @Override
+ 257
+ public Tuple<String, Iterable<StorageObject>> call() {
+ 258 0 return serviceOptions.storageRpc().list(bucket, optionsMap);
+ 259
+ }
+ 260 0 }, serviceOptions.retryParams(), EXCEPTION_HANDLER);
+ 261 0 String cursor = result.x();
+ 262 0 return new ListResult<>(new BlobPageFetcher(bucket, serviceOptions, cursor, optionsMap), cursor,
+ 263 0 Iterables.transform(result.y(),
+ 264 0 new Function<StorageObject, BlobInfo>() {
+ 265
+ @Override
+ 266
+ public BlobInfo apply(StorageObject storageObject) {
+ 267 0 return BlobInfo.fromPb(storageObject);
+ 268
+ }
+ 269
+ }));
+ 270
+ }
+ 271
+
+ 272
+ @Override
+ 273
+ public BucketInfo update(BucketInfo bucketInfo, BucketTargetOption... options) {
+ 274 0 final com.google.api.services.storage.model.Bucket bucketPb = bucketInfo.toPb();
+ 275 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(bucketInfo, options);
+ 276 0 return BucketInfo.fromPb(runWithRetries(
+ 277 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 278
+ @Override
+ 279
+ public com.google.api.services.storage.model.Bucket call() {
+ 280 0 return storageRpc.patch(bucketPb, optionsMap);
+ 281
+ }
+ 282 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 283
+ }
+ 284
+
+ 285
+ @Override
+ 286
+ public BlobInfo update(BlobInfo blobInfo, BlobTargetOption... options) {
+ 287 0 final StorageObject storageObject = blobInfo.toPb();
+ 288 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 289 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 290
+ @Override
+ 291
+ public StorageObject call() {
+ 292 0 return storageRpc.patch(storageObject, optionsMap);
+ 293
+ }
+ 294 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 295
+ }
+ 296
+
+ 297
+ @Override
+ 298
+ public boolean delete(String bucket, BucketSourceOption... options) {
+ 299 0 final com.google.api.services.storage.model.Bucket bucketPb = BucketInfo.of(bucket).toPb();
+ 300 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 301 0 return runWithRetries(new Callable<Boolean>() {
+ 302
+ @Override
+ 303
+ public Boolean call() {
+ 304 0 return storageRpc.delete(bucketPb, optionsMap);
+ 305
+ }
+ 306 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 307
+ }
+ 308
+
+ 309
+ @Override
+ 310
+ public boolean delete(String bucket, String blob, BlobSourceOption... options) {
+ 311 0 final StorageObject storageObject = BlobInfo.of(bucket, blob).toPb();
+ 312 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 313 0 return runWithRetries(new Callable<Boolean>() {
+ 314
+ @Override
+ 315
+ public Boolean call() {
+ 316 0 return storageRpc.delete(storageObject, optionsMap);
+ 317
+ }
+ 318 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 319
+ }
+ 320
+
+ 321
+ @Override
+ 322
+ public BlobInfo compose(final ComposeRequest composeRequest) {
+ 323 0 final List<StorageObject> sources =
+ 324 0 Lists.newArrayListWithCapacity(composeRequest.sourceBlobs().size());
+ 325 0 for (ComposeRequest.SourceBlob sourceBlob : composeRequest.sourceBlobs()) {
+ 326 0 sources.add(BlobInfo.builder(composeRequest.target().bucket(), sourceBlob.name())
+ 327 0 .generation(sourceBlob.generation()).build().toPb());
+ 328 0 }
+ 329 0 final StorageObject target = composeRequest.target().toPb();
+ 330 0 final Map<StorageRpc.Option, ?> targetOptions = optionMap(composeRequest.target().generation(),
+ 331 0 composeRequest.target().metageneration(), composeRequest.targetOptions());
+ 332 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 333
+ @Override
+ 334
+ public StorageObject call() {
+ 335 0 return storageRpc.compose(sources, target, targetOptions);
+ 336
+ }
+ 337 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 338
+ }
+ 339
+
+ 340
+ @Override
+ 341
+ public BlobInfo copy(CopyRequest copyRequest) {
+ 342 0 final StorageObject source =
+ 343 0 BlobInfo.of(copyRequest.sourceBucket(), copyRequest.sourceBlob()).toPb();
+ 344 0 copyRequest.sourceOptions();
+ 345 0 final Map<StorageRpc.Option, ?> sourceOptions =
+ 346 0 optionMap(null , null , copyRequest.sourceOptions(), true );
+ 347 0 final StorageObject target = copyRequest.target().toPb();
+ 348 0 final Map<StorageRpc.Option, ?> targetOptions = optionMap(copyRequest.target().generation(),
+ 349 0 copyRequest.target().metageneration(), copyRequest.targetOptions());
+ 350 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 351
+ @Override
+ 352
+ public StorageObject call() {
+ 353 0 return storageRpc.copy(source, sourceOptions, target, targetOptions);
+ 354
+ }
+ 355 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 356
+ }
+ 357
+
+ 358
+ @Override
+ 359
+ public byte [] readAllBytes(String bucket, String blob, BlobSourceOption... options) {
+ 360 0 final StorageObject storageObject = BlobInfo.of(bucket, blob).toPb();
+ 361 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 362 0 return runWithRetries(new Callable<byte []>() {
+ 363
+ @Override
+ 364
+ public byte [] call() {
+ 365 0 return storageRpc.load(storageObject, optionsMap);
+ 366
+ }
+ 367 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 368
+ }
+ 369
+
+ 370
+ @Override
+ 371
+ public BatchResponse apply(BatchRequest batchRequest) {
+ 372 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toDelete =
+ 373 0 Lists.newArrayListWithCapacity(batchRequest.toDelete().size());
+ 374 0 for (Map.Entry<BlobInfo, Iterable<BlobSourceOption>> entry : batchRequest.toDelete().entrySet()) {
+ 375 0 BlobInfo blobInfo = entry.getKey();
+ 376 0 Map<StorageRpc.Option, ?> optionsMap =
+ 377 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 378 0 StorageObject storageObject = blobInfo.toPb();
+ 379 0 toDelete.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(storageObject, optionsMap));
+ 380 0 }
+ 381 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toUpdate =
+ 382 0 Lists.newArrayListWithCapacity(batchRequest.toUpdate().size());
+ 383 0 for (Map.Entry<BlobInfo, Iterable<BlobTargetOption>> entry : batchRequest.toUpdate().entrySet()) {
+ 384 0 BlobInfo blobInfo = entry.getKey();
+ 385 0 Map<StorageRpc.Option, ?> optionsMap =
+ 386 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 387 0 toUpdate.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(blobInfo.toPb(), optionsMap));
+ 388 0 }
+ 389 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toGet =
+ 390 0 Lists.newArrayListWithCapacity(batchRequest.toGet().size());
+ 391 0 for (Map.Entry<BlobInfo, Iterable<BlobSourceOption>> entry : batchRequest.toGet().entrySet()) {
+ 392 0 BlobInfo blobInfo = entry.getKey();
+ 393 0 Map<StorageRpc.Option, ?> optionsMap =
+ 394 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 395 0 toGet.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(blobInfo.toPb(), optionsMap));
+ 396 0 }
+ 397 0 StorageRpc.BatchResponse response =
+ 398 0 storageRpc.batch(new StorageRpc.BatchRequest(toDelete, toUpdate, toGet));
+ 399 0 List<BatchResponse.Result<Boolean>> deletes = transformBatchResult(
+ 400 0 toDelete, response.deletes, Functions.<Boolean>identity());
+ 401 0 List<BatchResponse.Result<BlobInfo>> updates = transformBatchResult(
+ 402
+ toUpdate, response.updates, BlobInfo.FROM_PB_FUNCTION);
+ 403 0 List<BatchResponse.Result<BlobInfo>> gets = transformBatchResult(
+ 404
+ toGet, response.gets, BlobInfo.FROM_PB_FUNCTION, HTTP_NOT_FOUND);
+ 405 0 return new BatchResponse(deletes, updates, gets);
+ 406
+ }
+ 407
+
+ 408
+ private <I, O extends Serializable> List<BatchResponse.Result<O>> transformBatchResult(
+ 409
+ Iterable<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> request,
+ 410
+ Map<StorageObject, Tuple<I, StorageException>> results, Function<I, O> transform,
+ 411
+ int ... nullOnErrorCodes) {
+ 412 0 Set nullOnErrorCodesSet = Sets.newHashSet(Ints.asList(nullOnErrorCodes));
+ 413 0 List<BatchResponse.Result<O>> response = Lists.newArrayListWithCapacity(results.size());
+ 414 0 for (Tuple<StorageObject, ?> tuple : request) {
+ 415 0 Tuple<I, StorageException> result = results.get(tuple.x());
+ 416 0 if (result.x() != null ) {
+ 417 0 response.add(BatchResponse.Result.of(transform.apply(result.x())));
+ 418
+ } else {
+ 419 0 StorageException exception = result.y();
+ 420 0 if (nullOnErrorCodesSet.contains(exception.code())) {
+ 421
+
+ 422 0 response.add(BatchResponse.Result.<O>empty());
+ 423
+ } else {
+ 424 0 response.add(new BatchResponse.Result<O>(exception));
+ 425
+ }
+ 426
+ }
+ 427 0 }
+ 428 0 return response;
+ 429
+ }
+ 430
+
+ 431
+ @Override
+ 432
+ public BlobReadChannel reader(String bucket, String blob, BlobSourceOption... options) {
+ 433 0 Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 434 0 return new BlobReadChannelImpl(options(), BlobInfo.of(bucket, blob), optionsMap);
+ 435
+ }
+ 436
+
+ 437
+ @Override
+ 438
+ public BlobWriteChannel writer(BlobInfo blobInfo, BlobTargetOption... options) {
+ 439 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 440 0 return new BlobWriterChannelImpl(options(), blobInfo, optionsMap);
+ 441
+ }
+ 442
+
+ 443
+ @Override
+ 444
+ public URL signUrl(BlobInfo blobInfo, long expiration, SignUrlOption... options) {
+ 445 0 EnumMap<SignUrlOption.Option, Object> optionMap = Maps.newEnumMap(SignUrlOption.Option.class );
+ 446 0 for (SignUrlOption option : options) {
+ 447 0 optionMap.put(option.option(), option.value());
+ 448
+ }
+ 449 0 ServiceAccountAuthCredentials cred =
+ 450 0 (ServiceAccountAuthCredentials) optionMap.get(SignUrlOption.Option.SERVICE_ACCOUNT_CRED);
+ 451 0 if (cred == null ) {
+ 452 0 checkArgument(options().authCredentials() instanceof ServiceAccountAuthCredentials,
+ 453
+ "Signing key was not provided and could not be derived" );
+ 454 0 cred = (ServiceAccountAuthCredentials) this .options().authCredentials();
+ 455
+ }
+ 456
+
+ 457 0 StringBuilder stBuilder = new StringBuilder();
+ 458 0 if (optionMap.containsKey(SignUrlOption.Option.HTTP_METHOD)) {
+ 459 0 stBuilder.append(optionMap.get(SignUrlOption.Option.HTTP_METHOD));
+ 460
+ } else {
+ 461 0 stBuilder.append(HttpMethod.GET);
+ 462
+ }
+ 463 0 stBuilder.append('\n' );
+ 464 0 if (firstNonNull((Boolean) optionMap.get(SignUrlOption.Option.MD5) , false )) {
+ 465 0 checkArgument(blobInfo.md5() != null , "Blob is missing a value for md5" );
+ 466 0 stBuilder.append(blobInfo.md5());
+ 467
+ }
+ 468 0 stBuilder.append('\n' );
+ 469 0 if (firstNonNull((Boolean) optionMap.get(SignUrlOption.Option.CONTENT_TYPE) , false )) {
+ 470 0 checkArgument(blobInfo.contentType() != null , "Blob is missing a value for content-type" );
+ 471 0 stBuilder.append(blobInfo.contentType());
+ 472
+ }
+ 473 0 stBuilder.append('\n' );
+ 474 0 stBuilder.append(expiration).append('\n' );
+ 475 0 StringBuilder path = new StringBuilder();
+ 476 0 if (!blobInfo.bucket().startsWith("/" )) {
+ 477 0 path.append('/' );
+ 478
+ }
+ 479 0 path.append(blobInfo.bucket());
+ 480 0 if (!blobInfo.bucket().endsWith("/" )) {
+ 481 0 path.append('/' );
+ 482
+ }
+ 483 0 if (blobInfo.name().startsWith("/" )) {
+ 484 0 path.setLength(stBuilder.length() - 1);
+ 485
+ }
+ 486 0 path.append(blobInfo.name());
+ 487 0 stBuilder.append(path);
+ 488
+ try {
+ 489 0 Signature signer = Signature.getInstance("SHA256withRSA" );
+ 490 0 signer.initSign(cred.privateKey());
+ 491 0 signer.update(stBuilder.toString().getBytes(UTF_8));
+ 492
+ String signature =
+ 493 0 URLEncoder.encode(BaseEncoding.base64().encode(signer.sign()), UTF_8.name());
+ 494 0 stBuilder = new StringBuilder("https://storage.googleapis.com" ).append(path);
+ 495 0 stBuilder.append("?GoogleAccessId=" ).append(cred.account());
+ 496 0 stBuilder.append("&Expires=" ).append(expiration);
+ 497 0 stBuilder.append("&Signature=" ).append(signature);
+ 498 0 return new URL(stBuilder.toString());
+ 499 0 } catch (MalformedURLException | NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ 500 0 throw new IllegalStateException(e);
+ 501 0 } catch (SignatureException | InvalidKeyException e) {
+ 502 0 throw new IllegalArgumentException("Invalid service account private key" );
+ 503
+ }
+ 504
+ }
+ 505
+
+ 506
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 507
+ Iterable<? extends Option> options) {
+ 508 0 return optionMap(generation, metaGeneration, options, false );
+ 509
+ }
+ 510
+
+ 511
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 512
+ Iterable<? extends Option> options, boolean useAsSource) {
+ 513 0 Map<StorageRpc.Option, Object> temp = Maps.newEnumMap(StorageRpc.Option.class );
+ 514 0 for (Option option : options) {
+ 515 0 Object prev = temp.put(option.rpcOption(), option.value());
+ 516 0 checkArgument(prev == null , "Duplicate option %s" , option);
+ 517 0 }
+ 518 0 Boolean value = (Boolean) temp.remove(DELIMITER);
+ 519 0 if (Boolean.TRUE.equals(value)) {
+ 520 0 temp.put(DELIMITER, options().pathDelimiter());
+ 521
+ }
+ 522 0 if (useAsSource) {
+ 523 0 addToOptionMap(IF_GENERATION_MATCH, IF_SOURCE_GENERATION_MATCH, generation, temp);
+ 524 0 addToOptionMap(IF_GENERATION_NOT_MATCH, IF_SOURCE_GENERATION_NOT_MATCH, generation, temp);
+ 525 0 addToOptionMap(IF_METAGENERATION_MATCH, IF_SOURCE_METAGENERATION_MATCH, metaGeneration, temp);
+ 526 0 addToOptionMap(IF_METAGENERATION_NOT_MATCH,
+ 527
+ IF_SOURCE_METAGENERATION_NOT_MATCH, metaGeneration, temp);
+ 528
+ } else {
+ 529 0 addToOptionMap(IF_GENERATION_MATCH, generation, temp);
+ 530 0 addToOptionMap(IF_GENERATION_NOT_MATCH, generation, temp);
+ 531 0 addToOptionMap(IF_METAGENERATION_MATCH, metaGeneration, temp);
+ 532 0 addToOptionMap(IF_METAGENERATION_NOT_MATCH, metaGeneration, temp);
+ 533
+ }
+ 534 0 return ImmutableMap.copyOf(temp);
+ 535
+ }
+ 536
+
+ 537
+ private static <T> void addToOptionMap(StorageRpc.Option option, T defaultValue,
+ 538
+ Map<StorageRpc.Option, Object> map) {
+ 539 0 addToOptionMap(option, option, defaultValue, map);
+ 540 0 }
+ 541
+
+ 542
+ private static <T> void addToOptionMap(StorageRpc.Option getOption, StorageRpc.Option putOption,
+ 543
+ T defaultValue, Map<StorageRpc.Option, Object> map) {
+ 544 0 if (map.containsKey(getOption)) {
+ 545
+ @SuppressWarnings("unchecked" )
+ 546 0 T value = (T) map.remove(getOption);
+ 547 0 checkArgument(value != null || defaultValue != null ,
+ 548 0 "Option " + getOption.value() + " is missing a value" );
+ 549 0 value = firstNonNull(value, defaultValue);
+ 550 0 map.put(putOption, value);
+ 551
+ }
+ 552 0 }
+ 553
+
+ 554
+ private Map<StorageRpc.Option, ?> optionMap(Option... options) {
+ 555 0 return optionMap(null , null , Arrays.asList(options));
+ 556
+ }
+ 557
+
+ 558
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 559
+ Option... options) {
+ 560 0 return optionMap(generation, metaGeneration, Arrays.asList(options));
+ 561
+ }
+ 562
+
+ 563
+ private Map<StorageRpc.Option, ?> optionMap(BucketInfo bucketInfo, Option... options) {
+ 564 0 return optionMap(null , bucketInfo.metageneration(), options);
+ 565
+ }
+ 566
+
+ 567
+ private Map<StorageRpc.Option, ?> optionMap(BlobInfo blobInfo, Option... options) {
+ 568 0 return optionMap(blobInfo.generation(), blobInfo.metageneration(), options);
+ 569
+ }
+ 570
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/com.google.gcloud.storage.StorageOptions.html b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageOptions.html
new file mode 100644
index 000000000000..1ceaf08d27c6
--- /dev/null
+++ b/site/0.0.7/cobertura/com.google.gcloud.storage.StorageOptions.html
@@ -0,0 +1,233 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableSet;
+ 21
+ import com.google.gcloud.ServiceOptions;
+ 22
+ import com.google.gcloud.spi.DefaultStorageRpc;
+ 23
+ import com.google.gcloud.spi.StorageRpc;
+ 24
+ import com.google.gcloud.spi.StorageRpcFactory;
+ 25
+
+ 26
+ import java.util.Objects;
+ 27
+ import java.util.Set;
+ 28
+
+ 29 0 public class StorageOptions extends ServiceOptions<StorageRpc, StorageOptions> {
+ 30
+
+ 31
+ private static final long serialVersionUID = -7804860602287801084L;
+ 32
+ private static final String GCS_SCOPE = "https://www.googleapis.com/auth/devstorage.full_control" ;
+ 33 0 private static final Set<String> SCOPES = ImmutableSet.of(GCS_SCOPE);
+ 34
+ private static final String DEFAULT_PATH_DELIMITER = "/" ;
+ 35
+
+ 36
+ private final String pathDelimiter;
+ 37
+ private transient StorageRpc storageRpc;
+ 38
+
+ 39 0 public static class Builder extends
+ 40
+ ServiceOptions.Builder<StorageRpc, StorageOptions, Builder> {
+ 41
+
+ 42
+ private String pathDelimiter;
+ 43
+
+ 44
+ private Builder() {}
+ 45
+
+ 46
+ private Builder(StorageOptions options) {
+ 47
+ super (options);
+ 48
+ }
+ 49
+
+ 50
+ public Builder pathDelimiter(String pathDelimiter) {
+ 51 0 this .pathDelimiter = pathDelimiter;
+ 52 0 return this ;
+ 53
+ }
+ 54
+
+ 55
+ @Override
+ 56
+ public StorageOptions build() {
+ 57 0 return new StorageOptions(this );
+ 58
+ }
+ 59
+ }
+ 60
+
+ 61
+ private StorageOptions(Builder builder) {
+ 62 0 super (builder);
+ 63 0 pathDelimiter = MoreObjects.firstNonNull(builder.pathDelimiter, DEFAULT_PATH_DELIMITER);
+ 64
+
+ 65 0 }
+ 66
+
+ 67
+ @Override
+ 68
+ protected Set<String> scopes() {
+ 69 0 return SCOPES;
+ 70
+ }
+ 71
+
+ 72
+ StorageRpc storageRpc() {
+ 73 0 if (storageRpc != null ) {
+ 74 0 return storageRpc;
+ 75
+ }
+ 76 0 if (serviceRpcFactory() != null ) {
+ 77 0 storageRpc = serviceRpcFactory().create(this );
+ 78
+ } else {
+ 79 0 storageRpc = createRpc(this , StorageRpcFactory.class );
+ 80 0 if (storageRpc == null ) {
+ 81 0 storageRpc = new DefaultStorageRpc(this );
+ 82
+ }
+ 83
+ }
+ 84 0 return storageRpc;
+ 85
+ }
+ 86
+
+ 87
+ public String pathDelimiter() {
+ 88 0 return pathDelimiter;
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public Builder toBuilder() {
+ 93 0 return new Builder(this );
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public int hashCode() {
+ 98 0 return baseHashCode() ^ Objects.hash(pathDelimiter);
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public boolean equals(Object obj) {
+ 103 0 if (!(obj instanceof StorageOptions)) {
+ 104 0 return false ;
+ 105
+ }
+ 106 0 StorageOptions other = (StorageOptions) obj;
+ 107 0 return baseEquals(other) && Objects.equals(pathDelimiter, other.pathDelimiter);
+ 108
+ }
+ 109
+
+ 110
+ public static StorageOptions defaultInstance() {
+ 111 0 return builder().build();
+ 112
+ }
+ 113
+
+ 114
+ public static Builder builder() {
+ 115 0 return new Builder();
+ 116
+ }
+ 117
+ }
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/css/help.css b/site/0.0.7/cobertura/css/help.css
new file mode 100644
index 000000000000..c6fbb28972f1
--- /dev/null
+++ b/site/0.0.7/cobertura/css/help.css
@@ -0,0 +1,22 @@
+dl {
+ float: left;
+ width: 100%;
+}
+
+dt {
+ border-top: 1px solid #808080;
+ float: left;
+ font-weight: bold;
+ margin: 0;
+ padding: 1em;
+ width: 20%;
+}
+
+dd {
+ border-top: 1px solid #808080;
+ float: left;
+ font-style: italic;
+ margin: 0;
+ padding: 1em;
+ width: 60%;
+}
diff --git a/site/0.0.7/cobertura/css/main.css b/site/0.0.7/cobertura/css/main.css
new file mode 100644
index 000000000000..9b5b0dc6831d
--- /dev/null
+++ b/site/0.0.7/cobertura/css/main.css
@@ -0,0 +1,131 @@
+@import url("help.css");
+@import url("source-viewer.css");
+@import url("tooltip.css");
+
+.hidden {
+ display: none;
+}
+
+a.dfn {
+ border-bottom: 1px dotted #00aa00;
+ cursor: help;
+}
+
+a.dfn:active, a.dfn:link, a.dfn:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.dfn:hover {
+ color: #0000ff;
+ text-decoration: none;
+}
+
+body {
+ font-family: verdana, arial, helvetica;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 0.5em;
+}
+
+h5 {
+ margin-top: 0.5em;
+}
+
+div.footer {
+ font-size: 68%;
+ margin-top: 1.5em;
+}
+
+div.percentgraph
+{
+ background-color: #f02020;
+ border: #808080 1px solid;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+ width: 100px;
+}
+
+div.percentgraph div.greenbar
+{
+ background-color: #00f000;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph div.na
+{
+ background-color: #eaeaea;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph span.text
+{
+ display: block;
+ position: absolute;
+ text-align: center;
+ width: 100px;
+}
+
+div.separator {
+ height: 10px;
+}
+
+table tr td, table tr th {
+ font-size: 68%;
+}
+
+td.value table tr td {
+ font-size: 11px;
+}
+
+table.percentgraph {
+ border: 0px;
+ font-size: 130%;
+ margin: 0px;
+ margin-left: auto;
+ margin-right: 0px;
+ padding: 0px;
+}
+
+table.percentgraph tr.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+}
+
+table.percentgraph td.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ padding-left: 4px;
+}
+
+table.report {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.report td {
+ border: #d0d0d0 1px solid;
+}
+
+table.report td.heading {
+ background: #dcecff;
+ font-weight: bold;
+ text-align: center;
+}
+
+table.report td.heading:hover {
+ background: #c0ffc0;
+ cursor: pointer;
+}
+
+table.report td.value {
+ text-align: right;
+}
diff --git a/site/0.0.7/cobertura/css/sortabletable.css b/site/0.0.7/cobertura/css/sortabletable.css
new file mode 100644
index 000000000000..970e2b55c9b7
--- /dev/null
+++ b/site/0.0.7/cobertura/css/sortabletable.css
@@ -0,0 +1,50 @@
+.sort-table {
+ font: Icon;
+ border: 1px Solid ThreeDShadow;
+ background: Window;
+ color: WindowText;
+}
+
+.sort-table thead {
+ background: ButtonFace;
+}
+
+.sort-table td {
+ padding: 2px 5px;
+}
+
+.sort-table thead td {
+ border: 1px solid;
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ cursor: default;
+}
+
+.sort-table thead td:active {
+ border-color: ButtonShadow ButtonHighlight
+ ButtonHighlight ButtonShadow;
+ padding: 3px 4px 1px 6px;
+}
+
+.sort-table thead td[_sortType=None]:active {
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ padding: 2px 5px;
+}
+
+.sort-arrow {
+ width: 11px;
+ height: 11px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ margin: 0 2px;
+}
+
+.sort-arrow.descending {
+ background-image: url("../images/downsimple.png");
+
+}
+
+.sort-arrow.ascending {
+ background-image: url("../images/upsimple.png");
+}
\ No newline at end of file
diff --git a/site/0.0.7/cobertura/css/source-viewer.css b/site/0.0.7/cobertura/css/source-viewer.css
new file mode 100644
index 000000000000..73797d613eb3
--- /dev/null
+++ b/site/0.0.7/cobertura/css/source-viewer.css
@@ -0,0 +1,73 @@
+pre.src {
+ background: #ffffff;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+table.src {
+ border: #dcdcdc 1px solid;
+ font-size: 16px;
+}
+
+td.numLine {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.numLineCover {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHits {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsCovered {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsUncovered {
+ background: #ff9090;
+ border-right: #dcdcdc 1px solid;
+ font-weight: bold;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.src {
+ width: 100%;
+}
+
+span.comment {
+ color: #b22222;
+ font-style: italic;
+}
+
+span.keyword {
+ color: #2020bf;
+ font-weight: bold;
+}
+
+span.srcUncovered {
+ background: #ff9090;
+}
+
+span.string {
+ color: #2a00ff;
+}
+
+span.text_italic {
+ font-size: 12px;
+ font-style: italic;
+}
diff --git a/site/0.0.7/cobertura/css/tooltip.css b/site/0.0.7/cobertura/css/tooltip.css
new file mode 100644
index 000000000000..c790d8104ebf
--- /dev/null
+++ b/site/0.0.7/cobertura/css/tooltip.css
@@ -0,0 +1,49 @@
+a.hastooltip {
+ border-bottom: 1px dotted #00aa00;
+ color: #000000;
+ cursor: help;
+ font-style: normal;
+ position: relative; /* This is the key */
+ text-decoration: none;
+ z-index: 24; /* What does this do? */
+}
+
+a.hastooltip:active {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:link {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:hover {
+ background-color: #a0b8ff;
+ color: #000000;
+ text-decoration: none;
+ z-index: 25;
+}
+
+a.hastooltip:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip span {
+ display: none;
+}
+
+a.hastooltip:hover span {
+ background-color: #eeeeee;
+ border: 1px solid #000000;
+ color: #000000;
+ display: block;
+ padding: 5px;
+ left: -15.2em;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ top: 2em;
+ width: 20em;
+}
diff --git a/site/0.0.7/cobertura/frame-packages.html b/site/0.0.7/cobertura/frame-packages.html
new file mode 100644
index 000000000000..697a3501dc22
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-packages.html
@@ -0,0 +1,29 @@
+
+
+
+
+Coverage Report
+
+
+
+Packages
+
+
+
diff --git a/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html
new file mode 100644
index 000000000000..6f70531b0ea2
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html
@@ -0,0 +1,173 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.datastore
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.html b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.html
new file mode 100644
index 000000000000..9b38f5b971e7
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.html
@@ -0,0 +1,41 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.spi.html b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..4a2e01044e15
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
@@ -0,0 +1,41 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.spi
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.storage.html b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.storage.html
new file mode 100644
index 000000000000..f4c63ed1d5be
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-sourcefiles-com.google.gcloud.storage.html
@@ -0,0 +1,74 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.storage
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/cobertura/frame-sourcefiles.html b/site/0.0.7/cobertura/frame-sourcefiles.html
new file mode 100644
index 000000000000..289755628b98
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-sourcefiles.html
@@ -0,0 +1,269 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+All Packages
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/cobertura/frame-summary-com.google.gcloud.datastore.html b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.datastore.html
new file mode 100644
index 000000000000..8e6a619e1a97
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.datastore.html
@@ -0,0 +1,225 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.datastore
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/frame-summary-com.google.gcloud.html b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.html
new file mode 100644
index 000000000000..579d0daf3b95
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.html
@@ -0,0 +1,76 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/frame-summary-com.google.gcloud.spi.html b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..18916f7066f4
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.spi.html
@@ -0,0 +1,63 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.spi
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/frame-summary-com.google.gcloud.storage.html b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.storage.html
new file mode 100644
index 000000000000..9b2c8616a970
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-summary-com.google.gcloud.storage.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.storage
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/frame-summary.html b/site/0.0.7/cobertura/frame-summary.html
new file mode 100644
index 000000000000..4ac86f1ae7fc
--- /dev/null
+++ b/site/0.0.7/cobertura/frame-summary.html
@@ -0,0 +1,33 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - All Packages
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/help.html b/site/0.0.7/cobertura/help.html
new file mode 100644
index 000000000000..4c518dcd342d
--- /dev/null
+++ b/site/0.0.7/cobertura/help.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+Coverage Report - Help
+
+
+
+
+
+
+Line Coverage
+The percent of lines executed by this test run.
+
+Branch Coverage
+The percent of branches executed by this test run.
+
+Complexity
+Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
+
+N/A
+Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
+
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/images/blank.png b/site/0.0.7/cobertura/images/blank.png
new file mode 100644
index 000000000000..cee9cd37a10e
Binary files /dev/null and b/site/0.0.7/cobertura/images/blank.png differ
diff --git a/site/0.0.7/cobertura/images/downsimple.png b/site/0.0.7/cobertura/images/downsimple.png
new file mode 100644
index 000000000000..4accf927bed9
Binary files /dev/null and b/site/0.0.7/cobertura/images/downsimple.png differ
diff --git a/site/0.0.7/cobertura/images/upsimple.png b/site/0.0.7/cobertura/images/upsimple.png
new file mode 100644
index 000000000000..c82b76ffe2c9
Binary files /dev/null and b/site/0.0.7/cobertura/images/upsimple.png differ
diff --git a/site/0.0.7/cobertura/index.html b/site/0.0.7/cobertura/index.html
new file mode 100644
index 000000000000..573719b81895
--- /dev/null
+++ b/site/0.0.7/cobertura/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.
+ Click here to view a non-frame version.
+
+
+
+
+
diff --git a/site/0.0.7/cobertura/js/customsorttypes.js b/site/0.0.7/cobertura/js/customsorttypes.js
new file mode 100644
index 000000000000..a16bda216f71
--- /dev/null
+++ b/site/0.0.7/cobertura/js/customsorttypes.js
@@ -0,0 +1,65 @@
+/*
+ * Cobertura - http://cobertura.sourceforge.net/
+ *
+ * Copyright (C) 2005 Mark Doliner
+ * Copyright (C) 2005 Olivier Parent
+ *
+ * Cobertura is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * Cobertura is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cobertura; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+function percentageSortType( s )
+{
+ var ret;
+ var i = s.indexOf( "%" );
+
+ if (i != -1) {
+ s = s.substr( 0, i );
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ ret = -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "Percentage", percentageSortType );
+
+
+
+// This is needed for correctly sorting numbers in different
+// locales. The stock number converter only expects to sort
+// numbers which use a period as a separator instead of a
+// comma (like French).
+function formattedNumberSortType( s )
+{
+ var ret;
+ var i = s.indexOf(';');
+
+ if (i != -1) {
+ s = s.substring(0, i);
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ return -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType );
diff --git a/site/0.0.7/cobertura/js/popup.js b/site/0.0.7/cobertura/js/popup.js
new file mode 100644
index 000000000000..4a09072260dc
--- /dev/null
+++ b/site/0.0.7/cobertura/js/popup.js
@@ -0,0 +1,8 @@
+var newwindow;
+function popupwindow(url)
+{
+ newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+ if (window.focus) {
+ newwindow.focus()
+ }
+}
diff --git a/site/0.0.7/cobertura/js/sortabletable.js b/site/0.0.7/cobertura/js/sortabletable.js
new file mode 100644
index 000000000000..0dad657240f8
--- /dev/null
+++ b/site/0.0.7/cobertura/js/sortabletable.js
@@ -0,0 +1,455 @@
+
+/*----------------------------------------------------------------------------\
+| Sortable Table 1.12 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1998 - 2004 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version |
+| 2003-01-19 | Minor changes to the date parsing |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText |
+| 2003-07-04 | Added workaround for IE cellIndex bug. |
+| 2003-11-09 | The bDescending argument to sort was not correctly working |
+| | Using onclick DOM0 event if no support for addEventListener |
+| | or attachEvent |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot |
+| | easier to add new, custom sort types. |
+| 2004-01-27 | Switch to use descending = false as the default sort order. |
+| | Change defaultDescending to suit your needs. |
+| 2004-03-14 | Improved sort type None look and feel a bit |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you |
+| | can use another tHead or no tHead, and you can chose some |
+| | other tBody. |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+ this.sortTypes = oSortTypes || [];
+
+ this.sortColumn = null;
+ this.descending = null;
+
+ var oThis = this;
+ this._headerOnclick = function (e) {
+ oThis.headerOnclick(e);
+ };
+
+ if (oTable) {
+ this.setTable( oTable );
+ this.document = oTable.ownerDocument || oTable.document;
+ }
+ else {
+ this.document = document;
+ }
+
+
+ // only IE needs this
+ var win = this.document.defaultView || this.document.parentWindow;
+ this._onunload = function () {
+ oThis.destroy();
+ };
+ if (win && typeof win.attachEvent != "undefined") {
+ win.attachEvent("onunload", this._onunload);
+ }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.element = oTable;
+ this.setTHead( oTable.tHead );
+ this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+ if (this.tHead && this.tHead != oTHead )
+ this.uninitHeader();
+ this.tHead = oTHead;
+ this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+ this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.sortTypes = oSortTypes || [];
+ if ( this.tHead )
+ this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var doc = this.tHead.ownerDocument || this.tHead.document;
+ this.sortTypes = oSortTypes || [];
+ var l = cells.length;
+ var img, c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+ img = doc.createElement("IMG");
+ img.src = "images/blank.png";
+ c.appendChild(img);
+ if (this.sortTypes[i] != null)
+ c._sortType = this.sortTypes[i];
+ if (typeof c.addEventListener != "undefined")
+ c.addEventListener("click", this._headerOnclick, false);
+ else if (typeof c.attachEvent != "undefined")
+ c.attachEvent("onclick", this._headerOnclick);
+ else
+ c.onclick = this._headerOnclick;
+ }
+ else
+ {
+ c.setAttribute( "_sortType", oSortTypes[i] );
+ c._sortType = "None";
+ }
+ }
+ this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (c._sortType != null && c._sortType != "None") {
+ c.removeChild(c.lastChild);
+ if (typeof c.removeEventListener != "undefined")
+ c.removeEventListener("click", this._headerOnclick, false);
+ else if (typeof c.detachEvent != "undefined")
+ c.detachEvent("onclick", this._headerOnclick);
+ c._sortType = null;
+ c.removeAttribute( "_sortType" );
+ }
+ }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var img;
+ for (var i = 0; i < l; i++) {
+ if (cells[i]._sortType != null && cells[i]._sortType != "None") {
+ img = cells[i].lastChild;
+ if (i == this.sortColumn)
+ img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");
+ else
+ img.className = "sort-arrow";
+ }
+ }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+ // find TD element
+ var el = e.target || e.srcElement;
+ while (el.tagName != "TD")
+ el = el.parentNode;
+
+ this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+ var cells = oTd.parentNode.childNodes
+ var l = cells.length;
+ var i;
+ for (i = 0; cells[i] != oTd && i < l; i++)
+ ;
+ return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+ return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+ if (!this.tBody) return;
+ if (sSortType == null)
+ sSortType = this.getSortType(nColumn);
+
+ // exit if None
+ if (sSortType == "None")
+ return;
+
+ if (bDescending == null) {
+ if (this.sortColumn != nColumn)
+ this.descending = this.defaultDescending;
+ else
+ this.descending = !this.descending;
+ }
+ else
+ this.descending = bDescending;
+
+ this.sortColumn = nColumn;
+
+ if (typeof this.onbeforesort == "function")
+ this.onbeforesort();
+
+ var f = this.getSortFunction(sSortType, nColumn);
+ var a = this.getCache(sSortType, nColumn);
+ var tBody = this.tBody;
+
+ a.sort(f);
+
+ if (this.descending)
+ a.reverse();
+
+ if (SortableTable.removeBeforeSort) {
+ // remove from doc
+ var nextSibling = tBody.nextSibling;
+ var p = tBody.parentNode;
+ p.removeChild(tBody);
+ }
+
+ // insert in the new order
+ var l = a.length;
+ for (var i = 0; i < l; i++)
+ tBody.appendChild(a[i].element);
+
+ if (SortableTable.removeBeforeSort) {
+ // insert into doc
+ p.insertBefore(tBody, nextSibling);
+ }
+
+ this.updateHeaderArrows();
+
+ this.destroyCache(a);
+
+ if (typeof this.onsort == "function")
+ this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {
+ var oThis = this;
+ this._asyncsort = function () {
+ oThis.sort(nColumn, bDescending, sSortType);
+ };
+ window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+ if (!this.tBody) return [];
+ var rows = this.tBody.rows;
+ var l = rows.length;
+ var a = new Array(l);
+ var r;
+ for (var i = 0; i < l; i++) {
+ r = rows[i];
+ a[i] = {
+ value: this.getRowValue(r, sType, nColumn),
+ element: r
+ };
+ };
+ return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+ var l = oArray.length;
+ for (var i = 0; i < l; i++) {
+ oArray[i].value = null;
+ oArray[i].element = null;
+ oArray[i] = null;
+ }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+ // if we have defined a custom getRowValue use that
+ if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+ return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+ var s;
+ var c = oRow.cells[nColumn];
+ if (typeof c.innerText != "undefined")
+ s = c.innerText;
+ else
+ s = SortableTable.getInnerText(c);
+ return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+ var s = "";
+ var cs = oNode.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ s += SortableTable.getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ s += cs[i].nodeValue;
+ break;
+ }
+ }
+ return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].getValueFromString( sText );
+ return sText;
+ /*
+ switch (sType) {
+ case "Number":
+ return Number(sText);
+ case "CaseInsensitiveString":
+ return sText.toUpperCase();
+ case "Date":
+ var parts = sText.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+ }
+ return sText;
+ */
+ };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].compare;
+ return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+ this.uninitHeader();
+ var win = this.document.parentWindow;
+ if (win && typeof win.detachEvent != "undefined") { // only IE needs this
+ win.detachEvent("onunload", this._onunload);
+ }
+ this._onunload = null;
+ this.element = null;
+ this.tHead = null;
+ this.tBody = null;
+ this.document = null;
+ this._headerOnclick = null;
+ this.sortTypes = null;
+ this._asyncsort = null;
+ this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+// string and casts it to a desired format. If left out the string is just
+// returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+// compare function. Takes two values and compares them. If left out less than,
+// <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function
+// that takes the row and the column index and returns the value used to compare.
+// If left out then the innerText is first taken for the cell and then the
+// fGetValueFromString is used to convert that string the desired value and type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {
+ this._sortTypeInfo[sType] = {
+ type: sType,
+ getValueFromString: fGetValueFromString || SortableTable.idFunction,
+ compare: fCompareFunction || SortableTable.basicCompare,
+ getRowValue: fGetRowValue
+ };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+ delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+ if (n1.value < n2.value)
+ return -1;
+ if (n2.value < n1.value)
+ return 1;
+ return 0;
+};
+
+SortableTable.idFunction = function (x) {
+ return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+ return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+ var parts = s.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
diff --git a/site/0.0.7/cobertura/js/stringbuilder.js b/site/0.0.7/cobertura/js/stringbuilder.js
new file mode 100644
index 000000000000..464a1cacb2ba
--- /dev/null
+++ b/site/0.0.7/cobertura/js/stringbuilder.js
@@ -0,0 +1,79 @@
+/*----------------------------------------------------------------------------\
+| String Builder 1.02 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1999 - 2002 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version |
+| 2000-10-05 | Added a cache of the string so that it does not need to be |
+| | regenerated every time in toString |
+| 2002-10-03 | Added minor improvement in the toString method |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/ function StringBuilder(sString) {
+
+ // public
+ this.length = 0;
+
+ this.append = function (sString) {
+ // append argument
+ this.length += (this._parts[this._current++] = String(sString)).length;
+
+ // reset cache
+ this._string = null;
+ return this;
+ };
+
+ this.toString = function () {
+ if (this._string != null)
+ return this._string;
+
+ var s = this._parts.join("");
+ this._parts = [s];
+ this._current = 1;
+ this.length = s.length;
+
+ return this._string = s;
+ };
+
+ // private
+ this._current = 0;
+ this._parts = [];
+ this._string = null; // used to cache the string
+
+ // init
+ if (sString != null)
+ this.append(sString);
+}
diff --git a/site/0.0.7/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/css/github.min.css b/site/0.0.7/css/github.min.css
new file mode 100644
index 000000000000..2bd26b60f15d
--- /dev/null
+++ b/site/0.0.7/css/github.min.css
@@ -0,0 +1 @@
+.hljs{display:block;padding:.5em;color:#333;background:#f8f8f8}.hljs-comment,.hljs-template_comment,.diff .hljs-header,.hljs-javadoc{color:#998;font-style:italic}.hljs-keyword,.css .rule .hljs-keyword,.hljs-winutils,.javascript .hljs-title,.nginx .hljs-title,.hljs-subst,.hljs-request,.hljs-status{color:#333;font-weight:bold}.hljs-number,.hljs-hexcolor,.ruby .hljs-constant{color:#099}.hljs-string,.hljs-tag .hljs-value,.hljs-phpdoc,.tex .hljs-formula{color:#d14}.hljs-title,.hljs-id,.coffeescript .hljs-params,.scss .hljs-preprocessor{color:#900;font-weight:bold}.javascript .hljs-title,.lisp .hljs-title,.clojure .hljs-title,.hljs-subst{font-weight:normal}.hljs-class .hljs-title,.haskell .hljs-type,.vhdl .hljs-literal,.tex .hljs-command{color:#458;font-weight:bold}.hljs-tag,.hljs-tag .hljs-title,.hljs-rules .hljs-property,.django .hljs-tag .hljs-keyword{color:#000080;font-weight:normal}.hljs-attribute,.hljs-variable,.lisp .hljs-body{color:#008080}.hljs-regexp{color:#009926}.hljs-symbol,.ruby .hljs-symbol .hljs-string,.lisp .hljs-keyword,.tex .hljs-special,.hljs-prompt{color:#990073}.hljs-built_in,.lisp .hljs-title,.clojure .hljs-built_in{color:#0086b3}.hljs-preprocessor,.hljs-pragma,.hljs-pi,.hljs-doctype,.hljs-shebang,.hljs-cdata{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}
\ No newline at end of file
diff --git a/site/0.0.7/css/normalize.css b/site/0.0.7/css/normalize.css
new file mode 100644
index 000000000000..42e24d6880b5
--- /dev/null
+++ b/site/0.0.7/css/normalize.css
@@ -0,0 +1,527 @@
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+
+/* ==========================================================================
+ HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/* ==========================================================================
+ Base
+ ========================================================================== */
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Address `font-family` inconsistency between `textarea` and other form
+ * elements.
+ */
+
+html,
+button,
+input,
+select,
+textarea {
+ font-family: sans-serif;
+}
+
+/**
+ * Address margins handled incorrectly in IE 6/7.
+ */
+
+body {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Links
+ ========================================================================== */
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* ==========================================================================
+ Typography
+ ========================================================================== */
+
+/**
+ * Address font sizes and margins set differently in IE 6/7.
+ * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+h2 {
+ font-size: 1.5em;
+ margin: 0.83em 0;
+}
+
+h3 {
+ font-size: 1.17em;
+ margin: 1em 0;
+}
+
+h4 {
+ font-size: 1em;
+ margin: 1.33em 0;
+}
+
+h5 {
+ font-size: 0.83em;
+ margin: 1.67em 0;
+}
+
+h6 {
+ font-size: 0.67em;
+ margin: 2.33em 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+blockquote {
+ margin: 1em 40px;
+}
+
+/**
+ * Address styling not present in Safari 5 and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ * Known issue: no IE 6/7 normalization.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 6/7/8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+p,
+pre {
+ margin: 1em 0;
+}
+
+/**
+ * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, serif;
+ _font-family: 'courier new', monospace;
+ font-size: 1em;
+}
+
+/**
+ * Improve readability of pre-formatted text in all browsers.
+ */
+
+pre {
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+/**
+ * Address CSS quotes not supported in IE 6/7.
+ */
+
+q {
+ quotes: none;
+}
+
+/**
+ * Address `quotes` property not supported in Safari 4.
+ */
+
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* ==========================================================================
+ Lists
+ ========================================================================== */
+
+/**
+ * Address margins set differently in IE 6/7.
+ */
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+/**
+ * Address paddings set differently in IE 6/7.
+ */
+
+menu,
+ol,
+ul {
+ padding: 0 0 0 40px;
+}
+
+/**
+ * Correct list images handled incorrectly in IE 7.
+ */
+
+nav ul,
+nav ol {
+ list-style: none;
+ list-style-image: none;
+}
+
+/* ==========================================================================
+ Embedded content
+ ========================================================================== */
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Correct overflow displayed oddly in IE 9.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* ==========================================================================
+ Figures
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+ margin: 0;
+}
+
+/* ==========================================================================
+ Forms
+ ========================================================================== */
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+ margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0;
+ white-space: normal; /* 2 */
+ *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+ *overflow: visible; /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ * Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ *height: 13px; /* 3 */
+ *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/* ==========================================================================
+ Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
diff --git a/site/0.0.7/css/print.css b/site/0.0.7/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/css/site.css b/site/0.0.7/css/site.css
new file mode 100644
index 000000000000..2a3c49ac5b12
--- /dev/null
+++ b/site/0.0.7/css/site.css
@@ -0,0 +1,1287 @@
+/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
+
+/*
+ * What follows is the result of much research on cross-browser styling.
+ * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
+ * Kroc Camen, and the H5BP dev community and team.
+ */
+
+/* ==========================================================================
+ Base styles: opinionated defaults
+ ========================================================================== */
+
+html,
+button,
+input,
+select,
+textarea {
+ color: #222;
+}
+
+html {
+ font-size: 1em;
+ line-height: 1.4;
+}
+
+/*
+ * Remove text-shadow in selection highlight: h5bp.com/i
+ * These selection rule sets have to be separate.
+ * Customize the background color to match your design.
+ */
+
+::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+/*
+ * A better looking default horizontal rule
+ */
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #ccc;
+ margin: 1em 0;
+ padding: 0;
+}
+
+/*
+ * Remove the gap between images, videos, audio and canvas and the bottom of
+ * their containers: h5bp.com/i/440
+ */
+
+audio,
+canvas,
+img,
+video {
+ vertical-align: middle;
+}
+
+/*
+ * Remove default fieldset styles.
+ */
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+ * Allow only vertical resizing of textareas.
+ */
+
+textarea {
+ resize: vertical;
+}
+
+/* ==========================================================================
+ Browse Happy prompt
+ ========================================================================== */
+
+.browsehappy {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+}
+
+/* ==========================================================================
+ Author's custom styles
+ ========================================================================== */
+
+html {
+ height: 100%;
+ background: #fff;
+}
+
+body {
+ height: 100%;
+ font-family: 'Roboto', sans-serif;
+ color: #5d6061;
+}
+
+
+/* Global Elements
+ ========================================================================== */
+
+pre {
+ padding: 0.5em;
+ background: #f8f8f8;
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ font-family: 'Droid Sans Mono', monospace;
+}
+
+code {
+ font-size: 1em;
+ line-height: 1.4em;
+}
+
+img {
+ max-width: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-weight: normal;
+ font-weight: 300;
+}
+
+/* Header
+ ========================================================================== */
+
+.page-header,
+.hero-banner {
+ background: #4285f4;
+ color: #fff;
+}
+
+.page-header {
+ position: relative;
+ padding: 1em;
+}
+
+.page-header.fixed {
+ position: fixed;
+ z-index: 2;
+ top: 0;
+ width: 100%;
+ padding: 0;
+}
+
+/*
+ Logo
+*/
+
+.logo {
+ margin: 0;
+ width: 13em;
+ font-size: 1em;
+ line-height: normal;
+}
+
+.page-header.fixed .logo {
+ width: auto;
+}
+
+.page-header.fixed a {
+ color: #fff;
+ text-decoration: none;
+}
+
+.page-header.fixed a:hover {
+ opacity: 0.4;
+}
+
+.page-header.fixed .logo img {
+ position: relative;
+ top: -0.2em;
+ width: 2em;
+ margin: 0 0.5em;
+}
+
+.page-header.fixed .gcloud {
+ display: inline-block;
+ padding: 0.4em 0 0.6em 0.6em;
+ border-left: 1px solid rgba(255,255,255,0.2);
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ font-size: 1.4em;
+}
+
+/*
+ Menu
+*/
+
+.nav-current {
+ display: block;
+ position: absolute;
+ top: 1.2em;
+ right: 1em;
+ width: 24px;
+ height: 20px;
+ background: url(../img/icon-menu.svg) no-repeat;
+ text-indent: -90000px;
+ cursor: pointer;
+}
+
+.page-header.fixed .nav-current {
+ top: 1em;
+}
+
+.menu {
+ display: none;
+ position: absolute;
+ top: 3.6em;
+ right: 0;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ background: #2570ec;
+ /* Box Shadow */
+ -webkit-box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ -moz-box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ box-shadow: 5px 5px 8px rgba(0,16,41,0.3);
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.page-header.fixed .menu {
+ top: 3.3em;
+}
+
+.menu a {
+ display: block;
+ padding: 1em;
+ border-top: 1px solid rgba(255,255,255,0.2);
+ color: #fff;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.menu a:hover {
+ background: #1a65e0;
+}
+
+.menu-icon {
+ margin-right: 0.5em;
+}
+
+/*
+ Open Menu
+ */
+
+.main-nav.open .nav-current {
+ opacity: 0.4;
+}
+
+.main-nav.open .menu {
+ display: block;
+}
+
+
+
+/* Home Content
+ ========================================================================== */
+
+/*
+ Main Content
+*/
+
+.main {
+ font-size: 0.9em;
+ line-height: 1.8em;
+}
+
+.container {
+ padding: 2.8em 2em;
+}
+
+.block-title {
+ margin-top: 0;
+ font-size: 1.6em;
+}
+
+/*
+ Hero Banner
+*/
+
+.hero-banner h1 {
+ margin: 0 0 0.6em;
+ font-family: 'Open Sans', sans-serif;
+ font-size: 3.5em;
+ font-weight: 300;
+}
+
+.hero-banner p {
+ margin-bottom: 2.2em;
+ font-size: 0.9em;
+ line-height: 1.6em;
+}
+
+.hero-banner h2 {
+ margin-bottom: 0.2em;
+ font-size: 1.3em;
+}
+
+.hero-banner pre {
+ margin: 0;
+ padding: 1em;
+ border: none;
+ background: #2a74ed;
+}
+
+/*
+ What is it?
+ */
+.about pre {
+ font-size: 110%;
+}
+
+/*
+ Featuring
+*/
+
+.featuring .block-title {
+ text-align: center;
+}
+
+.featuring p {
+ font-size: 0.9em;
+ line-height: 1.6em;
+}
+
+.featuring-links {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+.btn,
+.ext-link {
+ display: block;
+}
+
+.btn {
+ padding: 1em;
+ border: none;
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ background: #db4437;
+ color: #fff;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.btn:hover {
+ background: #f24f41;
+}
+
+.btn img {
+ margin-right: 0.5em;
+}
+
+.featuring-links .btn {
+ margin-bottom: 1em;
+ padding: 1.5em;
+ font-size: 1.1em;
+ text-align: center;
+}
+
+.featuring-links .btn img {
+ width: 2em;
+}
+
+.ext-link {
+ display: block;
+ padding: 1em;
+ border-bottom: 1px solid rgba(0,0,0,0.1);
+ color: #5d6061;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.ext-link:hover {
+ background: #f6f6f6;
+}
+
+.ext-link img {
+ opacity: 0.5;
+ margin-right: 0.5em;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.ext-link:hover img {
+ opacity: 0.7;
+}
+
+.pagination {
+ margin: 2em 0 0;
+ padding: 0;
+ list-style: none;
+ text-decoration: none;
+ text-align: center;
+}
+
+.pagination li {
+ display: inline-block;
+ width: 1em;
+ height: 1em;
+ margin: 0 0.2em;
+}
+
+.pagination a {
+ display: block;
+ width: 100%;
+ height: 100%;
+ border: 1px solid rgba(0,0,0,0.2);
+ /* Border Radius */
+ -webkit-border-radius: 50%;
+ -moz-border-radius: 50%;
+ border-radius: 50%;
+ background: #fff;
+ text-indent: -90000px;
+}
+
+.pagination a:hover {
+ background: rgba(0,0,0,0.1);
+}
+
+.pagination .current,
+.pagination .current:hover {
+ background: #db4437;
+ border-color: #db4437;
+}
+
+/*
+ About
+*/
+
+.about {
+ background: #eee;
+}
+
+.about h4 {
+ margin-bottom: 0;
+ font-size: 1.2em;
+ font-weight: bold;
+ color: #4285f4;
+}
+
+/*
+ FAQ
+*/
+
+.faq-btn,
+.faq-questions {
+ max-width: 20em;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.faq-btn {
+ position: relative;
+ margin-bottom: 2em;
+}
+
+.faq-btn .current {
+ background: #e6eefc url(../img/icon-dropdown-faq.svg) 95% 50% no-repeat;
+}
+
+.faq-btn .current,
+.faq-questions a {
+ display: block;
+ padding: 1em;
+ border: 1px solid #a7bfe8;
+ color: #2b70e2;
+ cursor: pointer;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.faq-questions {
+ display: none;
+ position: absolute;
+ width: 100%;
+}
+
+.faq-questions a {
+ border-top: none;
+ background: #e6eefc;
+}
+
+.faq-questions a:hover {
+ background: #fcfdff;
+}
+
+/*
+ Open FAQ button
+ */
+
+.faq-btn.open .current {
+ background-color: #c6d7f6;
+ /* Box Shadow */
+ -webkit-box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ -moz-box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ box-shadow: inset 0 0 10px rgba(16,71,163,0.3);
+ color: #1555bf;
+}
+
+.faq-btn.open .faq-questions {
+ display: block;
+}
+
+
+/* Docs Content
+ ========================================================================== */
+
+.docs-header {
+ position: relative;
+ padding: 7em 2em 4em;
+ background: #f8f8f8;
+ border-bottom: 1px solid rgba(0,0,0,0.05);
+}
+
+/*
+ Page Title
+*/
+
+.page-title {
+ margin: 0;
+ font-family: 'Open Sans', sans-serif;
+ font-weight: 300;
+ color: #4285f4;
+ font-size: 2.4em;
+ line-height: 1em;
+}
+
+/*
+ Versions
+*/
+
+.versions {
+ display: inline-block;
+ margin-top: 2em;
+}
+
+.versions span,
+.versions a {
+ display: block;
+}
+
+.v-current {
+ font-size: 1.2em;
+ color: #2b70e2;
+}
+
+.v-current i {
+ font-size: 0.7em;
+}
+
+.v-btn {
+ padding: 0.5em;
+ border: 1px solid rgba(0,0,0,0.2);
+ background: rgba(0,0,0,0.07);
+ font-size: 0.8em;
+ color: rgba(0,0,0,0.6);
+ text-align: center;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.v-btn:hover {
+ background: rgba(0,0,0,0.02);
+}
+
+.v-btn img {
+ position: relative;
+ top: -0.1em;
+ opacity: 0.3;
+}
+
+.v-list {
+ color: rgba(0,0,0,0.2);
+}
+
+.v-list a {
+ color: #4285f4;
+ text-decoration: none;
+}
+
+.v-list a:hover {
+ text-decoration: underline;
+}
+
+/*
+ Content
+ */
+
+
+.content {
+ padding: 1em 2em;
+}
+
+.content pre,
+.table {
+ border: 0;
+ margin-bottom: 2em;
+}
+
+.content h2, .content h3, .content h4, .content h5, .content h6 {
+ margin: 2em 0 0.5em;
+}
+
+.content>h2:first-child {
+ margin-top: 1em;
+}
+
+/*
+ Tables
+ */
+
+.table {
+ text-align: left;
+}
+
+.table th,
+.table td {
+ padding: 0.3em 1em;
+ border: 1px solid #cfcfcf;
+}
+
+.table th[scope="col"] {
+ border-color: #2264d0;
+ background: #4285f4;
+ color: #fff;
+}
+
+.table th[scope="row"] {
+ background: #f6f6f6;
+}
+
+/*
+ Side Nav
+ */
+
+ .side-nav {
+ padding-bottom: 3em;
+ background: #efefef;
+ }
+
+.side-nav a {
+ display: block;
+ padding: 0.3em 2em;
+ color: #5d6061;
+ text-decoration: none;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.side-nav a:hover {
+ background: rgba(255,255,255,0.7);
+}
+
+.side-nav .current,
+.side-nav .current:hover {
+ background: #e2e2e2;
+}
+
+.side-nav ul {
+ margin: 0;
+ padding: 0;
+}
+
+.side-nav .sub-sections a {
+ padding-left: 4em;
+}
+
+.side-nav .external-links {
+ margin-top: 2em;
+}
+
+.external-links img {
+ margin-right: 0.3em;
+ opacity: 0.3;
+ /* Transitions */
+ -webkit-transition: all 0.3s ease;
+ -moz-transition: all 0.3s ease;
+ -ms-transition: all 0.3s ease;
+ -o-transition: all 0.3s ease;
+ transition: all 0.3s ease;
+}
+
+.external-links a:hover img {
+ opacity: 0.6;
+}
+
+
+
+/* ==========================================================================
+ Helper classes
+ ========================================================================== */
+
+/*
+ * Image replacement
+ */
+
+.ir {
+ background-color: transparent;
+ border: 0;
+ overflow: hidden;
+ /* IE 6/7 fallback */
+ *text-indent: -9999px;
+}
+
+.ir:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 150%;
+}
+
+/*
+ * Hide from both screenreaders and browsers: h5bp.com/u
+ */
+
+.hidden {
+ display: none !important;
+ visibility: hidden;
+}
+
+/*
+ * Hide only visually, but have it available for screenreaders: h5bp.com/v
+ */
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+/*
+ * Extends the .visuallyhidden class to allow the element to be focusable
+ * when navigated to via the keyboard: h5bp.com/p
+ */
+
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
+/*
+ * Hide visually and from screenreaders, but maintain layout
+ */
+
+.invisible {
+ visibility: hidden;
+}
+
+/*
+ * Clearfix: contain floats
+ *
+ * For modern browsers
+ * 1. The space content is one way to avoid an Opera bug when the
+ * `contenteditable` attribute is included anywhere else in the document.
+ * Otherwise it causes space to appear at the top and bottom of elements
+ * that receive the `clearfix` class.
+ * 2. The use of `table` rather than `block` is only necessary if using
+ * `:before` to contain the top-margins of child elements.
+ */
+
+.clearfix:before,
+.clearfix:after {
+ content: " "; /* 1 */
+ display: table; /* 2 */
+}
+
+.clearfix:after {
+ clear: both;
+}
+
+/*
+ * For IE 6/7 only
+ * Include this rule to trigger hasLayout and contain floats.
+ */
+
+.clearfix {
+ *zoom: 1;
+}
+
+/* ==========================================================================
+ EXAMPLE Media Queries for Responsive Design.
+ These examples override the primary ('mobile first') styles.
+ Modify as content requires.
+ ========================================================================== */
+
+@media only screen and (min-width: 35em) {
+
+ /*
+ Main
+ */
+
+ .main {
+ font-size: 1em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring-links {
+ text-align: center;
+ }
+
+ .featuring-links li {
+ display: inline-block;
+ }
+
+ .featuring-links li:first-child {
+ display: block;
+ }
+
+ .featuring-links .btn {
+ display: inline-block;
+ padding: 1em 2.4em;
+ }
+
+ .ext-link {
+ display: inline-block;
+ padding: 0.8em 1.2em;
+ border: none;
+ /* Border Radius */
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ }
+
+ .pagination li {
+ width: 0.6em;
+ height: 0.6em;
+ }
+
+}
+
+@media only screen and (min-width: 45em) {
+
+ /*
+ Docs Header
+ */
+
+ .versions {
+ position: absolute;
+ top: 6em;
+ right: 2em;
+ margin: 0;
+ }
+
+ .v-btn {
+
+ font-size: 0.7em;
+ line-height: normal;
+ }
+
+}
+
+@media only screen and (min-width: 50em) {
+
+ /*
+ Header
+ */
+
+ .page-header {
+ padding: 1.6em;
+ }
+
+ .page-header.fixed .logo img {
+ margin: 0 0.8em;
+ }
+
+ .page-header.fixed .gcloud {
+ padding: 0 0 0 1em;
+ height: 70px;
+ line-height: 70px;
+ }
+
+ /*
+ Logo
+ */
+
+ .logo {
+ width: 280px;
+ }
+
+ /*
+ Menu
+ */
+
+ .main-nav {
+ position: absolute;
+ top: 1.2em;
+ left: 21.5em;
+ }
+
+ .page-header.fixed .main-nav {
+ top: 0;
+ left: 11.5em;
+ }
+
+ .nav-current {
+ position: relative;
+ top: 0;
+ left: 0;
+ padding: 0.8em 1.6em;
+ width: 150px;
+ height: auto;
+ border: 1px solid rgba(255,255,255,0.4);
+ background: url(../img/icon-dropdown.svg) 90% 50% no-repeat;
+ text-indent: 0;
+ }
+
+ .page-header.fixed .nav-current {
+ top: 0;
+ padding: 0 1.6em;
+ height: 70px;
+ border: 1px solid rgba(255,255,255,0.2);
+ border-top: none;
+ border-bottom: none;
+ line-height: 70px;
+ }
+
+ .nav-current:hover {
+ background-color: rgba(255,255,255,0.1);
+ }
+
+ .menu {
+ top: 3em;
+ left: 0;
+ }
+
+ .menu a {
+ padding: 1.2em 1.5em;
+ }
+
+ .page-header.fixed .menu {
+ top: 70px;
+ }
+
+ /*
+ Docs Header
+ */
+
+ .docs-header {
+ padding-top: 7.7em;
+ }
+
+ .versions {
+ top: 7em;
+ }
+
+
+ /*
+ Content
+ */
+
+ .container,
+ .content {
+ width: 80%;
+ margin: 0 auto;
+ padding: 2em 0;
+ }
+
+ /*
+ Hero Banner
+ */
+
+ .hero-banner {
+ padding: 2em 0;
+ }
+
+ .hero-banner h1 {
+ font-size: 5em;
+ margin-bottom: 0.8em;
+ }
+
+ .hero-banner p {
+ font-size: 1em;
+ line-height: 2em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring .block-title {
+ margin-bottom: 1.4em;
+ }
+
+}
+
+@media only screen and (min-width: 60em) {
+
+ /*
+ Content
+ */
+
+ .container {
+ width: 90%;
+ max-width: 1020px;
+ font-size: 0.9em;
+ }
+
+ .col {
+ width: 46%;
+ }
+
+ .col-left {
+ float: left;
+ }
+
+ .col-right {
+ float: right;
+ }
+
+ .block-title {
+ font-size: 2em;
+ }
+
+ /*
+ Hero Banner
+ */
+
+ .hero-banner {
+ padding-bottom: 0;
+ }
+
+ .hero-banner .col-right {
+ padding-top: 3.6em;
+ }
+
+ .hero-banner h1 {
+ font-size: 5.6em;
+ }
+
+ .hero-banner p {
+ font-size: 1.1em;
+ }
+
+ .hero-banner h2 {
+ font-size: 1.3em;
+ margin-bottom: 0.4em;
+ }
+
+ .hero-banner pre {
+ font-size: 1.1em;
+ padding: 1em 1.5em;
+ }
+
+ /*
+ Featuring
+ */
+
+ .featuring {
+ text-align: center;
+ }
+
+ .featuring-links li {
+ font-size: 1em;
+ }
+
+ .featuring-links li:first-child {
+ display: inline-block;
+ }
+
+ .featuring-links .btn {
+ margin-right: 0.5em;
+ }
+
+ .ext-link {
+ padding: 0.5em 1.2em;
+ }
+
+ .featuring p {
+ max-width: 80%;
+ margin: 0 auto;
+ font-size: 1em;
+ }
+
+ /*
+ About
+ */
+
+ .about .col-right {
+ padding-top: 2.4em;
+ }
+
+ /*
+ FAQ
+ */
+
+ .faq .answer {
+ -moz-column-count: 2;
+ -moz-column-gap: 50px;
+ -webkit-column-count: 2;
+ -webkit-column-gap: 50px;
+ column-count: 2;
+ column-gap: 50px;
+ }
+
+ /*
+ Docs Page
+ */
+
+ .lang-page {
+ background: url(../img/lang-bg.png) repeat-y;
+ }
+
+ .docs-header {
+ margin-left: 240px;
+ }
+
+ .content {
+ width: 100%;
+ max-width: 1070px;
+ padding-left: 290px;
+ padding-right: 2em;
+ /* Box Sizing */
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 0;
+ font-size: 0.9em;
+ }
+
+
+ .side-nav {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 240px;
+ padding-top: 7.7em;
+ background: none;
+ font-size: 0.9em;
+ }
+
+ .side-nav a {
+ padding-left: 2.5em;
+ }
+
+}
+
+@media print,
+ (-o-min-device-pixel-ratio: 5/4),
+ (-webkit-min-device-pixel-ratio: 1.25),
+ (min-resolution: 120dpi) {
+ /* Style adjustments for high resolution devices */
+}
+
+/* ==========================================================================
+ Print styles.
+ Inlined to avoid required HTTP connection: h5bp.com/r
+ ========================================================================== */
+
+@media print {
+ * {
+ background: transparent !important;
+ color: #000 !important; /* Black prints faster: h5bp.com/s */
+ box-shadow: none !important;
+ text-shadow: none !important;
+ }
+
+ a,
+ a:visited {
+ text-decoration: underline;
+ }
+
+ a[href]:after {
+ content: " (" attr(href) ")";
+ }
+
+ abbr[title]:after {
+ content: " (" attr(title) ")";
+ }
+
+ /*
+ * Don't show links for images, or javascript/internal links
+ */
+
+ .ir a:after,
+ a[href^="javascript:"]:after,
+ a[href^="#"]:after {
+ content: "";
+ }
+
+ pre,
+ blockquote {
+ border: 1px solid #999;
+ page-break-inside: avoid;
+ }
+
+ thead {
+ display: table-header-group; /* h5bp.com/t */
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ img {
+ max-width: 100% !important;
+ }
+
+ @page {
+ margin: 0.5cm;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
diff --git a/site/0.0.7/dependency-analysis.html b/site/0.0.7/dependency-analysis.html
new file mode 100644
index 000000000000..9db325938693
--- /dev/null
+++ b/site/0.0.7/dependency-analysis.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+ GCloud Java –
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/dependency-convergence.html b/site/0.0.7/dependency-convergence.html
new file mode 100644
index 000000000000..1733f2baa06d
--- /dev/null
+++ b/site/0.0.7/dependency-convergence.html
@@ -0,0 +1,374 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+49
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 83 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/dependency-info.html b/site/0.0.7/dependency-info.html
new file mode 100644
index 000000000000..f3b07341f7de
--- /dev/null
+++ b/site/0.0.7/dependency-info.html
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java-pom</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+ <type>pom</type>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java-pom:pom:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java-pom" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java-pom" type="pom" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java-pom', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java-pom:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java-pom "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java-pom" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/dev-activity.html b/site/0.0.7/dev-activity.html
new file mode 100644
index 000000000000..2ca764b9f23e
--- /dev/null
+++ b/site/0.0.7/dev-activity.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 7 Total number of files changed: 52
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+Ajay Kannan <ajaykannan@google.com>
+6
+49
+
+aozarov <aozarov@gmail.com>
+1
+3
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/distribution-management.html b/site/0.0.7/distribution-management.html
new file mode 100644
index 000000000000..45b28d4caef0
--- /dev/null
+++ b/site/0.0.7/distribution-management.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/file-activity.html b/site/0.0.7/file-activity.html
new file mode 100644
index 000000000000..aa6efa5d450b
--- /dev/null
+++ b/site/0.0.7/file-activity.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+ GCloud Java – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 7 Total number of files changed: 52
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/changelog.html b/site/0.0.7/gcloud-java-core/changelog.html
new file mode 100644
index 000000000000..1eafa31688fc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/changelog.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/checkstyle.html b/site/0.0.7/gcloud-java-core/checkstyle.html
new file mode 100644
index 000000000000..715109f569da
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/checkstyle.html
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle 6.8.1 with checkstyle.xml ruleset.
+
+
Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+8
+0
+3
+0
+
+
+
Rules
+
+
+Category
+Rule
+Violations
+Severity
+
+indentation
+Indentation
+
+throwsIndent: "4"
+arrayInitIndent: "2"
+caseIndent: "2"
+basicOffset: "2"
+braceAdjustment: "0"
+lineWrappingIndentation: "4"
+3
+ Warning
+
+
Details
+
+
com/google/gcloud/AuthCredentials.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+indentation
+Indentation
+'catch' child have incorrect indentation level 7, expected level should be 8.
+136
+
+
com/google/gcloud/ServiceOptions.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+indentation
+Indentation
+'member def type' have incorrect indentation level 3, expected level should be 4.
+216
+
+ Warning
+indentation
+Indentation
+'method def' child have incorrect indentation level 3, expected level should be 4.
+216
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/checkstyle.rss b/site/0.0.7/gcloud-java-core/checkstyle.rss
new file mode 100644
index 000000000000..0d4f10fd1af6
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/checkstyle.rss
@@ -0,0 +1,166 @@
+
+
+
+
+ GCloud Java core - Checkstyle report
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-core
+ GCloud Java core - Checkstyle report
+ en-us
+ ©2015 Google
+ -
+
File: 8,
+ Errors: 0,
+ Warnings: 3,
+ Infos: 0
+
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-core/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.AuthCredentials.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.AuthCredentials.html
new file mode 100644
index 000000000000..e8da3c756374
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.AuthCredentials.html
@@ -0,0 +1,402 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.AuthCredentials
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
+ 22
+ import com.google.api.client.googleapis.compute.ComputeCredential;
+ 23
+ import com.google.api.client.googleapis.extensions.appengine.auth.oauth2.AppIdentityCredential;
+ 24
+ import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
+ 25
+ import com.google.api.client.http.HttpRequestInitializer;
+ 26
+ import com.google.api.client.http.HttpTransport;
+ 27
+ import com.google.api.client.http.javanet.NetHttpTransport;
+ 28
+ import com.google.api.client.json.jackson.JacksonFactory;
+ 29
+ import com.google.auth.http.HttpCredentialsAdapter;
+ 30
+ import com.google.auth.oauth2.GoogleCredentials;
+ 31
+
+ 32
+ import java.io.IOException;
+ 33
+ import java.io.ObjectInputStream;
+ 34
+ import java.io.ObjectStreamException;
+ 35
+ import java.io.Serializable;
+ 36
+ import java.security.GeneralSecurityException;
+ 37
+ import java.security.PrivateKey;
+ 38
+ import java.util.Objects;
+ 39
+ import java.util.Set;
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ public abstract class AuthCredentials implements Serializable {
+ 45
+
+ 46
+ private static final long serialVersionUID = 236297804453464604L;
+ 47
+
+ 48 0 private static class AppEngineAuthCredentials extends AuthCredentials {
+ 49
+
+ 50
+ private static final long serialVersionUID = 7931300552744202954L;
+ 51
+
+ 52 0 private static final AuthCredentials INSTANCE = new AppEngineAuthCredentials();
+ 53
+
+ 54
+ @Override
+ 55
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 56
+ Set<String> scopes) {
+ 57 0 return new AppIdentityCredential(scopes);
+ 58
+ }
+ 59
+
+ 60
+ private Object readResolve() throws ObjectStreamException {
+ 61 0 return INSTANCE;
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65 0 public static class ServiceAccountAuthCredentials extends AuthCredentials {
+ 66
+
+ 67
+ private static final long serialVersionUID = 8007708734318445901L;
+ 68
+ private final String account;
+ 69
+ private final PrivateKey privateKey;
+ 70
+
+ 71 0 private static final AuthCredentials NO_CREDENTIALS = new ServiceAccountAuthCredentials();
+ 72
+
+ 73 0 ServiceAccountAuthCredentials(String account, PrivateKey privateKey) {
+ 74 0 this .account = checkNotNull(account);
+ 75 0 this .privateKey = checkNotNull(privateKey);
+ 76 0 }
+ 77
+
+ 78
+ ServiceAccountAuthCredentials() {
+ 79
+ account = null ;
+ 80
+ privateKey = null ;
+ 81
+ }
+ 82
+
+ 83
+ @Override
+ 84
+ protected HttpRequestInitializer httpRequestInitializer(
+ 85
+ HttpTransport transport, Set<String> scopes) {
+ 86 0 GoogleCredential.Builder builder = new GoogleCredential.Builder()
+ 87 0 .setTransport(transport)
+ 88 0 .setJsonFactory(new JacksonFactory());
+ 89 0 if (privateKey != null ) {
+ 90 0 builder.setServiceAccountPrivateKey(privateKey);
+ 91 0 builder.setServiceAccountId(account);
+ 92 0 builder.setServiceAccountScopes(scopes);
+ 93
+ }
+ 94 0 return builder.build();
+ 95
+ }
+ 96
+
+ 97
+ public String account() {
+ 98 0 return account;
+ 99
+ }
+ 100
+
+ 101
+ public PrivateKey privateKey() {
+ 102 0 return privateKey;
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ public int hashCode() {
+ 107 0 return Objects.hash(account, privateKey);
+ 108
+ }
+ 109
+
+ 110
+ @Override
+ 111
+ public boolean equals(Object obj) {
+ 112 0 if (!(obj instanceof ServiceAccountAuthCredentials)) {
+ 113 0 return false ;
+ 114
+ }
+ 115 0 ServiceAccountAuthCredentials other = (ServiceAccountAuthCredentials) obj;
+ 116 0 return Objects.equals(account, other.account)
+ 117 0 && Objects.equals(privateKey, other.privateKey);
+ 118
+ }
+ 119
+ }
+ 120
+
+ 121
+ private static class ComputeEngineAuthCredentials extends AuthCredentials {
+ 122
+
+ 123
+ private static final long serialVersionUID = -5217355402127260144L;
+ 124
+
+ 125
+ private transient ComputeCredential computeCredential;
+ 126
+
+ 127 0 ComputeEngineAuthCredentials() throws IOException, GeneralSecurityException {
+ 128 0 computeCredential = getComputeCredential();
+ 129 0 }
+ 130
+
+ 131
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 132 0 in.defaultReadObject();
+ 133
+ try {
+ 134 0 computeCredential = getComputeCredential();
+ 135 0 } catch (GeneralSecurityException e) {
+ 136 0 throw new IOException(e);
+ 137 0 }
+ 138 0 }
+ 139
+
+ 140
+ @Override
+ 141
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 142
+ Set<String> scopes) {
+ 143 0 return computeCredential;
+ 144
+ }
+ 145
+ }
+ 146
+
+ 147
+ private static class ApplicationDefaultAuthCredentials extends AuthCredentials {
+ 148
+
+ 149
+ private static final long serialVersionUID = -8306873864136099893L;
+ 150
+
+ 151
+ private transient GoogleCredentials googleCredentials;
+ 152
+
+ 153 0 ApplicationDefaultAuthCredentials() throws IOException {
+ 154 0 googleCredentials = GoogleCredentials.getApplicationDefault();
+ 155 0 }
+ 156
+
+ 157
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 158 0 in.defaultReadObject();
+ 159 0 googleCredentials = GoogleCredentials.getApplicationDefault();
+ 160 0 }
+ 161
+
+ 162
+ @Override
+ 163
+ protected HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 164
+ Set<String> scopes) {
+ 165 0 return new HttpCredentialsAdapter(googleCredentials);
+ 166
+ }
+ 167
+ }
+ 168
+
+ 169
+ protected abstract HttpRequestInitializer httpRequestInitializer(HttpTransport transport,
+ 170
+ Set<String> scopes);
+ 171
+
+ 172
+ public static AuthCredentials createForAppEngine() {
+ 173 0 return AppEngineAuthCredentials.INSTANCE;
+ 174
+ }
+ 175
+
+ 176
+ public static AuthCredentials createForComputeEngine()
+ 177
+ throws IOException, GeneralSecurityException {
+ 178 0 return new ComputeEngineAuthCredentials();
+ 179
+ }
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185
+
+ 186
+
+ 187
+
+ 188
+
+ 189
+
+ 190
+
+ 191
+
+ 192
+
+ 193
+ public static AuthCredentials createApplicationDefaults() throws IOException {
+ 194 0 return new ApplicationDefaultAuthCredentials();
+ 195
+ }
+ 196
+
+ 197
+ public static ServiceAccountAuthCredentials createFor(String account, PrivateKey privateKey) {
+ 198 0 return new ServiceAccountAuthCredentials(account, privateKey);
+ 199
+ }
+ 200
+
+ 201
+ public static AuthCredentials noCredentials() {
+ 202 0 return ServiceAccountAuthCredentials.NO_CREDENTIALS;
+ 203
+ }
+ 204
+
+ 205
+ static ComputeCredential getComputeCredential() throws IOException, GeneralSecurityException {
+ 206 0 NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
+ 207
+
+ 208 0 ComputeCredential credential = new ComputeCredential(transport, new JacksonFactory());
+ 209
+
+ 210 0 credential.refreshToken();
+ 211 0 return credential;
+ 212
+ }
+ 213
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.BaseService.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.BaseService.html
new file mode 100644
index 000000000000..88cf6506daa4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.BaseService.html
@@ -0,0 +1,87 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.BaseService
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ public abstract class BaseService<OptionsT extends ServiceOptions<?, OptionsT>>
+ 20
+ implements Service<OptionsT> {
+ 21
+
+ 22
+ private final OptionsT options;
+ 23
+
+ 24
+ protected BaseService(OptionsT options) {
+ 25
+ this .options = options;
+ 26
+ }
+ 27
+
+ 28
+ @Override
+ 29
+ public OptionsT options() {
+ 30 0 return options;
+ 31
+ }
+ 32
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ExceptionHandler.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ExceptionHandler.html
new file mode 100644
index 000000000000..257ed941b1c9
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ExceptionHandler.html
@@ -0,0 +1,499 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.ExceptionHandler
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.common.annotations.VisibleForTesting;
+ 23
+ import com.google.common.base.Preconditions;
+ 24
+ import com.google.common.collect.ImmutableList;
+ 25
+ import com.google.common.collect.ImmutableSet;
+ 26
+ import com.google.common.collect.Sets;
+ 27
+
+ 28
+ import java.io.Serializable;
+ 29
+ import java.lang.reflect.Method;
+ 30
+ import java.util.Set;
+ 31
+ import java.util.concurrent.Callable;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 public final class ExceptionHandler implements Serializable {
+ 37
+
+ 38
+ private static final long serialVersionUID = -2460707015779532919L;
+ 39
+
+ 40 0 private static final ExceptionHandler DEFAULT_INSTANCE =
+ 41 0 builder().retryOn(Exception.class ).abortOn(RuntimeException.class ).build();
+ 42
+
+ 43
+ private final ImmutableList<Interceptor> interceptors;
+ 44
+ private final ImmutableSet<Class<? extends Exception>> retriableExceptions;
+ 45
+ private final ImmutableSet<Class<? extends Exception>> nonRetriableExceptions;
+ 46 0 private final Set<RetryInfo> retryInfo = Sets.newHashSet();
+ 47
+
+ 48
+ public interface Interceptor extends Serializable {
+ 49
+
+ 50 0 enum RetryResult {
+ 51
+
+ 52 0 RETRY(true ), ABORT(false );
+ 53
+
+ 54
+ private final boolean booleanValue;
+ 55
+
+ 56
+ RetryResult(boolean booleanValue) {
+ 57
+ this .booleanValue = booleanValue;
+ 58
+ }
+ 59
+
+ 60
+ boolean booleanValue() {
+ 61 0 return booleanValue;
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+ RetryResult beforeEval(Exception exception);
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+ RetryResult afterEval(Exception exception, RetryResult retryResult);
+ 85
+ }
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90 0 public static class Builder {
+ 91
+
+ 92 0 private final ImmutableList.Builder<Interceptor> interceptors = ImmutableList.builder();
+ 93 0 private final ImmutableSet.Builder<Class<? extends Exception>> retriableExceptions =
+ 94 0 ImmutableSet.builder();
+ 95 0 private final ImmutableSet.Builder<Class<? extends Exception>> nonRetriableExceptions =
+ 96 0 ImmutableSet.builder();
+ 97
+
+ 98 0 private Builder() {}
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+ public Builder interceptor(Interceptor... interceptors) {
+ 108 0 for (Interceptor interceptor : interceptors) {
+ 109 0 this .interceptors.add(interceptor);
+ 110
+ }
+ 111 0 return this ;
+ 112
+ }
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+ @SafeVarargs
+ 121
+ public final Builder retryOn(Class<? extends Exception>... exceptions) {
+ 122 0 for (Class<? extends Exception> exception : exceptions) {
+ 123 0 retriableExceptions.add(checkNotNull(exception));
+ 124
+ }
+ 125 0 return this ;
+ 126
+ }
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+ @SafeVarargs
+ 135
+ public final Builder abortOn(Class<? extends Exception>... exceptions) {
+ 136 0 for (Class<? extends Exception> exception : exceptions) {
+ 137 0 nonRetriableExceptions.add(checkNotNull(exception));
+ 138
+ }
+ 139 0 return this ;
+ 140
+ }
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+ public ExceptionHandler build() {
+ 146 0 return new ExceptionHandler(this );
+ 147
+ }
+ 148
+ }
+ 149
+
+ 150
+ @VisibleForTesting
+ 151 0 static final class RetryInfo implements Serializable {
+ 152
+
+ 153
+ private static final long serialVersionUID = -4264634837841455974L;
+ 154
+ private final Class<? extends Exception> exception;
+ 155
+ private final Interceptor.RetryResult retry;
+ 156 0 private final Set<RetryInfo> children = Sets.newHashSet();
+ 157
+
+ 158 0 RetryInfo(Class<? extends Exception> exception, Interceptor.RetryResult retry) {
+ 159 0 this .exception = checkNotNull(exception);
+ 160 0 this .retry = retry;
+ 161 0 }
+ 162
+
+ 163
+ @Override
+ 164
+ public int hashCode() {
+ 165 0 return exception.hashCode();
+ 166
+ }
+ 167
+
+ 168
+ @Override
+ 169
+ public boolean equals(Object obj) {
+ 170 0 if (obj == this ) {
+ 171 0 return true ;
+ 172
+ }
+ 173 0 if (!(obj instanceof RetryInfo)) {
+ 174 0 return false ;
+ 175
+ }
+ 176
+
+ 177 0 return ((RetryInfo) obj).exception.equals(exception);
+ 178
+ }
+ 179
+ }
+ 180
+
+ 181 0 private ExceptionHandler(Builder builder) {
+ 182 0 interceptors = builder.interceptors.build();
+ 183 0 retriableExceptions = builder.retriableExceptions.build();
+ 184 0 nonRetriableExceptions = builder.nonRetriableExceptions.build();
+ 185 0 Preconditions.checkArgument(
+ 186 0 Sets.intersection(retriableExceptions, nonRetriableExceptions).isEmpty(),
+ 187
+ "Same exception was found in both retryable and non-retryable sets" );
+ 188 0 for (Class<? extends Exception> exception : retriableExceptions) {
+ 189 0 addRetryInfo(new RetryInfo(exception, Interceptor.RetryResult.RETRY), retryInfo);
+ 190 0 }
+ 191 0 for (Class<? extends Exception> exception : nonRetriableExceptions) {
+ 192 0 addRetryInfo(new RetryInfo(exception, Interceptor.RetryResult.ABORT), retryInfo);
+ 193 0 }
+ 194 0 }
+ 195
+
+ 196
+ private static void addRetryInfo(RetryInfo retryInfo, Set<RetryInfo> dest) {
+ 197 0 for (RetryInfo current : dest) {
+ 198 0 if (current.exception.isAssignableFrom(retryInfo.exception)) {
+ 199 0 addRetryInfo(retryInfo, current.children);
+ 200 0 return ;
+ 201
+ }
+ 202 0 if (retryInfo.exception.isAssignableFrom(current.exception)) {
+ 203 0 retryInfo.children.add(current);
+ 204
+ }
+ 205 0 }
+ 206 0 dest.removeAll(retryInfo.children);
+ 207 0 dest.add(retryInfo);
+ 208 0 }
+ 209
+
+ 210
+ private static RetryInfo findMostSpecificRetryInfo(Set<RetryInfo> retryInfo,
+ 211
+ Class<? extends Exception> exception) {
+ 212 0 for (RetryInfo current : retryInfo) {
+ 213 0 if (current.exception.isAssignableFrom(exception)) {
+ 214 0 RetryInfo match = findMostSpecificRetryInfo(current.children, exception);
+ 215 0 return match == null ? current : match;
+ 216
+ }
+ 217 0 }
+ 218 0 return null ;
+ 219
+ }
+ 220
+
+ 221
+
+ 222
+ private static Method getCallableMethod(Class<?> clazz) {
+ 223
+ try {
+ 224 0 return clazz.getDeclaredMethod("call" );
+ 225 0 } catch (NoSuchMethodException e) {
+ 226
+
+ 227 0 return getCallableMethod(clazz.getSuperclass());
+ 228 0 } catch (SecurityException e) {
+ 229
+
+ 230 0 throw new IllegalStateException("Unexpected exception" , e);
+ 231
+ }
+ 232
+ }
+ 233
+
+ 234
+ void verifyCaller(Callable<?> callable) {
+ 235 0 Method callMethod = getCallableMethod(callable.getClass());
+ 236 0 for (Class<?> exceptionOrError : callMethod.getExceptionTypes()) {
+ 237 0 Preconditions.checkArgument(Exception.class .isAssignableFrom(exceptionOrError),
+ 238
+ "Callable method exceptions must be derived from Exception" );
+ 239
+ @SuppressWarnings("unchecked" )
+ 240 0 Class<? extends Exception> exception = (Class<? extends Exception>) exceptionOrError;
+ 241 0 Preconditions.checkArgument(findMostSpecificRetryInfo(retryInfo, exception) != null ,
+ 242
+ "Declared exception '" + exception + "' is not covered by exception handler" );
+ 243
+ }
+ 244 0 }
+ 245
+
+ 246
+ public Set<Class<? extends Exception>> getRetriableExceptions() {
+ 247
+ return retriableExceptions;
+ 248
+ }
+ 249
+
+ 250
+ public Set<Class<? extends Exception>> getNonRetriableExceptions() {
+ 251
+ return nonRetriableExceptions;
+ 252
+ }
+ 253
+
+ 254
+ boolean shouldRetry(Exception ex) {
+ 255 0 for (Interceptor interceptor : interceptors) {
+ 256 0 Interceptor.RetryResult retryResult = interceptor.beforeEval(ex);
+ 257 0 if (retryResult != null ) {
+ 258 0 return retryResult.booleanValue();
+ 259
+ }
+ 260 0 }
+ 261 0 RetryInfo retryInfo = findMostSpecificRetryInfo(this .retryInfo, ex.getClass());
+ 262 0 Interceptor.RetryResult retryResult =
+ 263 0 retryInfo == null ? Interceptor.RetryResult.ABORT : retryInfo.retry;
+ 264 0 for (Interceptor interceptor : interceptors) {
+ 265 0 retryResult = firstNonNull(interceptor.afterEval(ex, retryResult), retryResult);
+ 266 0 }
+ 267 0 return retryResult.booleanValue();
+ 268
+ }
+ 269
+
+ 270
+
+ 271
+
+ 272
+
+ 273
+ public static ExceptionHandler getDefaultInstance() {
+ 274 0 return DEFAULT_INSTANCE;
+ 275
+ }
+ 276
+
+ 277
+ public static Builder builder() {
+ 278 0 return new Builder();
+ 279
+ }
+ 280
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryHelper.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryHelper.html
new file mode 100644
index 000000000000..f626b505212b
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryHelper.html
@@ -0,0 +1,466 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.RetryHelper
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static java.lang.StrictMath.max;
+ 21
+ import static java.lang.StrictMath.min;
+ 22
+ import static java.lang.StrictMath.pow;
+ 23
+ import static java.lang.StrictMath.random;
+ 24
+ import static java.util.concurrent.TimeUnit.MILLISECONDS;
+ 25
+
+ 26
+ import com.google.common.annotations.VisibleForTesting;
+ 27
+ import com.google.common.base.MoreObjects;
+ 28
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 29
+ import com.google.common.base.Stopwatch;
+ 30
+
+ 31
+ import java.io.InterruptedIOException;
+ 32
+ import java.nio.channels.ClosedByInterruptException;
+ 33
+ import java.util.concurrent.Callable;
+ 34
+ import java.util.logging.Level;
+ 35
+ import java.util.logging.Logger;
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public class RetryHelper<V> {
+ 45
+
+ 46 0 private static final Logger log = Logger.getLogger(RetryHelper.class .getName());
+ 47
+
+ 48
+ private final Stopwatch stopwatch;
+ 49
+ private final Callable<V> callable;
+ 50
+ private final RetryParams params;
+ 51
+ private final ExceptionHandler exceptionHandler;
+ 52
+ private int attemptNumber;
+ 53
+
+ 54
+
+ 55 0 private static final ThreadLocal<Context> context = new ThreadLocal<>();
+ 56
+
+ 57
+ public static class RetryHelperException extends RuntimeException {
+ 58
+
+ 59
+ private static final long serialVersionUID = -2907061015610448235L;
+ 60
+
+ 61
+ RetryHelperException() {}
+ 62
+
+ 63
+ RetryHelperException(String message) {
+ 64
+ super (message);
+ 65
+ }
+ 66
+
+ 67
+ RetryHelperException(Throwable cause) {
+ 68
+ super (cause);
+ 69
+ }
+ 70
+
+ 71
+ RetryHelperException(String message, Throwable cause) {
+ 72
+ super (message, cause);
+ 73
+ }
+ 74
+ }
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+ public static final class RetryInterruptedException extends RetryHelperException {
+ 81
+
+ 82
+ private static final long serialVersionUID = 1678966737697204885L;
+ 83
+
+ 84
+ RetryInterruptedException() {}
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ public static void propagate() throws RetryInterruptedException {
+ 90 0 Thread.currentThread().interrupt();
+ 91 0 throw new RetryInterruptedException();
+ 92
+ }
+ 93
+ }
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+ public static final class RetriesExhaustedException extends RetryHelperException {
+ 100
+
+ 101
+ private static final long serialVersionUID = 780199686075408083L;
+ 102
+
+ 103
+ RetriesExhaustedException(String message) {
+ 104
+ super (message);
+ 105
+ }
+ 106
+
+ 107
+ RetriesExhaustedException(String message, Throwable cause) {
+ 108
+ super (message, cause);
+ 109
+ }
+ 110
+ }
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+ public static final class NonRetriableException extends RetryHelperException {
+ 116
+
+ 117
+ private static final long serialVersionUID = -2331878521983499652L;
+ 118
+
+ 119
+ NonRetriableException(Throwable throwable) {
+ 120
+ super (throwable);
+ 121
+ }
+ 122
+ }
+ 123
+
+ 124
+ static class Context {
+ 125
+
+ 126
+ private final RetryHelper<?> helper;
+ 127
+
+ 128
+ Context(RetryHelper<?> helper) {
+ 129
+ this .helper = helper;
+ 130
+ }
+ 131
+
+ 132
+ public RetryParams getRetryParams() {
+ 133 0 return helper.params;
+ 134
+ }
+ 135
+
+ 136
+ public int getAttemptNumber() {
+ 137 0 return helper.attemptNumber;
+ 138
+ }
+ 139
+ }
+ 140
+
+ 141
+ @VisibleForTesting
+ 142
+ static void setContext(Context ctx) {
+ 143 0 if (ctx == null ) {
+ 144 0 context.remove();
+ 145
+ } else {
+ 146 0 context.set(ctx);
+ 147
+ }
+ 148 0 }
+ 149
+
+ 150
+ static Context getContext() {
+ 151 0 return context.get();
+ 152
+ }
+ 153
+
+ 154
+ @VisibleForTesting
+ 155
+ RetryHelper(Callable<V> callable, RetryParams params, ExceptionHandler exceptionHandler,
+ 156 0 Stopwatch stopwatch) {
+ 157 0 this .callable = checkNotNull(callable);
+ 158 0 this .params = checkNotNull(params);
+ 159 0 this .stopwatch = checkNotNull(stopwatch);
+ 160 0 this .exceptionHandler = checkNotNull(exceptionHandler);
+ 161 0 exceptionHandler.verifyCaller(callable);
+ 162 0 }
+ 163
+
+ 164
+ @Override
+ 165
+ public String toString() {
+ 166 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 167 0 toStringHelper.add("params" , params);
+ 168 0 toStringHelper.add("stopwatch" , stopwatch);
+ 169 0 toStringHelper.add("attemptNumber" , attemptNumber);
+ 170 0 toStringHelper.add("callable" , callable);
+ 171 0 toStringHelper.add("exceptionHandler" , exceptionHandler);
+ 172 0 return toStringHelper.toString();
+ 173
+ }
+ 174
+
+ 175
+ private V doRetry() throws RetryHelperException {
+ 176 0 stopwatch.start();
+ 177
+ while (true ) {
+ 178 0 attemptNumber++;
+ 179
+ Exception exception;
+ 180
+ try {
+ 181 0 V value = callable.call();
+ 182 0 if (attemptNumber > 1 && log.isLoggable(Level.FINE)) {
+ 183 0 log.fine(this + ": attempt #" + attemptNumber + " succeeded" );
+ 184
+ }
+ 185 0 return value;
+ 186 0 } catch (InterruptedException | InterruptedIOException | ClosedByInterruptException e) {
+ 187 0 if (!exceptionHandler.shouldRetry(e)) {
+ 188 0 RetryInterruptedException.propagate();
+ 189
+ }
+ 190 0 exception = e;
+ 191 0 } catch (Exception e) {
+ 192 0 if (!exceptionHandler.shouldRetry(e)) {
+ 193 0 throw new NonRetriableException(e);
+ 194
+ }
+ 195 0 exception = e;
+ 196 0 }
+ 197 0 if (attemptNumber >= params.getRetryMaxAttempts()
+ 198 0 || attemptNumber >= params.getRetryMinAttempts()
+ 199 0 && stopwatch.elapsed(MILLISECONDS) >= params.getTotalRetryPeriodMillis()) {
+ 200 0 throw new RetriesExhaustedException(this + ": Too many failures, giving up" , exception);
+ 201
+ }
+ 202 0 long sleepDurationMillis = getSleepDuration(params, attemptNumber);
+ 203 0 if (log.isLoggable(Level.FINE)) {
+ 204 0 log.fine(this + ": Attempt #" + attemptNumber + " failed [" + exception
+ 205
+ + "], sleeping for " + sleepDurationMillis + " ms" );
+ 206
+ }
+ 207
+ try {
+ 208 0 Thread.sleep(sleepDurationMillis);
+ 209 0 } catch (InterruptedException e) {
+ 210
+
+ 211 0 RetryInterruptedException.propagate();
+ 212 0 }
+ 213 0 }
+ 214
+ }
+ 215
+
+ 216
+ @VisibleForTesting
+ 217
+ static long getSleepDuration(RetryParams retryParams, int attemptsSoFar) {
+ 218 0 long initialDelay = retryParams.getInitialRetryDelayMillis();
+ 219 0 double backoffFactor = retryParams.getRetryDelayBackoffFactor();
+ 220 0 long maxDelay = retryParams.getMaxRetryDelayMillis();
+ 221 0 long retryDelay = getExponentialValue(initialDelay, backoffFactor, maxDelay, attemptsSoFar);
+ 222 0 return (long ) ((random() / 2.0 + .75) * retryDelay);
+ 223
+ }
+ 224
+
+ 225
+ private static long getExponentialValue(long initialDelay, double backoffFactor, long maxDelay,
+ 226
+ int attemptsSoFar) {
+ 227 0 return (long ) min(maxDelay, pow(backoffFactor, max(1, attemptsSoFar) - 1) * initialDelay);
+ 228
+ }
+ 229
+
+ 230
+ public static <V> V runWithRetries(Callable<V> callable) throws RetryHelperException {
+ 231 0 return runWithRetries(callable, RetryParams.getDefaultInstance(),
+ 232 0 ExceptionHandler.getDefaultInstance());
+ 233
+ }
+ 234
+
+ 235
+ public static <V> V runWithRetries(Callable<V> callable, RetryParams params,
+ 236
+ ExceptionHandler exceptionHandler) throws RetryHelperException {
+ 237 0 return runWithRetries(callable, params, exceptionHandler, Stopwatch.createUnstarted());
+ 238
+ }
+ 239
+
+ 240
+ @VisibleForTesting
+ 241
+ static <V> V runWithRetries(Callable<V> callable, RetryParams params,
+ 242
+ ExceptionHandler exceptionHandler, Stopwatch stopwatch) throws RetryHelperException {
+ 243 0 RetryHelper<V> retryHelper = new RetryHelper<>(callable, params, exceptionHandler, stopwatch);
+ 244 0 Context previousContext = getContext();
+ 245 0 setContext(new Context(retryHelper));
+ 246
+ try {
+ 247 0 return retryHelper.doRetry();
+ 248
+ } finally {
+ 249 0 setContext(previousContext);
+ 250
+ }
+ 251
+ }
+ 252
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryParams.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryParams.html
new file mode 100644
index 000000000000..6ade71962808
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.RetryParams.html
@@ -0,0 +1,542 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.RetryParams
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.common.base.MoreObjects;
+ 22
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.Objects;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47 0 public final class RetryParams implements Serializable {
+ 48
+
+ 49
+ private static final long serialVersionUID = -8492751576749007700L;
+ 50
+
+ 51
+ public static final int DEFAULT_RETRY_MIN_ATTEMPTS = 3;
+ 52
+ public static final int DEFAULT_RETRY_MAX_ATTEMPTS = 6;
+ 53
+ public static final long DEFAULT_INITIAL_RETRY_DELAY_MILLIS = 250L;
+ 54
+ public static final long DEFAULT_MAX_RETRY_DELAY_MILLIS = 10_000L;
+ 55
+ public static final double DEFAULT_RETRY_DELAY_BACKOFF_FACTOR = 2.0;
+ 56
+ public static final long DEFAULT_TOTAL_RETRY_PERIOD_MILLIS = 50_000L;
+ 57
+
+ 58
+ private final int retryMinAttempts;
+ 59
+ private final int retryMaxAttempts;
+ 60
+ private final long initialRetryDelayMillis;
+ 61
+ private final long maxRetryDelayMillis;
+ 62
+ private final double retryDelayBackoffFactor;
+ 63
+ private final long totalRetryPeriodMillis;
+ 64
+
+ 65 0 private static final RetryParams DEFAULT_INSTANCE = new RetryParams(new Builder());
+ 66 0 private static final RetryParams NO_RETRIES =
+ 67 0 builder().retryMaxAttempts(1).retryMinAttempts(1).build();
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73 0 public static final class Builder {
+ 74
+
+ 75
+ private int retryMinAttempts;
+ 76
+ private int retryMaxAttempts;
+ 77
+ private long initialRetryDelayMillis;
+ 78
+ private long maxRetryDelayMillis;
+ 79
+ private double retryDelayBackoffFactor;
+ 80
+ private long totalRetryPeriodMillis;
+ 81
+
+ 82
+ private Builder() {
+ 83 0 this (null );
+ 84 0 }
+ 85
+
+ 86 0 Builder(RetryParams retryParams) {
+ 87 0 if (retryParams == null ) {
+ 88 0 retryMinAttempts = DEFAULT_RETRY_MIN_ATTEMPTS;
+ 89 0 retryMaxAttempts = DEFAULT_RETRY_MAX_ATTEMPTS;
+ 90 0 initialRetryDelayMillis = DEFAULT_INITIAL_RETRY_DELAY_MILLIS;
+ 91 0 maxRetryDelayMillis = DEFAULT_MAX_RETRY_DELAY_MILLIS;
+ 92 0 retryDelayBackoffFactor = DEFAULT_RETRY_DELAY_BACKOFF_FACTOR;
+ 93 0 totalRetryPeriodMillis = DEFAULT_TOTAL_RETRY_PERIOD_MILLIS;
+ 94
+ } else {
+ 95 0 retryMinAttempts = retryParams.getRetryMinAttempts();
+ 96 0 retryMaxAttempts = retryParams.getRetryMaxAttempts();
+ 97 0 initialRetryDelayMillis = retryParams.getInitialRetryDelayMillis();
+ 98 0 maxRetryDelayMillis = retryParams.getMaxRetryDelayMillis();
+ 99 0 retryDelayBackoffFactor = retryParams.getRetryDelayBackoffFactor();
+ 100 0 totalRetryPeriodMillis = retryParams.getTotalRetryPeriodMillis();
+ 101
+ }
+ 102 0 }
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+
+ 110
+ public Builder retryMinAttempts(int retryMinAttempts) {
+ 111 0 this .retryMinAttempts = retryMinAttempts;
+ 112 0 return this ;
+ 113
+ }
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+ public Builder retryMaxAttempts(int retryMaxAttempts) {
+ 122 0 this .retryMaxAttempts = retryMaxAttempts;
+ 123 0 return this ;
+ 124
+ }
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+ public Builder initialRetryDelayMillis(long initialRetryDelayMillis) {
+ 133 0 this .initialRetryDelayMillis = initialRetryDelayMillis;
+ 134 0 return this ;
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+ public Builder maxRetryDelayMillis(long maxRetryDelayMillis) {
+ 144 0 this .maxRetryDelayMillis = maxRetryDelayMillis;
+ 145 0 return this ;
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+
+ 154
+ public Builder retryDelayBackoffFactor(double retryDelayBackoffFactor) {
+ 155 0 this .retryDelayBackoffFactor = retryDelayBackoffFactor;
+ 156 0 return this ;
+ 157
+ }
+ 158
+
+ 159
+
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+
+ 165
+ public Builder totalRetryPeriodMillis(long totalRetryPeriodMillis) {
+ 166 0 this .totalRetryPeriodMillis = totalRetryPeriodMillis;
+ 167 0 return this ;
+ 168
+ }
+ 169
+
+ 170
+
+ 171
+
+ 172
+
+ 173
+
+ 174
+
+ 175
+ public RetryParams build() {
+ 176 0 return new RetryParams(this );
+ 177
+ }
+ 178
+ }
+ 179
+
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185 0 private RetryParams(Builder builder) {
+ 186 0 retryMinAttempts = builder.retryMinAttempts;
+ 187 0 retryMaxAttempts = builder.retryMaxAttempts;
+ 188 0 initialRetryDelayMillis = builder.initialRetryDelayMillis;
+ 189 0 maxRetryDelayMillis = builder.maxRetryDelayMillis;
+ 190 0 retryDelayBackoffFactor = builder.retryDelayBackoffFactor;
+ 191 0 totalRetryPeriodMillis = builder.totalRetryPeriodMillis;
+ 192 0 checkArgument(retryMinAttempts >= 0, "retryMinAttempts must not be negative" );
+ 193 0 checkArgument(retryMaxAttempts >= retryMinAttempts,
+ 194
+ "retryMaxAttempts must not be smaller than retryMinAttempts" );
+ 195 0 checkArgument(initialRetryDelayMillis >= 0, "initialRetryDelayMillis must not be negative" );
+ 196 0 checkArgument(maxRetryDelayMillis >= initialRetryDelayMillis,
+ 197
+ "maxRetryDelayMillis must not be smaller than initialRetryDelayMillis" );
+ 198 0 checkArgument(retryDelayBackoffFactor >= 0, "retryDelayBackoffFactor must not be negative" );
+ 199 0 checkArgument(totalRetryPeriodMillis >= 0, "totalRetryPeriodMillis must not be negative" );
+ 200 0 }
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+ public static RetryParams getDefaultInstance() {
+ 206 0 return DEFAULT_INSTANCE;
+ 207
+ }
+ 208
+
+ 209
+ public static RetryParams noRetries() {
+ 210 0 return NO_RETRIES;
+ 211
+ }
+ 212
+
+ 213
+
+ 214
+
+ 215
+
+ 216
+ public int getRetryMinAttempts() {
+ 217
+ return retryMinAttempts;
+ 218
+ }
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+ public int getRetryMaxAttempts() {
+ 224
+ return retryMaxAttempts;
+ 225
+ }
+ 226
+
+ 227
+
+ 228
+
+ 229
+
+ 230
+ public long getInitialRetryDelayMillis() {
+ 231
+ return initialRetryDelayMillis;
+ 232
+ }
+ 233
+
+ 234
+
+ 235
+
+ 236
+
+ 237
+ public long getMaxRetryDelayMillis() {
+ 238
+ return maxRetryDelayMillis;
+ 239
+ }
+ 240
+
+ 241
+
+ 242
+
+ 243
+
+ 244
+ public double getRetryDelayBackoffFactor() {
+ 245
+ return retryDelayBackoffFactor;
+ 246
+ }
+ 247
+
+ 248
+
+ 249
+
+ 250
+
+ 251
+ public long getTotalRetryPeriodMillis() {
+ 252
+ return totalRetryPeriodMillis;
+ 253
+ }
+ 254
+
+ 255
+ @Override
+ 256
+ public int hashCode() {
+ 257 0 return Objects.hash(retryMinAttempts, retryMaxAttempts, initialRetryDelayMillis,
+ 258 0 maxRetryDelayMillis, retryDelayBackoffFactor, totalRetryPeriodMillis);
+ 259
+ }
+ 260
+
+ 261
+ @Override
+ 262
+ public boolean equals(Object obj) {
+ 263 0 if (obj == this ) {
+ 264 0 return true ;
+ 265
+ }
+ 266 0 if (!(obj instanceof RetryParams)) {
+ 267 0 return false ;
+ 268
+ }
+ 269 0 RetryParams other = (RetryParams) obj;
+ 270 0 return retryMinAttempts == other.retryMinAttempts && retryMaxAttempts == other.retryMaxAttempts
+ 271
+ && initialRetryDelayMillis == other.initialRetryDelayMillis
+ 272
+ && maxRetryDelayMillis == other.maxRetryDelayMillis
+ 273
+ && retryDelayBackoffFactor == other.retryDelayBackoffFactor
+ 274
+ && totalRetryPeriodMillis == other.totalRetryPeriodMillis;
+ 275
+ }
+ 276
+
+ 277
+ @Override
+ 278
+ public String toString() {
+ 279 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 280 0 toStringHelper.add("retryMinAttempts" , retryMinAttempts);
+ 281 0 toStringHelper.add("retryMaxAttempts" , retryMaxAttempts);
+ 282 0 toStringHelper.add("initialRetryDelayMillis" , initialRetryDelayMillis);
+ 283 0 toStringHelper.add("maxRetryDelayMillis" , maxRetryDelayMillis);
+ 284 0 toStringHelper.add("retryDelayBackoffFactor" , retryDelayBackoffFactor);
+ 285 0 toStringHelper.add("totalRetryPeriodMillis" , totalRetryPeriodMillis);
+ 286 0 return toStringHelper.toString();
+ 287
+ }
+ 288
+
+ 289
+ public static Builder builder() {
+ 290 0 return new Builder();
+ 291
+ }
+ 292
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.Service.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.Service.html
new file mode 100644
index 000000000000..69094d039fa4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.Service.html
@@ -0,0 +1,66 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.Service
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+ public interface Service<OptionsT extends ServiceOptions<?, OptionsT>> {
+ 20
+ OptionsT options();
+ 21
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ServiceOptions.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ServiceOptions.html
new file mode 100644
index 000000000000..5aa473d5697e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.ServiceOptions.html
@@ -0,0 +1,575 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.ServiceOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud;
+ 18
+
+ 19
+
+ 20
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 21
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 22
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 23
+
+ 24
+ import com.google.api.client.extensions.appengine.http.UrlFetchTransport;
+ 25
+ import com.google.api.client.http.HttpRequestInitializer;
+ 26
+ import com.google.api.client.http.HttpTransport;
+ 27
+ import com.google.api.client.http.javanet.NetHttpTransport;
+ 28
+ import com.google.common.collect.Iterables;
+ 29
+ import com.google.gcloud.spi.ServiceRpcFactory;
+ 30
+
+ 31
+ import java.io.BufferedReader;
+ 32
+ import java.io.File;
+ 33
+ import java.io.FileReader;
+ 34
+ import java.io.IOException;
+ 35
+ import java.io.InputStream;
+ 36
+ import java.io.InputStreamReader;
+ 37
+ import java.io.Serializable;
+ 38
+ import java.lang.reflect.Method;
+ 39
+ import java.net.HttpURLConnection;
+ 40
+ import java.net.URL;
+ 41
+ import java.util.Locale;
+ 42
+ import java.util.Objects;
+ 43
+ import java.util.ServiceLoader;
+ 44
+ import java.util.Set;
+ 45
+ import java.util.regex.Matcher;
+ 46
+ import java.util.regex.Pattern;
+ 47
+
+ 48 0 public abstract class ServiceOptions<
+ 49
+ ServiceRpcT,
+ 50
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 51
+ implements Serializable {
+ 52
+
+ 53
+ private static final String DEFAULT_HOST = "https://www.googleapis.com" ;
+ 54
+ private static final long serialVersionUID = 1203687993961393350L;
+ 55
+ private static final String PROJECT_ENV_NAME = "GCLOUD_PROJECT" ;
+ 56
+
+ 57
+ private final String projectId;
+ 58
+ private final String host;
+ 59
+ private final HttpTransportFactory httpTransportFactory;
+ 60
+ private final AuthCredentials authCredentials;
+ 61
+ private final RetryParams retryParams;
+ 62
+ private final ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory;
+ 63
+
+ 64
+ public interface HttpTransportFactory extends Serializable {
+ 65
+ HttpTransport create();
+ 66
+ }
+ 67
+
+ 68 0 private enum DefaultHttpTransportFactory implements HttpTransportFactory {
+ 69
+
+ 70 0 INSTANCE;
+ 71
+
+ 72
+ @Override
+ 73
+ public HttpTransport create() {
+ 74
+
+ 75 0 if (appEngineAppId() != null ) {
+ 76
+ try {
+ 77 0 return new UrlFetchTransport();
+ 78 0 } catch (Exception ignore) {
+ 79
+
+ 80
+ }
+ 81
+ }
+ 82
+
+ 83
+ try {
+ 84 0 return AuthCredentials.getComputeCredential().getTransport();
+ 85 0 } catch (Exception e) {
+ 86
+
+ 87
+ }
+ 88 0 return new NetHttpTransport();
+ 89
+ }
+ 90
+ }
+ 91
+
+ 92
+
+ 93
+
+ 94 0 protected abstract static class Builder<
+ 95
+ ServiceRpcT,
+ 96
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>,
+ 97
+ B extends Builder<ServiceRpcT, OptionsT, B>> {
+ 98
+
+ 99
+ private String projectId;
+ 100
+ private String host;
+ 101
+ private HttpTransportFactory httpTransportFactory;
+ 102
+ private AuthCredentials authCredentials;
+ 103
+ private RetryParams retryParams;
+ 104
+ private ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory;
+ 105
+
+ 106
+ protected Builder() {}
+ 107
+
+ 108 0 protected Builder(ServiceOptions<ServiceRpcT, OptionsT> options) {
+ 109 0 projectId = options.projectId;
+ 110 0 host = options.host;
+ 111 0 httpTransportFactory = options.httpTransportFactory;
+ 112 0 authCredentials = options.authCredentials;
+ 113 0 retryParams = options.retryParams;
+ 114 0 serviceRpcFactory = options.serviceRpcFactory;
+ 115 0 }
+ 116
+
+ 117
+ protected abstract ServiceOptions<ServiceRpcT, OptionsT> build();
+ 118
+
+ 119
+ @SuppressWarnings("unchecked" )
+ 120
+ protected B self() {
+ 121 0 return (B) this ;
+ 122
+ }
+ 123
+
+ 124
+ public B projectId(String projectId) {
+ 125 0 this .projectId = projectId;
+ 126 0 return self();
+ 127
+ }
+ 128
+
+ 129
+ public B host(String host) {
+ 130 0 this .host = host;
+ 131 0 return self();
+ 132
+ }
+ 133
+
+ 134
+ public B httpTransportFactory(HttpTransportFactory httpTransportFactory) {
+ 135 0 this .httpTransportFactory = httpTransportFactory;
+ 136 0 return self();
+ 137
+ }
+ 138
+
+ 139
+ public B authCredentials(AuthCredentials authCredentials) {
+ 140 0 this .authCredentials = authCredentials;
+ 141 0 return self();
+ 142
+ }
+ 143
+
+ 144
+ public B retryParams(RetryParams retryParams) {
+ 145 0 this .retryParams = retryParams;
+ 146 0 return self();
+ 147
+ }
+ 148
+
+ 149
+ public B serviceRpcFactory(ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory) {
+ 150 0 this .serviceRpcFactory = serviceRpcFactory;
+ 151 0 return self();
+ 152
+ }
+ 153
+ }
+ 154
+
+ 155 0 protected ServiceOptions(Builder<ServiceRpcT, OptionsT, ?> builder) {
+ 156 0 projectId = checkNotNull(builder.projectId != null ? builder.projectId : defaultProject());
+ 157 0 host = firstNonNull(builder.host, DEFAULT_HOST);
+ 158 0 httpTransportFactory =
+ 159 0 firstNonNull(builder.httpTransportFactory, DefaultHttpTransportFactory.INSTANCE);
+ 160 0 authCredentials = firstNonNull(builder.authCredentials, defaultAuthCredentials());
+ 161 0 retryParams = builder.retryParams;
+ 162 0 serviceRpcFactory = builder.serviceRpcFactory;
+ 163 0 }
+ 164
+
+ 165
+ private static AuthCredentials defaultAuthCredentials() {
+ 166
+
+ 167 0 if (appEngineAppId() != null ) {
+ 168
+ try {
+ 169 0 return AuthCredentials.createForAppEngine();
+ 170 0 } catch (Exception ignore) {
+ 171
+
+ 172
+ }
+ 173
+ }
+ 174
+
+ 175
+ try {
+ 176 0 return AuthCredentials.createApplicationDefaults();
+ 177 0 } catch (Exception ex) {
+ 178
+
+ 179
+ }
+ 180
+
+ 181
+
+ 182
+ try {
+ 183 0 return AuthCredentials.createForComputeEngine();
+ 184 0 } catch (Exception ignore) {
+ 185
+
+ 186
+ }
+ 187 0 return AuthCredentials.noCredentials();
+ 188
+ }
+ 189
+
+ 190
+ protected static String appEngineAppId() {
+ 191 0 return System.getProperty("com.google.appengine.application.id" );
+ 192
+ }
+ 193
+
+ 194
+ protected String defaultProject() {
+ 195 0 String projectId = System.getProperty(PROJECT_ENV_NAME, System.getenv(PROJECT_ENV_NAME));
+ 196 0 if (projectId == null ) {
+ 197 0 projectId = getAppEngineProjectId();
+ 198
+ }
+ 199 0 return projectId != null ? projectId : googleCloudProjectId();
+ 200
+ }
+ 201
+
+ 202
+ protected static String googleCloudProjectId() {
+ 203
+ try {
+ 204 0 URL url = new URL("http://metadata/computeMetadata/v1/project/project-id" );
+ 205 0 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ 206 0 connection.setRequestProperty("X-Google-Metadata-Request" , "True" );
+ 207 0 InputStream input = connection.getInputStream();
+ 208 0 if (connection.getResponseCode() == 200) {
+ 209 0 try (BufferedReader reader = new BufferedReader(new InputStreamReader(input, UTF_8))) {
+ 210 0 return reader.readLine();
+ 211 0 }
+ 212
+ }
+ 213 0 } catch (IOException ignore) {
+ 214
+
+ 215 0 }
+ 216
+ File configDir;
+ 217 0 if (System.getenv().containsKey("CLOUDSDK_CONFIG" )) {
+ 218 0 configDir = new File(System.getenv("CLOUDSDK_CONFIG" ));
+ 219 0 } else if (isWindows() && System.getenv().containsKey("APPDATA" )) {
+ 220 0 configDir = new File(System.getenv("APPDATA" ), "gcloud" );
+ 221
+ } else {
+ 222 0 configDir = new File(System.getProperty("user.home" ), ".config/gcloud" );
+ 223
+ }
+ 224 0 try (BufferedReader reader =
+ 225
+ new BufferedReader(new FileReader(new File(configDir, "properties" )))) {
+ 226
+ String line;
+ 227 0 String section = null ;
+ 228 0 Pattern projectPattern = Pattern.compile("^project\\s*=\\s*(.*)$" );
+ 229 0 Pattern sectionPattern = Pattern.compile("^\\[(.*)\\]$" );
+ 230 0 while ((line = reader.readLine()) != null ) {
+ 231 0 if (line.isEmpty() || line.startsWith(";" )) {
+ 232 0 continue ;
+ 233
+ }
+ 234 0 line = line.trim();
+ 235 0 Matcher matcher = sectionPattern.matcher(line);
+ 236 0 if (matcher.matches()) {
+ 237 0 section = matcher.group(1);
+ 238 0 } else if (section == null || section.equals("core" )) {
+ 239 0 matcher = projectPattern.matcher(line);
+ 240 0 if (matcher.matches()) {
+ 241 0 return matcher.group(1);
+ 242
+ }
+ 243
+ }
+ 244 0 }
+ 245 0 } catch (IOException ex) {
+ 246
+
+ 247 0 }
+ 248
+
+ 249 0 return null ;
+ 250
+ }
+ 251
+
+ 252
+ private static boolean isWindows() {
+ 253 0 return System.getProperty("os.name" ).toLowerCase(Locale.ENGLISH).contains("windows" );
+ 254
+ }
+ 255
+
+ 256
+ protected static String getAppEngineProjectId() {
+ 257
+
+ 258
+
+ 259
+ try {
+ 260 0 Class<?> factoryClass =
+ 261 0 Class.forName("com.google.appengine.api.appidentity.AppIdentityServiceFactory" );
+ 262 0 Method method = factoryClass.getMethod("getAppIdentityService" );
+ 263 0 Object appIdentityService = method.invoke(null );
+ 264 0 method = appIdentityService.getClass().getMethod("getServiceAccountName" );
+ 265 0 String serviceAccountName = (String) method.invoke(appIdentityService);
+ 266 0 int indexOfAtSign = serviceAccountName.indexOf('@' );
+ 267 0 return serviceAccountName.substring(0, indexOfAtSign);
+ 268 0 } catch (Exception ignore) {
+ 269
+
+ 270 0 return null ;
+ 271
+ }
+ 272
+ }
+ 273
+
+ 274
+ protected abstract Set<String> scopes();
+ 275
+
+ 276
+ public String projectId() {
+ 277 0 return projectId;
+ 278
+ }
+ 279
+
+ 280
+ public String host() {
+ 281 0 return host;
+ 282
+ }
+ 283
+
+ 284
+ public HttpTransportFactory httpTransportFactory() {
+ 285 0 return httpTransportFactory;
+ 286
+ }
+ 287
+
+ 288
+ public AuthCredentials authCredentials() {
+ 289 0 return authCredentials;
+ 290
+ }
+ 291
+
+ 292
+ public RetryParams retryParams() {
+ 293 0 return retryParams != null ? retryParams : RetryParams.noRetries();
+ 294
+ }
+ 295
+
+ 296
+ public ServiceRpcFactory<ServiceRpcT, OptionsT> serviceRpcFactory() {
+ 297 0 return serviceRpcFactory;
+ 298
+ }
+ 299
+
+ 300
+ public HttpRequestInitializer httpRequestInitializer() {
+ 301 0 HttpTransport httpTransport = httpTransportFactory.create();
+ 302 0 return authCredentials().httpRequestInitializer(httpTransport, scopes());
+ 303
+ }
+ 304
+
+ 305
+ protected int baseHashCode() {
+ 306 0 return Objects.hash(projectId, host, httpTransportFactory, authCredentials, retryParams,
+ 307
+ serviceRpcFactory);
+ 308
+ }
+ 309
+
+ 310
+ protected boolean baseEquals(ServiceOptions<?, ?> other) {
+ 311 0 return Objects.equals(projectId, other.projectId)
+ 312 0 && Objects.equals(host, other.host)
+ 313 0 && Objects.equals(httpTransportFactory, other.httpTransportFactory)
+ 314 0 && Objects.equals(authCredentials, other.authCredentials)
+ 315 0 && Objects.equals(retryParams, other.retryParams)
+ 316 0 && Objects.equals(serviceRpcFactory, other.serviceRpcFactory);
+ 317
+ }
+ 318
+
+ 319
+ public abstract Builder<ServiceRpcT, OptionsT, ?> toBuilder();
+ 320
+
+ 321
+
+ 322
+
+ 323
+
+ 324
+ protected static
+ 325
+ <ServiceRpcT, OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 326
+ ServiceRpcT createRpc(OptionsT options,
+ 327
+ Class<? extends ServiceRpcFactory<ServiceRpcT, OptionsT>> factoryClass) {
+ 328 0 ServiceRpcFactory<ServiceRpcT, OptionsT> factory =
+ 329 0 Iterables.getFirst(ServiceLoader.load(factoryClass), null );
+ 330 0 return factory == null ? null : factory.create(options);
+ 331
+ }
+ 332
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html
new file mode 100644
index 000000000000..b99facfbe749
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/com.google.gcloud.spi.ServiceRpcFactory.html
@@ -0,0 +1,90 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.ServiceRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.ServiceOptions;
+ 20
+
+ 21
+ import java.io.Serializable;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public interface ServiceRpcFactory<
+ 28
+ ServiceRpcT,
+ 29
+ OptionsT extends ServiceOptions<ServiceRpcT, OptionsT>>
+ 30
+ extends Serializable {
+ 31
+
+ 32
+ ServiceRpcT create(OptionsT options);
+ 33
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/css/help.css b/site/0.0.7/gcloud-java-core/cobertura/css/help.css
new file mode 100644
index 000000000000..c6fbb28972f1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/css/help.css
@@ -0,0 +1,22 @@
+dl {
+ float: left;
+ width: 100%;
+}
+
+dt {
+ border-top: 1px solid #808080;
+ float: left;
+ font-weight: bold;
+ margin: 0;
+ padding: 1em;
+ width: 20%;
+}
+
+dd {
+ border-top: 1px solid #808080;
+ float: left;
+ font-style: italic;
+ margin: 0;
+ padding: 1em;
+ width: 60%;
+}
diff --git a/site/0.0.7/gcloud-java-core/cobertura/css/main.css b/site/0.0.7/gcloud-java-core/cobertura/css/main.css
new file mode 100644
index 000000000000..9b5b0dc6831d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/css/main.css
@@ -0,0 +1,131 @@
+@import url("help.css");
+@import url("source-viewer.css");
+@import url("tooltip.css");
+
+.hidden {
+ display: none;
+}
+
+a.dfn {
+ border-bottom: 1px dotted #00aa00;
+ cursor: help;
+}
+
+a.dfn:active, a.dfn:link, a.dfn:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.dfn:hover {
+ color: #0000ff;
+ text-decoration: none;
+}
+
+body {
+ font-family: verdana, arial, helvetica;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 0.5em;
+}
+
+h5 {
+ margin-top: 0.5em;
+}
+
+div.footer {
+ font-size: 68%;
+ margin-top: 1.5em;
+}
+
+div.percentgraph
+{
+ background-color: #f02020;
+ border: #808080 1px solid;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+ width: 100px;
+}
+
+div.percentgraph div.greenbar
+{
+ background-color: #00f000;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph div.na
+{
+ background-color: #eaeaea;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph span.text
+{
+ display: block;
+ position: absolute;
+ text-align: center;
+ width: 100px;
+}
+
+div.separator {
+ height: 10px;
+}
+
+table tr td, table tr th {
+ font-size: 68%;
+}
+
+td.value table tr td {
+ font-size: 11px;
+}
+
+table.percentgraph {
+ border: 0px;
+ font-size: 130%;
+ margin: 0px;
+ margin-left: auto;
+ margin-right: 0px;
+ padding: 0px;
+}
+
+table.percentgraph tr.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+}
+
+table.percentgraph td.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ padding-left: 4px;
+}
+
+table.report {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.report td {
+ border: #d0d0d0 1px solid;
+}
+
+table.report td.heading {
+ background: #dcecff;
+ font-weight: bold;
+ text-align: center;
+}
+
+table.report td.heading:hover {
+ background: #c0ffc0;
+ cursor: pointer;
+}
+
+table.report td.value {
+ text-align: right;
+}
diff --git a/site/0.0.7/gcloud-java-core/cobertura/css/sortabletable.css b/site/0.0.7/gcloud-java-core/cobertura/css/sortabletable.css
new file mode 100644
index 000000000000..970e2b55c9b7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/css/sortabletable.css
@@ -0,0 +1,50 @@
+.sort-table {
+ font: Icon;
+ border: 1px Solid ThreeDShadow;
+ background: Window;
+ color: WindowText;
+}
+
+.sort-table thead {
+ background: ButtonFace;
+}
+
+.sort-table td {
+ padding: 2px 5px;
+}
+
+.sort-table thead td {
+ border: 1px solid;
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ cursor: default;
+}
+
+.sort-table thead td:active {
+ border-color: ButtonShadow ButtonHighlight
+ ButtonHighlight ButtonShadow;
+ padding: 3px 4px 1px 6px;
+}
+
+.sort-table thead td[_sortType=None]:active {
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ padding: 2px 5px;
+}
+
+.sort-arrow {
+ width: 11px;
+ height: 11px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ margin: 0 2px;
+}
+
+.sort-arrow.descending {
+ background-image: url("../images/downsimple.png");
+
+}
+
+.sort-arrow.ascending {
+ background-image: url("../images/upsimple.png");
+}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-core/cobertura/css/source-viewer.css b/site/0.0.7/gcloud-java-core/cobertura/css/source-viewer.css
new file mode 100644
index 000000000000..73797d613eb3
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/css/source-viewer.css
@@ -0,0 +1,73 @@
+pre.src {
+ background: #ffffff;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+table.src {
+ border: #dcdcdc 1px solid;
+ font-size: 16px;
+}
+
+td.numLine {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.numLineCover {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHits {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsCovered {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsUncovered {
+ background: #ff9090;
+ border-right: #dcdcdc 1px solid;
+ font-weight: bold;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.src {
+ width: 100%;
+}
+
+span.comment {
+ color: #b22222;
+ font-style: italic;
+}
+
+span.keyword {
+ color: #2020bf;
+ font-weight: bold;
+}
+
+span.srcUncovered {
+ background: #ff9090;
+}
+
+span.string {
+ color: #2a00ff;
+}
+
+span.text_italic {
+ font-size: 12px;
+ font-style: italic;
+}
diff --git a/site/0.0.7/gcloud-java-core/cobertura/css/tooltip.css b/site/0.0.7/gcloud-java-core/cobertura/css/tooltip.css
new file mode 100644
index 000000000000..c790d8104ebf
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/css/tooltip.css
@@ -0,0 +1,49 @@
+a.hastooltip {
+ border-bottom: 1px dotted #00aa00;
+ color: #000000;
+ cursor: help;
+ font-style: normal;
+ position: relative; /* This is the key */
+ text-decoration: none;
+ z-index: 24; /* What does this do? */
+}
+
+a.hastooltip:active {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:link {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:hover {
+ background-color: #a0b8ff;
+ color: #000000;
+ text-decoration: none;
+ z-index: 25;
+}
+
+a.hastooltip:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip span {
+ display: none;
+}
+
+a.hastooltip:hover span {
+ background-color: #eeeeee;
+ border: 1px solid #000000;
+ color: #000000;
+ display: block;
+ padding: 5px;
+ left: -15.2em;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ top: 2em;
+ width: 20em;
+}
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-packages.html b/site/0.0.7/gcloud-java-core/cobertura/frame-packages.html
new file mode 100644
index 000000000000..671bd25c0c86
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-packages.html
@@ -0,0 +1,23 @@
+
+
+
+
+Coverage Report
+
+
+
+Packages
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.html b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.html
new file mode 100644
index 000000000000..9b38f5b971e7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.html
@@ -0,0 +1,41 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..bfe1b849dc89
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
@@ -0,0 +1,23 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.spi
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles.html b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles.html
new file mode 100644
index 000000000000..0640ad061b22
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-sourcefiles.html
@@ -0,0 +1,44 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+All Packages
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.html b/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.html
new file mode 100644
index 000000000000..4dd8ceb73f81
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.html
@@ -0,0 +1,74 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..2137603a4203
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-summary-com.google.gcloud.spi.html
@@ -0,0 +1,42 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.spi
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/frame-summary.html b/site/0.0.7/gcloud-java-core/cobertura/frame-summary.html
new file mode 100644
index 000000000000..7b2e46c27a8f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/frame-summary.html
@@ -0,0 +1,31 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - All Packages
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/help.html b/site/0.0.7/gcloud-java-core/cobertura/help.html
new file mode 100644
index 000000000000..4c518dcd342d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/help.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+Coverage Report - Help
+
+
+
+
+
+
+Line Coverage
+The percent of lines executed by this test run.
+
+Branch Coverage
+The percent of branches executed by this test run.
+
+Complexity
+Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
+
+N/A
+Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/images/blank.png b/site/0.0.7/gcloud-java-core/cobertura/images/blank.png
new file mode 100644
index 000000000000..cee9cd37a10e
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/cobertura/images/blank.png differ
diff --git a/site/0.0.7/gcloud-java-core/cobertura/images/downsimple.png b/site/0.0.7/gcloud-java-core/cobertura/images/downsimple.png
new file mode 100644
index 000000000000..4accf927bed9
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/cobertura/images/downsimple.png differ
diff --git a/site/0.0.7/gcloud-java-core/cobertura/images/upsimple.png b/site/0.0.7/gcloud-java-core/cobertura/images/upsimple.png
new file mode 100644
index 000000000000..c82b76ffe2c9
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/cobertura/images/upsimple.png differ
diff --git a/site/0.0.7/gcloud-java-core/cobertura/index.html b/site/0.0.7/gcloud-java-core/cobertura/index.html
new file mode 100644
index 000000000000..573719b81895
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.
+ Click here to view a non-frame version.
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/cobertura/js/customsorttypes.js b/site/0.0.7/gcloud-java-core/cobertura/js/customsorttypes.js
new file mode 100644
index 000000000000..a16bda216f71
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/js/customsorttypes.js
@@ -0,0 +1,65 @@
+/*
+ * Cobertura - http://cobertura.sourceforge.net/
+ *
+ * Copyright (C) 2005 Mark Doliner
+ * Copyright (C) 2005 Olivier Parent
+ *
+ * Cobertura is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * Cobertura is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cobertura; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+function percentageSortType( s )
+{
+ var ret;
+ var i = s.indexOf( "%" );
+
+ if (i != -1) {
+ s = s.substr( 0, i );
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ ret = -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "Percentage", percentageSortType );
+
+
+
+// This is needed for correctly sorting numbers in different
+// locales. The stock number converter only expects to sort
+// numbers which use a period as a separator instead of a
+// comma (like French).
+function formattedNumberSortType( s )
+{
+ var ret;
+ var i = s.indexOf(';');
+
+ if (i != -1) {
+ s = s.substring(0, i);
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ return -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType );
diff --git a/site/0.0.7/gcloud-java-core/cobertura/js/popup.js b/site/0.0.7/gcloud-java-core/cobertura/js/popup.js
new file mode 100644
index 000000000000..4a09072260dc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/js/popup.js
@@ -0,0 +1,8 @@
+var newwindow;
+function popupwindow(url)
+{
+ newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+ if (window.focus) {
+ newwindow.focus()
+ }
+}
diff --git a/site/0.0.7/gcloud-java-core/cobertura/js/sortabletable.js b/site/0.0.7/gcloud-java-core/cobertura/js/sortabletable.js
new file mode 100644
index 000000000000..0dad657240f8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/js/sortabletable.js
@@ -0,0 +1,455 @@
+
+/*----------------------------------------------------------------------------\
+| Sortable Table 1.12 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1998 - 2004 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version |
+| 2003-01-19 | Minor changes to the date parsing |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText |
+| 2003-07-04 | Added workaround for IE cellIndex bug. |
+| 2003-11-09 | The bDescending argument to sort was not correctly working |
+| | Using onclick DOM0 event if no support for addEventListener |
+| | or attachEvent |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot |
+| | easier to add new, custom sort types. |
+| 2004-01-27 | Switch to use descending = false as the default sort order. |
+| | Change defaultDescending to suit your needs. |
+| 2004-03-14 | Improved sort type None look and feel a bit |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you |
+| | can use another tHead or no tHead, and you can chose some |
+| | other tBody. |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+ this.sortTypes = oSortTypes || [];
+
+ this.sortColumn = null;
+ this.descending = null;
+
+ var oThis = this;
+ this._headerOnclick = function (e) {
+ oThis.headerOnclick(e);
+ };
+
+ if (oTable) {
+ this.setTable( oTable );
+ this.document = oTable.ownerDocument || oTable.document;
+ }
+ else {
+ this.document = document;
+ }
+
+
+ // only IE needs this
+ var win = this.document.defaultView || this.document.parentWindow;
+ this._onunload = function () {
+ oThis.destroy();
+ };
+ if (win && typeof win.attachEvent != "undefined") {
+ win.attachEvent("onunload", this._onunload);
+ }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.element = oTable;
+ this.setTHead( oTable.tHead );
+ this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+ if (this.tHead && this.tHead != oTHead )
+ this.uninitHeader();
+ this.tHead = oTHead;
+ this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+ this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.sortTypes = oSortTypes || [];
+ if ( this.tHead )
+ this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var doc = this.tHead.ownerDocument || this.tHead.document;
+ this.sortTypes = oSortTypes || [];
+ var l = cells.length;
+ var img, c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+ img = doc.createElement("IMG");
+ img.src = "images/blank.png";
+ c.appendChild(img);
+ if (this.sortTypes[i] != null)
+ c._sortType = this.sortTypes[i];
+ if (typeof c.addEventListener != "undefined")
+ c.addEventListener("click", this._headerOnclick, false);
+ else if (typeof c.attachEvent != "undefined")
+ c.attachEvent("onclick", this._headerOnclick);
+ else
+ c.onclick = this._headerOnclick;
+ }
+ else
+ {
+ c.setAttribute( "_sortType", oSortTypes[i] );
+ c._sortType = "None";
+ }
+ }
+ this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (c._sortType != null && c._sortType != "None") {
+ c.removeChild(c.lastChild);
+ if (typeof c.removeEventListener != "undefined")
+ c.removeEventListener("click", this._headerOnclick, false);
+ else if (typeof c.detachEvent != "undefined")
+ c.detachEvent("onclick", this._headerOnclick);
+ c._sortType = null;
+ c.removeAttribute( "_sortType" );
+ }
+ }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var img;
+ for (var i = 0; i < l; i++) {
+ if (cells[i]._sortType != null && cells[i]._sortType != "None") {
+ img = cells[i].lastChild;
+ if (i == this.sortColumn)
+ img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");
+ else
+ img.className = "sort-arrow";
+ }
+ }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+ // find TD element
+ var el = e.target || e.srcElement;
+ while (el.tagName != "TD")
+ el = el.parentNode;
+
+ this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+ var cells = oTd.parentNode.childNodes
+ var l = cells.length;
+ var i;
+ for (i = 0; cells[i] != oTd && i < l; i++)
+ ;
+ return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+ return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+ if (!this.tBody) return;
+ if (sSortType == null)
+ sSortType = this.getSortType(nColumn);
+
+ // exit if None
+ if (sSortType == "None")
+ return;
+
+ if (bDescending == null) {
+ if (this.sortColumn != nColumn)
+ this.descending = this.defaultDescending;
+ else
+ this.descending = !this.descending;
+ }
+ else
+ this.descending = bDescending;
+
+ this.sortColumn = nColumn;
+
+ if (typeof this.onbeforesort == "function")
+ this.onbeforesort();
+
+ var f = this.getSortFunction(sSortType, nColumn);
+ var a = this.getCache(sSortType, nColumn);
+ var tBody = this.tBody;
+
+ a.sort(f);
+
+ if (this.descending)
+ a.reverse();
+
+ if (SortableTable.removeBeforeSort) {
+ // remove from doc
+ var nextSibling = tBody.nextSibling;
+ var p = tBody.parentNode;
+ p.removeChild(tBody);
+ }
+
+ // insert in the new order
+ var l = a.length;
+ for (var i = 0; i < l; i++)
+ tBody.appendChild(a[i].element);
+
+ if (SortableTable.removeBeforeSort) {
+ // insert into doc
+ p.insertBefore(tBody, nextSibling);
+ }
+
+ this.updateHeaderArrows();
+
+ this.destroyCache(a);
+
+ if (typeof this.onsort == "function")
+ this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {
+ var oThis = this;
+ this._asyncsort = function () {
+ oThis.sort(nColumn, bDescending, sSortType);
+ };
+ window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+ if (!this.tBody) return [];
+ var rows = this.tBody.rows;
+ var l = rows.length;
+ var a = new Array(l);
+ var r;
+ for (var i = 0; i < l; i++) {
+ r = rows[i];
+ a[i] = {
+ value: this.getRowValue(r, sType, nColumn),
+ element: r
+ };
+ };
+ return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+ var l = oArray.length;
+ for (var i = 0; i < l; i++) {
+ oArray[i].value = null;
+ oArray[i].element = null;
+ oArray[i] = null;
+ }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+ // if we have defined a custom getRowValue use that
+ if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+ return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+ var s;
+ var c = oRow.cells[nColumn];
+ if (typeof c.innerText != "undefined")
+ s = c.innerText;
+ else
+ s = SortableTable.getInnerText(c);
+ return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+ var s = "";
+ var cs = oNode.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ s += SortableTable.getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ s += cs[i].nodeValue;
+ break;
+ }
+ }
+ return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].getValueFromString( sText );
+ return sText;
+ /*
+ switch (sType) {
+ case "Number":
+ return Number(sText);
+ case "CaseInsensitiveString":
+ return sText.toUpperCase();
+ case "Date":
+ var parts = sText.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+ }
+ return sText;
+ */
+ };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].compare;
+ return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+ this.uninitHeader();
+ var win = this.document.parentWindow;
+ if (win && typeof win.detachEvent != "undefined") { // only IE needs this
+ win.detachEvent("onunload", this._onunload);
+ }
+ this._onunload = null;
+ this.element = null;
+ this.tHead = null;
+ this.tBody = null;
+ this.document = null;
+ this._headerOnclick = null;
+ this.sortTypes = null;
+ this._asyncsort = null;
+ this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+// string and casts it to a desired format. If left out the string is just
+// returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+// compare function. Takes two values and compares them. If left out less than,
+// <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function
+// that takes the row and the column index and returns the value used to compare.
+// If left out then the innerText is first taken for the cell and then the
+// fGetValueFromString is used to convert that string the desired value and type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {
+ this._sortTypeInfo[sType] = {
+ type: sType,
+ getValueFromString: fGetValueFromString || SortableTable.idFunction,
+ compare: fCompareFunction || SortableTable.basicCompare,
+ getRowValue: fGetRowValue
+ };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+ delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+ if (n1.value < n2.value)
+ return -1;
+ if (n2.value < n1.value)
+ return 1;
+ return 0;
+};
+
+SortableTable.idFunction = function (x) {
+ return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+ return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+ var parts = s.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
diff --git a/site/0.0.7/gcloud-java-core/cobertura/js/stringbuilder.js b/site/0.0.7/gcloud-java-core/cobertura/js/stringbuilder.js
new file mode 100644
index 000000000000..464a1cacb2ba
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/cobertura/js/stringbuilder.js
@@ -0,0 +1,79 @@
+/*----------------------------------------------------------------------------\
+| String Builder 1.02 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1999 - 2002 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version |
+| 2000-10-05 | Added a cache of the string so that it does not need to be |
+| | regenerated every time in toString |
+| 2002-10-03 | Added minor improvement in the toString method |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/ function StringBuilder(sString) {
+
+ // public
+ this.length = 0;
+
+ this.append = function (sString) {
+ // append argument
+ this.length += (this._parts[this._current++] = String(sString)).length;
+
+ // reset cache
+ this._string = null;
+ return this;
+ };
+
+ this.toString = function () {
+ if (this._string != null)
+ return this._string;
+
+ var s = this._parts.join("");
+ this._parts = [s];
+ this._current = 1;
+ this.length = s.length;
+
+ return this._string = s;
+ };
+
+ // private
+ this._current = 0;
+ this._parts = [];
+ this._string = null; // used to cache the string
+
+ // init
+ if (sString != null)
+ this.append(sString);
+}
diff --git a/site/0.0.7/gcloud-java-core/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/gcloud-java-core/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-core/css/print.css b/site/0.0.7/gcloud-java-core/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/gcloud-java-core/css/site.css b/site/0.0.7/gcloud-java-core/css/site.css
new file mode 100644
index 000000000000..055e7e286adc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-core/dependencies.html b/site/0.0.7/gcloud-java-core/dependencies.html
new file mode 100644
index 000000000000..0b27621e1ce2
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/dependencies.html
@@ -0,0 +1,1272 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Project Dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Dependencies
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Transitive Dependencies
+
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+GroupId
+ArtifactId
+Version
+Type
+License
+
+com.fasterxml.jackson.core
+jackson-core
+2.1.3
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.code.findbugs
+jsr305
+1.3.9
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jdo
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+commons-codec
+commons-codec
+1.3
+jar
+/LICENSE.txt
+
+commons-logging
+commons-logging
+1.1.1
+jar
+The Apache Software License, Version 2.0
+
+javax.jdo
+jdo2-api
+2.3-eb
+jar
+Apache 2
+
+javax.servlet
+servlet-api
+2.5
+jar
+-
+
+javax.transaction
+transaction-api
+1.1
+jar
+-
+
+org.apache.httpcomponents
+httpclient
+4.0.1
+jar
+../LICENSE.txt
+
+org.apache.httpcomponents
+httpcore
+4.0.1
+jar
+Apache License
+
+org.codehaus.jackson
+jackson-core-asl
+1.9.11
+jar
+The Apache Software License, Version 2.0
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Dependency Graph
+
+
+
Dependency Tree
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT
+
+com.google.auth:google-auth-library-credentials:jar:0.1.0 (compile)
+com.google.auth:google-auth-library-oauth2-http:jar:0.1.0 (compile)
+
+com.google.http-client:google-http-client-jackson2:jar:1.19.0 (compile)
+
+com.fasterxml.jackson.core:jackson-core:jar:2.1.3 (compile)
+com.google.http-client:google-http-client:jar:1.20.0 (compile)
+
+com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
+org.apache.httpcomponents:httpclient:jar:4.0.1 (compile)
+
+org.apache.httpcomponents:httpcore:jar:4.0.1 (compile)
+commons-logging:commons-logging:jar:1.1.1 (compile)
+commons-codec:commons-codec:jar:1.3 (compile)
+com.google.oauth-client:google-oauth-client:jar:1.20.0 (compile)
+com.google.guava:guava:jar:18.0 (compile)
+com.google.api-client:google-api-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0 (compile)
+
+com.google.http-client:google-http-client-jdo:jar:1.20.0 (compile)
+javax.servlet:servlet-api:jar:2.5 (compile)
+
+
+servlet-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.api-client:google-api-client:jar:1.20.0 (compile)
+com.google.api-client:google-api-client-servlet:jar:1.20.0 (compile)
+
+javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+JDO2 API
+
+
+Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
+URL: http://db.apache.org/jdo/index.html
+Project License: Apache 2
+
+javax.transaction:transaction-api:jar:1.1 (compile)
+
+
+transaction-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.http-client:google-http-client-appengine:jar:1.20.0 (compile)
+com.google.http-client:google-http-client-jackson:jar:1.20.0 (compile)
+
+org.codehaus.jackson:jackson-core-asl:jar:1.9.11 (compile)
+junit:junit:jar:4.12 (test)
+
+org.hamcrest:hamcrest-core:jar:1.3 (test)
+joda-time:joda-time:jar:2.8.2 (compile)
+org.json:json:jar:20090211 (compile)
+
+
+JSON (JavaScript Object Notation)
+
+
+Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
+URL: http://www.json.org/java/index.html
+Project License: provided without support or warranty
+org.easymock:easymock:jar:3.3 (test)
+
+
+EasyMock
+
+
+Description: EasyMock provides an easy way to create Mock Objects for interfaces and classes generating them on the fly
+URL: http://easymock.org/easymock
+Project License: Apache 2
+
+cglib:cglib-nodep:jar:3.1 (test)
+org.objenesis:objenesis:jar:2.1 (test)
+
+
Licenses
+
Apache 2: EasyMock, JDO2 API, Joda-Time, Objenesis
+
Unknown: servlet-api, transaction-api
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Eclipse Public License 1.0: JUnit
+
Apache License: HttpClient, HttpCore
+
GCloud Java Software License: GCloud Java core
+
ASF 2.0: Code Generation Library
+
BSD New license: Google Auth Library for Java - Credentials, Google Auth Library for Java - OAuth2 HTTP
+
New BSD License: Hamcrest Core
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Jackson, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson extensions to the Google HTTP Client Library for Java., Jackson-core, Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
+
Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+cglib-nodep-3.1.jar
+331.20 kB
+256
+252
+9
+1.2
+Yes
+
+jackson-core-2.1.3.jar
+206.80 kB
+110
+89
+8
+1.5
+Yes
+
+google-api-client-1.20.0.jar
+194.26 kB
+137
+106
+22
+1.5
+Yes
+
+google-api-client-appengine-1.20.0.jar
+9.87 kB
+22
+7
+3
+1.5
+Yes
+
+google-api-client-servlet-1.20.0.jar
+6.72 kB
+14
+4
+1
+1.5
+Yes
+
+google-auth-library-credentials-0.1.0.jar
+2.67 kB
+11
+1
+1
+1.5
+Yes
+
+google-auth-library-oauth2-http-0.1.0.jar
+21.79 kB
+21
+9
+2
+1.5
+Yes
+
+jsr305-1.3.9.jar
+33.01 kB
+72
+35
+3
+1.5
+Yes
+
+guava-18.0.jar
+2.26 MB
+1719
+1690
+17
+1.6
+Yes
+
+google-http-client-1.20.0.jar
+286.72 kB
+247
+213
+20
+1.5
+Yes
+
+google-http-client-appengine-1.20.0.jar
+15.69 kB
+21
+11
+2
+1.5
+Yes
+
+google-http-client-jackson-1.20.0.jar
+6.03 kB
+12
+4
+1
+1.5
+Yes
+
+google-http-client-jackson2-1.19.0.jar
+6.72 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-jdo-1.20.0.jar
+11.34 kB
+13
+5
+1
+1.5
+Yes
+
+google-oauth-client-1.20.0.jar
+61.09 kB
+57
+47
+3
+1.5
+Yes
+
+google-oauth-client-appengine-1.20.0.jar
+7.95 kB
+17
+7
+2
+1.5
+Yes
+
+google-oauth-client-servlet-1.20.0.jar
+22.12 kB
+24
+11
+4
+1.5
+Yes
+
+commons-codec-1.3.jar
+46.72 kB
+42
+25
+5
+1.2
+Yes
+
+commons-logging-1.1.1.jar
+60.69 kB
+42
+28
+2
+1.1
+Yes
+
+jdo2-api-2.3-eb.jar
+192.70 kB
+226
+182
+7
+1.5
+Yes
+
+servlet-api-2.5.jar
+105.11 kB
+68
+42
+2
+1.5
+Yes
+
+transaction-api-1.1.jar
+15.07 kB
+24
+18
+2
+1.3
+Yes
+
+joda-time-2.8.2.jar
+621.99 kB
+749
+246
+7
+1.5
+Yes
+
+junit-4.12.jar
+314.93 kB
+323
+286
+30
+1.5
+Yes
+
+httpclient-4.0.1.jar
+291.04 kB
+266
+230
+22
+1.5
+Yes
+
+httpcore-4.0.1.jar
+172.89 kB
+181
+158
+10
+1.3
+Yes
+
+jackson-core-asl-1.9.11.jar
+232.13 kB
+137
+121
+8
+1.5
+Yes
+
+easymock-3.3.jar
+126.61 kB
+104
+95
+3
+1.5
+Yes
+
+hamcrest-core-1.3.jar
+45.02 kB
+52
+45
+3
+1.5
+Yes
+
+json-20090211.jar
+45.94 kB
+21
+19
+1
+1.6
+Yes
+
+objenesis-2.1.jar
+41.76 kB
+52
+37
+9
+1.5
+Yes
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+31
+5.79 MB
+5053
+4028
+211
+1.6
+31
+
+compile: 26
+compile: 4.93 MB
+compile: 4266
+compile: 3313
+compile: 157
+-
+compile: 26
+
+test: 5
+test: 859.53 kB
+test: 787
+test: 715
+test: 54
+-
+test: 5
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/dependency-analysis.html b/site/0.0.7/gcloud-java-core/dependency-analysis.html
new file mode 100644
index 000000000000..c14919b939c8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/dependency-analysis.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Dependencies Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Analysis
+
+
Used and declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.auth
+google-auth-library-oauth2-http
+0.1.0
+compile
+
+jar
+false
+
+com.google.http-client
+google-http-client
+1.20.0
+compile
+
+jar
+false
+
+com.google.guava
+guava
+18.0
+compile
+
+jar
+false
+
+com.google.api-client
+google-api-client-appengine
+1.20.0
+compile
+
+jar
+false
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+compile
+
+jar
+false
+
+junit
+junit
+4.12
+test
+
+jar
+false
+
+
Used but undeclared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.api-client
+google-api-client
+1.20.0
+compile
+
+jar
+false
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+compile
+
+jar
+false
+
+
Unused but declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.auth
+google-auth-library-credentials
+0.1.0
+compile
+
+jar
+false
+
+com.google.oauth-client
+google-oauth-client
+1.20.0
+compile
+
+jar
+false
+
+joda-time
+joda-time
+2.8.2
+compile
+
+jar
+false
+
+org.json
+json
+20090211
+compile
+
+jar
+false
+
+org.easymock
+easymock
+3.3
+test
+
+jar
+false
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/dependency-convergence.html b/site/0.0.7/gcloud-java-core/dependency-convergence.html
new file mode 100644
index 000000000000..2325b50879e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/dependency-convergence.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+50
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 82 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/dependency-info.html b/site/0.0.7/gcloud-java-core/dependency-info.html
new file mode 100644
index 000000000000..e1cc390d02ca
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/dependency-info.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java-core</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java-core" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java-core" type="jar" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java-core', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java-core:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java-core "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java-core" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/dev-activity.html b/site/0.0.7/gcloud-java-core/dev-activity.html
new file mode 100644
index 000000000000..ff5f71bc9804
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/dev-activity.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+aozarov <aozarov@gmail.com>
+1
+1
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/distribution-management.html b/site/0.0.7/gcloud-java-core/distribution-management.html
new file mode 100644
index 000000000000..8b79a6b51a60
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/distribution-management.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/gcloud-java-core/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/file-activity.html b/site/0.0.7/gcloud-java-core/file-activity.html
new file mode 100644
index 000000000000..1fe71b386ec0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/file-activity.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/images/accessories-text-editor.png b/site/0.0.7/gcloud-java-core/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/add.gif b/site/0.0.7/gcloud-java-core/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/add.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/apache-maven-project-2.png b/site/0.0.7/gcloud-java-core/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/application-certificate.png b/site/0.0.7/gcloud-java-core/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/application-certificate.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/close.gif b/site/0.0.7/gcloud-java-core/images/close.gif
new file mode 100644
index 000000000000..1c26bbc5264f
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/close.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/contact-new.png b/site/0.0.7/gcloud-java-core/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/contact-new.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/document-properties.png b/site/0.0.7/gcloud-java-core/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/document-properties.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/drive-harddisk.png b/site/0.0.7/gcloud-java-core/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/drive-harddisk.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/fix.gif b/site/0.0.7/gcloud-java-core/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/fix.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/icon_error_sml.gif b/site/0.0.7/gcloud-java-core/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/icon_help_sml.gif b/site/0.0.7/gcloud-java-core/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/icon_info_sml.gif b/site/0.0.7/gcloud-java-core/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/icon_success_sml.gif b/site/0.0.7/gcloud-java-core/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/icon_warning_sml.gif b/site/0.0.7/gcloud-java-core/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/image-x-generic.png b/site/0.0.7/gcloud-java-core/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/image-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/internet-web-browser.png b/site/0.0.7/gcloud-java-core/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/internet-web-browser.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-black.png b/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-white.png b/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/logos/maven-feather.png b/site/0.0.7/gcloud-java-core/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/network-server.png b/site/0.0.7/gcloud-java-core/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/network-server.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/package-x-generic.png b/site/0.0.7/gcloud-java-core/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/package-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/profiles/pre-release.png b/site/0.0.7/gcloud-java-core/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/profiles/retired.png b/site/0.0.7/gcloud-java-core/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/profiles/retired.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/profiles/sandbox.png b/site/0.0.7/gcloud-java-core/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/remove.gif b/site/0.0.7/gcloud-java-core/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/remove.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/rss.png b/site/0.0.7/gcloud-java-core/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/rss.png differ
diff --git a/site/0.0.7/gcloud-java-core/images/update.gif b/site/0.0.7/gcloud-java-core/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/update.gif differ
diff --git a/site/0.0.7/gcloud-java-core/images/window-new.png b/site/0.0.7/gcloud-java-core/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/images/window-new.png differ
diff --git a/site/0.0.7/gcloud-java-core/img/glyphicons-halflings-white.png b/site/0.0.7/gcloud-java-core/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/gcloud-java-core/img/glyphicons-halflings.png b/site/0.0.7/gcloud-java-core/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/gcloud-java-core/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/gcloud-java-core/index.html b/site/0.0.7/gcloud-java-core/index.html
new file mode 100644
index 000000000000..c62c4cc97b5c
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/index.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About GCloud Java core
+
Core module for the gcloud-java.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/integration.html b/site/0.0.7/gcloud-java-core/integration.html
new file mode 100644
index 000000000000..7bad524f5193
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/integration.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/issue-tracking.html b/site/0.0.7/gcloud-java-core/issue-tracking.html
new file mode 100644
index 000000000000..7442ee30d839
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/issue-tracking.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/gcloud-java-core/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/project-info.html b/site/0.0.7/gcloud-java-core/project-info.html
new file mode 100644
index 000000000000..6b2c06d63d14
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/project-info.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Core module for the gcloud-java.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependencies
+This document lists the project's dependencies and provides information on each dependency.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/project-reports.html b/site/0.0.7/gcloud-java-core/project-reports.html
new file mode 100644
index 000000000000..40f58db6e279
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/project-reports.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/project-summary.html b/site/0.0.7/gcloud-java-core/project-summary.html
new file mode 100644
index 000000000000..48ecab605154
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/project-summary.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java-core
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+jar
+
+Java Version
+1.7
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/source-repository.html b/site/0.0.7/gcloud-java-core/source-repository.html
new file mode 100644
index 000000000000..2a5ae86bb28a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/source-repository.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/surefire-report.html b/site/0.0.7/gcloud-java-core/surefire-report.html
new file mode 100644
index 000000000000..19d86b0668a5
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/surefire-report.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-core/team-list.html b/site/0.0.7/gcloud-java-core/team-list.html
new file mode 100644
index 000000000000..5218e9f94248
--- /dev/null
+++ b/site/0.0.7/gcloud-java-core/team-list.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+ GCloud Java core – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/changelog.html b/site/0.0.7/gcloud-java-datastore/changelog.html
new file mode 100644
index 000000000000..4ea7495db2fc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/changelog.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Timestamp
+Author
+Details
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/checkstyle.html b/site/0.0.7/gcloud-java-datastore/checkstyle.html
new file mode 100644
index 000000000000..73864c930b69
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/checkstyle.html
@@ -0,0 +1,612 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle 6.8.1 with checkstyle.xml ruleset.
+
+
Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+55
+0
+29
+0
+
+
+
+
Details
+
+
com/google/gcloud/datastore/BaseEntity.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '83'.
+105
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '79'.
+110
+
+
com/google/gcloud/datastore/Blob.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+138
+
+
+
com/google/gcloud/datastore/DatastoreBatchWriter.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+50
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+60
+
+
com/google/gcloud/datastore/DatastoreImpl.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+coding
+OverloadMethodsDeclarationOrder
+Overload methods should not be split. Previous overloaded method located at line '207'.
+217
+
+
com/google/gcloud/datastore/DateTime.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+82
+
+
com/google/gcloud/datastore/GqlQuery.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+189
+
+ Warning
+naming
+LocalVariableName
+Local variable name 'v' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
+298
+
+
+
+
com/google/gcloud/datastore/ListValue.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+73
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+80
+
+
com/google/gcloud/datastore/PathElement.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+120
+
+
com/google/gcloud/datastore/StructuredQuery.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+228
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+581
+
+
com/google/gcloud/spi/DatastoreRpc.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+whitespace
+EmptyLineSeparator
+'package' should be separated from previous statement.
+16
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+86
+
+
com/google/gcloud/spi/DefaultDatastoreRpc.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+64
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/checkstyle.rss b/site/0.0.7/gcloud-java-datastore/checkstyle.rss
new file mode 100644
index 000000000000..1a6c47d8533d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/checkstyle.rss
@@ -0,0 +1,824 @@
+
+
+
+
+ GCloud Java datastore - Checkstyle report
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-datastore
+ GCloud Java datastore - Checkstyle report
+ en-us
+ ©2015 Google
+ -
+
File: 55,
+ Errors: 0,
+ Warnings: 29,
+ Infos: 0
+
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-datastore/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html
new file mode 100644
index 000000000000..097b9f0c43ba
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseDatastoreBatchWriter.html
@@ -0,0 +1,368 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseDatastoreBatchWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Preconditions;
+ 21
+ import com.google.common.collect.Iterables;
+ 22
+ import com.google.common.collect.Lists;
+ 23
+
+ 24
+ import java.util.Collections;
+ 25
+ import java.util.Iterator;
+ 26
+ import java.util.LinkedHashMap;
+ 27
+ import java.util.LinkedHashSet;
+ 28
+ import java.util.LinkedList;
+ 29
+ import java.util.List;
+ 30
+ import java.util.Map;
+ 31
+ import java.util.Set;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ public abstract class BaseDatastoreBatchWriter implements DatastoreBatchWriter {
+ 37
+
+ 38
+ private final String name;
+ 39 0 private final Map<Key, FullEntity<Key>> toAdd = new LinkedHashMap<>();
+ 40 0 private final List<FullEntity<IncompleteKey>> toAddAutoId = new LinkedList<>();
+ 41 0 private final Map<Key, FullEntity<Key>> toUpdate = new LinkedHashMap<>();
+ 42 0 private final Map<Key, FullEntity<Key>> toPut = new LinkedHashMap<>();
+ 43 0 private final Set<Key> toDelete = new LinkedHashSet<>();
+ 44 0 private boolean active = true ;
+ 45
+
+ 46 0 protected BaseDatastoreBatchWriter(String name) {
+ 47 0 this .name = name;
+ 48 0 }
+ 49
+
+ 50
+ @SuppressWarnings("unchecked" )
+ 51
+ @Override
+ 52
+ public final void addWithDeferredIdAllocation(FullEntity<?>... entities) {
+ 53 0 validateActive();
+ 54 0 for (FullEntity<?> entity : entities) {
+ 55 0 IncompleteKey key = entity.key();
+ 56 0 Preconditions.checkArgument(key != null , "Entity must have a key" );
+ 57 0 if (key instanceof Key) {
+ 58 0 addInternal((FullEntity<Key>) entity);
+ 59
+ } else {
+ 60 0 toAddAutoId.add((FullEntity<IncompleteKey>) entity);
+ 61
+ }
+ 62
+ }
+ 63 0 }
+ 64
+
+ 65
+ private void addInternal(FullEntity<Key> entity) {
+ 66 0 Key key = entity.key();
+ 67 0 if (toAdd.containsKey(key) || toUpdate.containsKey(key) || toPut.containsKey(key)) {
+ 68 0 throw newInvalidRequest("Entity with the key %s was already added or updated in this %s" ,
+ 69 0 entity.key(), name);
+ 70
+ }
+ 71 0 if (toDelete.remove(key)) {
+ 72 0 toPut.put(key, entity);
+ 73
+ } else {
+ 74 0 toAdd.put(key, entity);
+ 75
+ }
+ 76 0 }
+ 77
+
+ 78
+ @Override
+ 79
+ public final Entity add(FullEntity<?> entity) {
+ 80 0 return DatastoreHelper.add(this , entity);
+ 81
+ }
+ 82
+
+ 83
+ @SuppressWarnings("unchecked" )
+ 84
+ @Override
+ 85
+ public final List<Entity> add(FullEntity<?>... entities) {
+ 86 0 validateActive();
+ 87 0 List<IncompleteKey> incompleteKeys = Lists.newArrayListWithExpectedSize(entities.length);
+ 88 0 for (FullEntity<?> entity : entities) {
+ 89 0 IncompleteKey key = entity.key();
+ 90 0 Preconditions.checkArgument(key != null , "Entity must have a key" );
+ 91 0 if (key instanceof Key) {
+ 92 0 addInternal((FullEntity<Key>) entity);
+ 93
+ } else {
+ 94 0 incompleteKeys.add(key);
+ 95
+ }
+ 96
+ }
+ 97
+ Iterator<Key> allocated;
+ 98 0 if (!incompleteKeys.isEmpty()) {
+ 99 0 IncompleteKey[] toAllocate = Iterables.toArray(incompleteKeys, IncompleteKey.class );
+ 100 0 allocated = datastore().allocateId(toAllocate).iterator();
+ 101 0 } else {
+ 102 0 allocated = Collections.emptyIterator();
+ 103
+ }
+ 104 0 List<Entity> answer = Lists.newArrayListWithExpectedSize(entities.length);
+ 105 0 for (FullEntity<?> entity : entities) {
+ 106 0 if (entity.key() instanceof Key) {
+ 107 0 answer.add(Entity.convert((FullEntity<Key>) entity));
+ 108
+ } else {
+ 109 0 Entity entityWithAllocatedId = Entity.builder(allocated.next(), entity).build();
+ 110 0 addInternal(entityWithAllocatedId);
+ 111 0 answer.add(entityWithAllocatedId);
+ 112
+ }
+ 113
+ }
+ 114 0 return answer;
+ 115
+ }
+ 116
+
+ 117
+ @SafeVarargs
+ 118
+ @Override
+ 119
+ public final void update(Entity... entities) {
+ 120 0 validateActive();
+ 121 0 for (Entity entity : entities) {
+ 122 0 Key key = entity.key();
+ 123 0 if (toDelete.contains(key)) {
+ 124 0 throw newInvalidRequest("Entity with the key %s was already deleted in this %s" ,
+ 125 0 entity.key(), name);
+ 126
+ }
+ 127 0 if (toAdd.remove(key) != null || toPut.containsKey(key)) {
+ 128 0 toPut.put(key, entity);
+ 129
+ } else {
+ 130 0 toUpdate.put(key, entity);
+ 131
+ }
+ 132
+ }
+ 133 0 }
+ 134
+
+ 135
+ @SafeVarargs
+ 136
+ @Override
+ 137
+ public final void put(Entity... entities) {
+ 138 0 validateActive();
+ 139 0 for (Entity entity : entities) {
+ 140 0 Key key = entity.key();
+ 141 0 toAdd.remove(key);
+ 142 0 toUpdate.remove(key);
+ 143 0 toDelete.remove(key);
+ 144 0 toPut.put(key, entity);
+ 145
+ }
+ 146 0 }
+ 147
+
+ 148
+ @Override
+ 149
+ public final void delete(Key... keys) {
+ 150 0 validateActive();
+ 151 0 for (Key key : keys) {
+ 152 0 toAdd.remove(key);
+ 153 0 toUpdate.remove(key);
+ 154 0 toPut.remove(key);
+ 155 0 toDelete.add(key);
+ 156
+ }
+ 157 0 }
+ 158
+
+ 159
+ @Override
+ 160
+ public boolean active() {
+ 161 0 return active;
+ 162
+ }
+ 163
+
+ 164
+ protected String name() {
+ 165 0 return name;
+ 166
+ }
+ 167
+
+ 168
+ protected Map<Key, FullEntity<Key>> toAdd() {
+ 169 0 return toAdd;
+ 170
+ }
+ 171
+
+ 172
+ protected List<FullEntity<IncompleteKey>> toAddAutoId() {
+ 173 0 return toAddAutoId;
+ 174
+ }
+ 175
+
+ 176
+ protected Map<Key, FullEntity<Key>> toUpdate() {
+ 177 0 return toUpdate;
+ 178
+ }
+ 179
+
+ 180
+ protected Map<Key, FullEntity<Key>> toPut() {
+ 181 0 return toPut;
+ 182
+ }
+ 183
+
+ 184
+ protected Set<Key> toDelete() {
+ 185 0 return toDelete;
+ 186
+ }
+ 187
+
+ 188
+ protected void deactivate() {
+ 189 0 active = false ;
+ 190 0 }
+ 191
+
+ 192
+ protected void validateActive() {
+ 193 0 if (!active) {
+ 194 0 throw newInvalidRequest("%s is no longer active" , name);
+ 195
+ }
+ 196 0 }
+ 197
+
+ 198
+ protected DatastoreException newInvalidRequest(String msg, Object... params) {
+ 199 0 return DatastoreException.throwInvalidRequest(String.format(msg, params));
+ 200
+ }
+ 201
+
+ 202
+ protected DatastoreV1.Mutation.Builder toMutationPb() {
+ 203 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 204 0 for (FullEntity<IncompleteKey> entity : toAddAutoId()) {
+ 205 0 mutationPb.addInsertAutoId(entity.toPb());
+ 206 0 }
+ 207 0 for (FullEntity<Key> entity : toAdd().values()) {
+ 208 0 mutationPb.addInsert(entity.toPb());
+ 209 0 }
+ 210 0 for (FullEntity<Key> entity : toUpdate().values()) {
+ 211 0 mutationPb.addUpdate(entity.toPb());
+ 212 0 }
+ 213 0 for (FullEntity<Key> entity : toPut().values()) {
+ 214 0 mutationPb.addUpsert(entity.toPb());
+ 215 0 }
+ 216 0 for (Key key : toDelete()) {
+ 217 0 mutationPb.addDelete(key.toPb());
+ 218 0 }
+ 219 0 return mutationPb;
+ 220
+ }
+ 221
+
+ 222
+ protected abstract Datastore datastore();
+ 223
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseEntity.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseEntity.html
new file mode 100644
index 000000000000..f182a719c3f7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseEntity.html
@@ -0,0 +1,720 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.BlobValue.of;
+ 20
+ import static com.google.gcloud.datastore.BooleanValue.of;
+ 21
+ import static com.google.gcloud.datastore.DateTimeValue.of;
+ 22
+ import static com.google.gcloud.datastore.DoubleValue.of;
+ 23
+ import static com.google.gcloud.datastore.EntityValue.of;
+ 24
+ import static com.google.gcloud.datastore.KeyValue.of;
+ 25
+ import static com.google.gcloud.datastore.ListValue.of;
+ 26
+ import static com.google.gcloud.datastore.LongValue.of;
+ 27
+ import static com.google.gcloud.datastore.NullValue.of;
+ 28
+ import static com.google.gcloud.datastore.StringValue.of;
+ 29
+
+ 30
+ import com.google.api.services.datastore.DatastoreV1;
+ 31
+ import com.google.common.collect.ImmutableSortedMap;
+ 32
+ import com.google.common.collect.Maps;
+ 33
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 34
+
+ 35
+ import java.util.HashMap;
+ 36
+ import java.util.List;
+ 37
+ import java.util.Map;
+ 38
+ import java.util.Objects;
+ 39
+ import java.util.Set;
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51 0 public abstract class BaseEntity<K extends IncompleteKey> extends Serializable<DatastoreV1.Entity> {
+ 52
+
+ 53
+ private static final long serialVersionUID = 8175618724683792766L;
+ 54
+
+ 55
+ private final transient ImmutableSortedMap<String, Value<?>> properties;
+ 56
+ private final K key;
+ 57
+
+ 58 0 public abstract static class Builder<K extends IncompleteKey, B extends Builder<K, B>> {
+ 59
+
+ 60
+ private K key;
+ 61 0 private final Map<String, Value<?>> properties = new HashMap<>();
+ 62
+
+ 63 0 Builder() {
+ 64 0 }
+ 65
+
+ 66 0 Builder(K key) {
+ 67 0 key(key);
+ 68 0 }
+ 69
+
+ 70
+ Builder(BaseEntity<K> entity) {
+ 71 0 this (entity.key, entity);
+ 72 0 }
+ 73
+
+ 74 0 Builder(K key, BaseEntity<?> entity) {
+ 75 0 key(key);
+ 76 0 properties(entity.properties);
+ 77 0 }
+ 78
+
+ 79
+ protected K key() {
+ 80 0 return key;
+ 81
+ }
+ 82
+
+ 83
+ protected Map<String, Value<?>> properties() {
+ 84 0 return properties;
+ 85
+ }
+ 86
+
+ 87
+ @SuppressWarnings("unchecked" )
+ 88
+ private B self() {
+ 89 0 return (B) this ;
+ 90
+ }
+ 91
+
+ 92
+ @SuppressWarnings("unchecked" )
+ 93
+ protected B fill(DatastoreV1.Entity entityPb) {
+ 94 0 Map<String, Value<?>> copiedProperties = Maps.newHashMap();
+ 95 0 for (DatastoreV1.Property property : entityPb.getPropertyList()) {
+ 96 0 copiedProperties.put(property.getName(), Value.fromPb(property.getValue()));
+ 97 0 }
+ 98 0 properties(copiedProperties);
+ 99 0 if (entityPb.hasKey()) {
+ 100 0 key((K) IncompleteKey.fromPb(entityPb.getKey()));
+ 101
+ }
+ 102 0 return self();
+ 103
+ }
+ 104
+
+ 105
+ protected B properties(Map<String, Value<?>> properties) {
+ 106 0 this .properties.putAll(properties);
+ 107 0 return self();
+ 108
+ }
+ 109
+
+ 110
+ public B key(K key) {
+ 111 0 this .key = key;
+ 112 0 return self();
+ 113
+ }
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+ public B clear() {
+ 119 0 properties.clear();
+ 120 0 return self();
+ 121
+ }
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public B remove(String name) {
+ 127 0 properties.remove(name);
+ 128 0 return self();
+ 129
+ }
+ 130
+
+ 131
+ public B set(String name, Value<?> value) {
+ 132 0 properties.put(name, value);
+ 133 0 return self();
+ 134
+ }
+ 135
+
+ 136
+ public B set(String name, String value) {
+ 137 0 properties.put(name, of(value));
+ 138 0 return self();
+ 139
+ }
+ 140
+
+ 141
+ public B set(String name, long value) {
+ 142 0 properties.put(name, of(value));
+ 143 0 return self();
+ 144
+ }
+ 145
+
+ 146
+ public B set(String name, double value) {
+ 147 0 properties.put(name, of(value));
+ 148 0 return self();
+ 149
+ }
+ 150
+
+ 151
+ public B set(String name, boolean value) {
+ 152 0 properties.put(name, of(value));
+ 153 0 return self();
+ 154
+ }
+ 155
+
+ 156
+ public B set(String name, DateTime value) {
+ 157 0 properties.put(name, of(value));
+ 158 0 return self();
+ 159
+ }
+ 160
+
+ 161
+ public B set(String name, Key value) {
+ 162 0 properties.put(name, of(value));
+ 163 0 return self();
+ 164
+ }
+ 165
+
+ 166
+ public B set(String name, FullEntity<?> value) {
+ 167 0 properties.put(name, of(value));
+ 168 0 return self();
+ 169
+ }
+ 170
+
+ 171
+ public B set(String name, List<? extends Value<?>> values) {
+ 172 0 properties.put(name, of(values));
+ 173 0 return self();
+ 174
+ }
+ 175
+
+ 176
+ public B set(String name, Value<?> value, Value<?>... other) {
+ 177 0 properties.put(name, of(value, other));
+ 178 0 return self();
+ 179
+ }
+ 180
+
+ 181
+ public B set(String name, Blob value) {
+ 182 0 properties.put(name, of(value));
+ 183 0 return self();
+ 184
+ }
+ 185
+
+ 186
+ public B setNull(String name) {
+ 187 0 properties.put(name, of());
+ 188 0 return self();
+ 189
+ }
+ 190
+
+ 191
+ public abstract BaseEntity<K> build();
+ 192
+ }
+ 193
+
+ 194 0 BaseEntity(Builder<K, ?> builder) {
+ 195 0 this .key = builder.key;
+ 196 0 this .properties = ImmutableSortedMap.copyOf(builder.properties);
+ 197 0 }
+ 198
+
+ 199 0 BaseEntity(BaseEntity<K> from) {
+ 200 0 this .key = from.key();
+ 201 0 this .properties = from.properties;
+ 202 0 }
+ 203
+
+ 204
+ @Override
+ 205
+ public int hashCode() {
+ 206 0 return Objects.hash(key, properties);
+ 207
+ }
+ 208
+
+ 209
+ @Override
+ 210
+ public boolean equals(Object obj) {
+ 211 0 if (obj == this ) {
+ 212 0 return true ;
+ 213
+ }
+ 214 0 if (!(obj instanceof BaseEntity)) {
+ 215 0 return false ;
+ 216
+ }
+ 217 0 BaseEntity<?> other = (BaseEntity<?>) obj;
+ 218 0 return Objects.equals(key, other.key)
+ 219 0 && Objects.equals(properties, other.properties);
+ 220
+ }
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+ public boolean hasKey() {
+ 226 0 return key != null ;
+ 227
+ }
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+ public K key() {
+ 233 0 return key;
+ 234
+ }
+ 235
+
+ 236
+
+ 237
+
+ 238
+
+ 239
+ public boolean contains(String name) {
+ 240 0 return properties.containsKey(name);
+ 241
+ }
+ 242
+
+ 243
+
+ 244
+
+ 245
+
+ 246
+
+ 247
+
+ 248
+ public <V extends Value<?>> V getValue(String name) {
+ 249
+ @SuppressWarnings("unchecked" )
+ 250 0 V property = (V) properties.get(name);
+ 251 0 if (property == null ) {
+ 252 0 throw DatastoreException.throwInvalidRequest("No such property %s" , name);
+ 253
+ }
+ 254 0 return property;
+ 255
+ }
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+
+ 262
+ public boolean isNull(String name) {
+ 263 0 return getValue(name) instanceof NullValue;
+ 264
+ }
+ 265
+
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
+
+ 271
+
+ 272
+
+ 273
+ @SuppressWarnings("unchecked" )
+ 274
+ public String getString(String name) {
+ 275 0 return ((Value<String>) getValue(name)).get();
+ 276
+ }
+ 277
+
+ 278
+
+ 279
+
+ 280
+
+ 281
+
+ 282
+
+ 283
+
+ 284
+ @SuppressWarnings("unchecked" )
+ 285
+ public long getLong(String name) {
+ 286 0 return ((Value<Long>) getValue(name)).get();
+ 287
+ }
+ 288
+
+ 289
+
+ 290
+
+ 291
+
+ 292
+
+ 293
+
+ 294
+
+ 295
+ @SuppressWarnings("unchecked" )
+ 296
+ public double getDouble(String name) {
+ 297 0 return ((Value<Double>) getValue(name)).get();
+ 298
+ }
+ 299
+
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+
+ 305
+
+ 306
+ @SuppressWarnings("unchecked" )
+ 307
+ public boolean getBoolean(String name) {
+ 308 0 return ((Value<Boolean>) getValue(name)).get();
+ 309
+ }
+ 310
+
+ 311
+
+ 312
+
+ 313
+
+ 314
+
+ 315
+
+ 316
+
+ 317
+ @SuppressWarnings("unchecked" )
+ 318
+ public DateTime getDateTime(String name) {
+ 319 0 return ((Value<DateTime>) getValue(name)).get();
+ 320
+ }
+ 321
+
+ 322
+
+ 323
+
+ 324
+
+ 325
+
+ 326
+
+ 327
+
+ 328
+ @SuppressWarnings("unchecked" )
+ 329
+ public Key getKey(String name) {
+ 330 0 return ((Value<Key>) getValue(name)).get();
+ 331
+ }
+ 332
+
+ 333
+
+ 334
+
+ 335
+
+ 336
+
+ 337
+
+ 338
+
+ 339
+ @SuppressWarnings("unchecked" )
+ 340
+ public <K extends IncompleteKey> FullEntity<K> getEntity(String name) {
+ 341 0 return ((Value<FullEntity<K>>) getValue(name)).get();
+ 342
+ }
+ 343
+
+ 344
+
+ 345
+
+ 346
+
+ 347
+
+ 348
+
+ 349
+
+ 350
+ @SuppressWarnings("unchecked" )
+ 351
+ public List<? extends Value<?>> getList(String name) {
+ 352 0 return ((Value<List<? extends Value<?>>>) getValue(name)).get();
+ 353
+ }
+ 354
+
+ 355
+
+ 356
+
+ 357
+
+ 358
+
+ 359
+
+ 360
+
+ 361
+ @SuppressWarnings("unchecked" )
+ 362
+ public Blob getBlob(String name) {
+ 363 0 return ((Value<Blob>) getValue(name)).get();
+ 364
+ }
+ 365
+
+ 366
+
+ 367
+
+ 368
+
+ 369
+ public Set<String> names() {
+ 370 0 return properties.keySet();
+ 371
+ }
+ 372
+
+ 373
+ ImmutableSortedMap<String, Value<?>> properties() {
+ 374 0 return properties;
+ 375
+ }
+ 376
+
+ 377
+ @Override
+ 378
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 379 0 Builder<?, ?> builder = emptyBuilder();
+ 380 0 builder.fill(DatastoreV1.Entity.parseFrom(bytesPb));
+ 381 0 return builder.build();
+ 382
+ }
+ 383
+
+ 384
+ protected abstract Builder<?, ?> emptyBuilder();
+ 385
+
+ 386
+ @Override
+ 387
+ protected final DatastoreV1.Entity toPb() {
+ 388 0 DatastoreV1.Entity.Builder entityPb = DatastoreV1.Entity.newBuilder();
+ 389 0 for (Map.Entry<String, Value<?>> entry : properties.entrySet()) {
+ 390 0 DatastoreV1.Property.Builder propertyPb = DatastoreV1.Property.newBuilder();
+ 391 0 propertyPb.setName(entry.getKey());
+ 392 0 propertyPb.setValue(entry.getValue().toPb());
+ 393 0 entityPb.addProperty(propertyPb.build());
+ 394 0 }
+ 395 0 if (key != null ) {
+ 396 0 entityPb.setKey(key.toPb());
+ 397
+ }
+ 398 0 return entityPb.build();
+ 399
+ }
+ 400
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseKey.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseKey.html
new file mode 100644
index 000000000000..8df9b80fc4ac
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BaseKey.html
@@ -0,0 +1,347 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BaseKey
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.Validator.validateDatabase;
+ 20
+ import static com.google.gcloud.datastore.Validator.validateKind;
+ 21
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 22
+
+ 23
+ import com.google.api.services.datastore.DatastoreV1;
+ 24
+ import com.google.common.base.Preconditions;
+ 25
+ import com.google.common.collect.ImmutableList;
+ 26
+
+ 27
+ import java.util.LinkedList;
+ 28
+ import java.util.List;
+ 29
+ import java.util.Objects;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34 0 abstract class BaseKey extends Serializable<DatastoreV1.Key> {
+ 35
+
+ 36
+ private static final long serialVersionUID = -4671243265877410635L;
+ 37
+
+ 38
+ private final transient String projectId;
+ 39
+ private final transient String namespace;
+ 40
+ private final transient ImmutableList<PathElement> path;
+ 41
+
+ 42
+ abstract static class Builder<B extends Builder<B>> {
+ 43
+
+ 44
+ String projectId;
+ 45
+ String namespace;
+ 46
+ String kind;
+ 47
+ final List<PathElement> ancestors;
+ 48
+
+ 49
+ private static final int MAX_PATH = 100;
+ 50
+
+ 51 0 Builder(String projectId) {
+ 52 0 this .projectId = validateDatabase(projectId);
+ 53 0 ancestors = new LinkedList<>();
+ 54 0 }
+ 55
+
+ 56
+ Builder(String projectId, String kind) {
+ 57 0 this (projectId);
+ 58 0 this .kind = validateKind(kind);
+ 59 0 }
+ 60
+
+ 61 0 Builder(BaseKey copyFrom) {
+ 62 0 projectId = copyFrom.projectId();
+ 63 0 namespace = copyFrom.namespace();
+ 64 0 ancestors = new LinkedList<>(copyFrom.ancestors());
+ 65 0 kind = copyFrom.kind();
+ 66 0 }
+ 67
+
+ 68
+ @SuppressWarnings("unchecked" )
+ 69
+ B self() {
+ 70 0 return (B) this ;
+ 71
+ }
+ 72
+
+ 73
+ public B ancestors(PathElement ancestor) {
+ 74 0 Preconditions.checkState(ancestors.size() < MAX_PATH, "path can have at most 100 elements" );
+ 75 0 ancestors.add(ancestor);
+ 76 0 return self();
+ 77
+ }
+ 78
+
+ 79
+ public B ancestors(PathElement ancestor, PathElement... other) {
+ 80 0 return ancestors(ImmutableList.<PathElement>builder().add(ancestor).add(other).build());
+ 81
+ }
+ 82
+
+ 83
+ public B ancestors(Iterable<PathElement> ancestors) {
+ 84 0 ImmutableList<PathElement> list = ImmutableList.copyOf(ancestors);
+ 85 0 Preconditions.checkState(this .ancestors.size() + list.size() < MAX_PATH,
+ 86
+ "path can have at most 100 elements" );
+ 87 0 this .ancestors.addAll(list);
+ 88 0 return self();
+ 89
+ }
+ 90
+
+ 91
+ public B kind(String kind) {
+ 92 0 this .kind = validateKind(kind);
+ 93 0 return self();
+ 94
+ }
+ 95
+
+ 96
+ public B projectId(String projectId) {
+ 97 0 this .projectId = validateDatabase(projectId);
+ 98 0 return self();
+ 99
+ }
+ 100
+
+ 101
+ public B namespace(String namespace) {
+ 102 0 this .namespace = validateNamespace(namespace);
+ 103 0 return self();
+ 104
+ }
+ 105
+
+ 106
+ protected abstract BaseKey build();
+ 107
+ }
+ 108
+
+ 109 0 BaseKey(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 110 0 Preconditions.checkArgument(!path.isEmpty(), "Path must not be empty" );
+ 111 0 this .projectId = projectId;
+ 112 0 this .namespace = namespace;
+ 113 0 this .path = path;
+ 114 0 }
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+ public String projectId() {
+ 120 0 return projectId;
+ 121
+ }
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public String namespace() {
+ 127 0 return namespace;
+ 128
+ }
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+ public List<PathElement> ancestors() {
+ 134 0 return path().subList(0, path().size() - 1);
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+ List<PathElement> path() {
+ 141 0 return path;
+ 142
+ }
+ 143
+
+ 144
+ PathElement leaf() {
+ 145 0 return path().get(path().size() - 1);
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+ public String kind() {
+ 152 0 return leaf().kind();
+ 153
+ }
+ 154
+
+ 155
+ @Override
+ 156
+ public int hashCode() {
+ 157 0 return Objects.hash(projectId(), namespace(), path());
+ 158
+ }
+ 159
+
+ 160
+ @Override
+ 161
+ public boolean equals(Object obj) {
+ 162 0 if (obj == this ) {
+ 163 0 return true ;
+ 164
+ }
+ 165 0 if (!(obj instanceof BaseKey)) {
+ 166 0 return false ;
+ 167
+ }
+ 168 0 BaseKey other = (BaseKey) obj;
+ 169 0 return Objects.equals(projectId(), other.projectId())
+ 170 0 && Objects.equals(namespace(), other.namespace())
+ 171 0 && Objects.equals(path(), other.path());
+ 172
+ }
+ 173
+
+ 174
+ @Override
+ 175
+ protected DatastoreV1.Key toPb() {
+ 176 0 DatastoreV1.Key.Builder keyPb = DatastoreV1.Key.newBuilder();
+ 177 0 DatastoreV1.PartitionId.Builder partitionIdPb = DatastoreV1.PartitionId.newBuilder();
+ 178 0 if (projectId != null ) {
+ 179 0 partitionIdPb.setDatasetId(projectId);
+ 180
+ }
+ 181 0 if (namespace != null ) {
+ 182 0 partitionIdPb.setNamespace(namespace);
+ 183
+ }
+ 184 0 if (partitionIdPb.hasDatasetId() || partitionIdPb.hasNamespace()) {
+ 185 0 keyPb.setPartitionId(partitionIdPb.build());
+ 186
+ }
+ 187 0 for (PathElement pathEntry : path) {
+ 188 0 keyPb.addPathElement(pathEntry.toPb());
+ 189 0 }
+ 190 0 return keyPb.build();
+ 191
+ }
+ 192
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Batch.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Batch.html
new file mode 100644
index 000000000000..19bada175a97
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Batch.html
@@ -0,0 +1,133 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Batch
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ public interface Batch extends DatastoreBatchWriter {
+ 38
+
+ 39
+ interface Response {
+ 40
+ List<Key> generatedKeys();
+ 41
+ }
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ Response submit();
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+ Datastore datastore();
+ 54
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchImpl.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchImpl.html
new file mode 100644
index 000000000000..3a4aed06c578
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchImpl.html
@@ -0,0 +1,169 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BatchImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Function;
+ 21
+ import com.google.common.collect.Lists;
+ 22
+ import com.google.gcloud.datastore.BatchOption.ForceWrites;
+ 23
+
+ 24
+ import java.util.List;
+ 25
+ import java.util.Map;
+ 26
+
+ 27
+
+ 28
+ class BatchImpl extends BaseDatastoreBatchWriter implements Batch {
+ 29
+
+ 30
+ private final DatastoreImpl datastore;
+ 31
+ private final boolean force;
+ 32
+
+ 33
+ static class ResponseImpl implements Batch.Response {
+ 34
+
+ 35
+ private final DatastoreV1.CommitResponse response;
+ 36
+
+ 37
+ ResponseImpl(DatastoreV1.CommitResponse response) {
+ 38
+ this .response = response;
+ 39
+ }
+ 40
+
+ 41
+ @Override
+ 42
+ public List<Key> generatedKeys() {
+ 43 0 return Lists.transform(response.getMutationResult().getInsertAutoIdKeyList(),
+ 44 0 new Function<DatastoreV1.Key, Key>() {
+ 45
+ @Override public Key apply(DatastoreV1.Key keyPb) {
+ 46 0 return Key.fromPb(keyPb);
+ 47
+ }
+ 48
+ });
+ 49
+ }
+ 50
+ }
+ 51
+
+ 52
+ BatchImpl(DatastoreImpl datastore, BatchOption... options) {
+ 53 0 super ("batch" );
+ 54 0 this .datastore = datastore;
+ 55 0 Map<Class<? extends BatchOption>, BatchOption> optionsMap = BatchOption.asImmutableMap(options);
+ 56 0 if (optionsMap.containsKey(ForceWrites.class )) {
+ 57 0 force = ((ForceWrites) optionsMap.get(ForceWrites.class )).force();
+ 58
+ } else {
+ 59 0 force = datastore.options().force();
+ 60
+ }
+ 61 0 }
+ 62
+
+ 63
+ @Override
+ 64
+ public Batch.Response submit() {
+ 65 0 validateActive();
+ 66 0 DatastoreV1.Mutation.Builder mutationPb = toMutationPb();
+ 67 0 if (force) {
+ 68 0 mutationPb.setForce(force);
+ 69
+ }
+ 70 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 71 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.NON_TRANSACTIONAL);
+ 72 0 requestPb.setMutation(mutationPb);
+ 73 0 DatastoreV1.CommitResponse responsePb = datastore.commit(requestPb.build());
+ 74 0 deactivate();
+ 75 0 return new ResponseImpl(responsePb);
+ 76
+ }
+ 77
+
+ 78
+ @Override
+ 79
+ public Datastore datastore() {
+ 80 0 return datastore;
+ 81
+ }
+ 82
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchOption.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchOption.html
new file mode 100644
index 000000000000..01c8befe5aba
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BatchOption.html
@@ -0,0 +1,135 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BatchOption
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+
+ 21
+ import java.util.Map;
+ 22
+
+ 23
+ public abstract class BatchOption implements java.io.Serializable {
+ 24
+
+ 25
+ private static final long serialVersionUID = -3932758377282659839L;
+ 26
+
+ 27
+ public static final class ForceWrites extends BatchOption {
+ 28
+
+ 29
+ private static final long serialVersionUID = 2555054296046232799L;
+ 30
+
+ 31
+ private final boolean force;
+ 32
+
+ 33
+ public ForceWrites(boolean force) {
+ 34
+ this .force = force;
+ 35
+ }
+ 36
+
+ 37
+ public boolean force() {
+ 38 0 return force;
+ 39
+ }
+ 40
+ }
+ 41
+
+ 42
+ BatchOption() {
+ 43
+
+ 44
+ }
+ 45
+
+ 46
+ public static ForceWrites forceWrites() {
+ 47 0 return new ForceWrites(true );
+ 48
+ }
+ 49
+
+ 50
+ static Map<Class<? extends BatchOption>, BatchOption> asImmutableMap(BatchOption... options) {
+ 51
+ ImmutableMap.Builder<Class<? extends BatchOption>, BatchOption> builder =
+ 52 0 ImmutableMap.builder();
+ 53 0 for (BatchOption option : options) {
+ 54 0 builder.put(option.getClass(), option);
+ 55
+ }
+ 56 0 return builder.build();
+ 57
+ }
+ 58
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Blob.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Blob.html
new file mode 100644
index 000000000000..c471cc89528c
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Blob.html
@@ -0,0 +1,306 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Blob
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 23
+ import com.google.common.base.MoreObjects;
+ 24
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 25
+ import com.google.protobuf.ByteString;
+ 26
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 27
+
+ 28
+ import java.io.BufferedInputStream;
+ 29
+ import java.io.ByteArrayOutputStream;
+ 30
+ import java.io.IOException;
+ 31
+ import java.io.InputStream;
+ 32
+ import java.nio.ByteBuffer;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40 0 public final class Blob extends Serializable<DatastoreV1.Value> {
+ 41
+
+ 42
+ private static final long serialVersionUID = 3835421019618247721L;
+ 43
+
+ 44
+ private final transient ByteString byteString;
+ 45
+
+ 46 0 Blob(ByteString byteString) {
+ 47 0 this .byteString = checkNotNull(byteString);
+ 48 0 }
+ 49
+
+ 50
+ @Override
+ 51
+ public String toString() {
+ 52 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 53 0 StringBuilder stBuilder = new StringBuilder();
+ 54 0 for (int i = 0; i < Math.min(256, byteString.size()); i++) {
+ 55 0 stBuilder.append(String.format("%02x" , byteString.byteAt(i)));
+ 56
+ }
+ 57 0 if (byteString.size() > 256) {
+ 58 0 stBuilder.append("..." );
+ 59
+ }
+ 60 0 return toStringHelper.add("bytes" , stBuilder.toString()).toString();
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public int hashCode() {
+ 65 0 return byteString.hashCode();
+ 66
+ }
+ 67
+
+ 68
+ @Override
+ 69
+ public boolean equals(Object obj) {
+ 70 0 return obj == this || obj instanceof Blob && byteString.equals(((Blob) obj).byteString);
+ 71
+ }
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+ public int length() {
+ 77 0 return byteString.size();
+ 78
+ }
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+ public byte [] toByteArray() {
+ 84 0 return byteString.toByteArray();
+ 85
+ }
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+ public ByteBuffer asReadOnlyByteBuffer() {
+ 91 0 return byteString.asReadOnlyByteBuffer();
+ 92
+ }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+ public InputStream asInputStream() {
+ 98 0 final ByteBuffer byteBuffer = asReadOnlyByteBuffer();
+ 99 0 return new InputStream() {
+ 100
+ @Override public int read() {
+ 101 0 return !byteBuffer.hasRemaining() ? -1 : byteBuffer.get() & 0xFF;
+ 102
+ }
+ 103
+ };
+ 104
+ }
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+ public void copyTo(ByteBuffer target) {
+ 114 0 byteString.copyTo(target);
+ 115 0 }
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+
+ 122
+ public void copyTo(byte [] target) {
+ 123 0 byteString.copyTo(target, 0, 0, length());
+ 124 0 }
+ 125
+
+ 126
+ ByteString byteString() {
+ 127 0 return byteString;
+ 128
+ }
+ 129
+
+ 130
+ public static Blob copyFrom(byte [] bytes) {
+ 131 0 return new Blob(ByteString.copyFrom(bytes));
+ 132
+ }
+ 133
+
+ 134
+ public static Blob copyFrom(ByteBuffer bytes) {
+ 135 0 return new Blob(ByteString.copyFrom(bytes));
+ 136
+ }
+ 137
+
+ 138
+ public static Blob copyFrom(InputStream input) throws IOException {
+ 139 0 BufferedInputStream bufferedInput = new BufferedInputStream(input);
+ 140 0 ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ 141
+ int value;
+ 142 0 while ((value = bufferedInput.read()) != -1) {
+ 143 0 bytes.write(value);
+ 144
+ }
+ 145 0 return copyFrom(bytes.toByteArray());
+ 146
+ }
+ 147
+
+ 148
+ @Override
+ 149
+ protected Value toPb() {
+ 150 0 return DatastoreV1.Value.newBuilder().setBlobValue(byteString).build();
+ 151
+ }
+ 152
+
+ 153
+ @Override
+ 154
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 155 0 return new Blob(DatastoreV1.Value.parseFrom(bytesPb).getBlobValue());
+ 156
+ }
+ 157
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BlobValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BlobValue.html
new file mode 100644
index 000000000000..a5e2240028f3
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BlobValue.html
@@ -0,0 +1,179 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BlobValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.BLOB_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class BlobValue extends Value<Blob> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<Blob, BlobValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Blob, BlobValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -823515687083612387L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34 0 return BLOB_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Blob value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Blob getValue(DatastoreV1.Value from) {
+ 44 0 return new Blob(from.getBlobValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(BlobValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setBlobValue(from.get().byteString());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Blob, BlobValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.BLOB);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public BlobValue build() {
+ 61 0 return new BlobValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public BlobValue(Blob blob) {
+ 66 0 this (builder(blob));
+ 67 0 }
+ 68
+
+ 69
+ private BlobValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static BlobValue of(Blob blob) {
+ 79 0 return new BlobValue(blob);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(Blob blob) {
+ 83 0 return new Builder().set(blob);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BooleanValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BooleanValue.html
new file mode 100644
index 000000000000..cddd351fb486
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.BooleanValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.BooleanValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.BOOLEAN_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class BooleanValue extends Value<Boolean> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -542649497897250340L;
+ 26
+
+ 27 0 static final BaseMarshaller<Boolean, BooleanValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Boolean, BooleanValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 7080467411349092522L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return BOOLEAN_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Boolean value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Boolean getValue(DatastoreV1.Value from) {
+ 44 0 return from.getBooleanValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(BooleanValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setBooleanValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Boolean, BooleanValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.BOOLEAN);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public BooleanValue build() {
+ 61 0 return new BooleanValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public BooleanValue(boolean value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private BooleanValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static BooleanValue of(boolean value) {
+ 79 0 return new BooleanValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(boolean value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Cursor.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Cursor.html
new file mode 100644
index 000000000000..da418b983757
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Cursor.html
@@ -0,0 +1,232 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Cursor
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 24
+ import com.google.common.base.MoreObjects;
+ 25
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 26
+ import com.google.common.base.Preconditions;
+ 27
+ import com.google.protobuf.ByteString;
+ 28
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 29
+ import com.google.protobuf.TextFormat;
+ 30
+ import com.google.protobuf.TextFormat.ParseException;
+ 31
+
+ 32
+ import java.io.UnsupportedEncodingException;
+ 33
+ import java.net.URLDecoder;
+ 34
+ import java.net.URLEncoder;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40 0 public final class Cursor extends Serializable<DatastoreV1.Value> {
+ 41
+
+ 42
+ private static final long serialVersionUID = -1423744878777486541L;
+ 43
+
+ 44
+ private final transient ByteString byteString;
+ 45
+
+ 46 0 Cursor(ByteString byteString) {
+ 47 0 Preconditions.checkArgument(byteString.isValidUtf8(), "content is not a valid UTF-8" );
+ 48 0 this .byteString = byteString;
+ 49 0 }
+ 50
+
+ 51
+ @Override
+ 52
+ public int hashCode() {
+ 53 0 return byteString.hashCode();
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ public boolean equals(Object obj) {
+ 58 0 return obj == this || obj instanceof Cursor && byteString.equals(((Cursor) obj).byteString);
+ 59
+ }
+ 60
+
+ 61
+ @Override
+ 62
+ public String toString() {
+ 63 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 64 0 StringBuilder stBuilder = new StringBuilder();
+ 65 0 for (int i = 0; i < byteString.size(); i++) {
+ 66 0 stBuilder.append(String.format("%02x" , byteString.byteAt(i)));
+ 67
+ }
+ 68 0 return toStringHelper.add("bytes" , stBuilder.toString()).toString();
+ 69
+ }
+ 70
+
+ 71
+ ByteString byteString() {
+ 72 0 return byteString;
+ 73
+ }
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+ public String toUrlSafe() {
+ 79
+ try {
+ 80 0 return URLEncoder.encode(TextFormat.printToString(toPb()), UTF_8.name());
+ 81 0 } catch (UnsupportedEncodingException e) {
+ 82 0 throw new IllegalStateException("Unexpected encoding exception" , e);
+ 83
+ }
+ 84
+ }
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ public static Cursor fromUrlSafe(String urlSafe) {
+ 90
+ try {
+ 91 0 String utf8Str = URLDecoder.decode(urlSafe, UTF_8.name());
+ 92 0 DatastoreV1.Value.Builder builder = DatastoreV1.Value.newBuilder();
+ 93 0 TextFormat.merge(utf8Str, builder);
+ 94 0 return fromPb(builder.build());
+ 95 0 } catch (UnsupportedEncodingException | ParseException e) {
+ 96 0 throw new IllegalStateException("Unexpected decoding exception" , e);
+ 97
+ }
+ 98
+ }
+ 99
+
+ 100
+ public static Cursor copyFrom(byte [] bytes) {
+ 101 0 return new Cursor(ByteString.copyFrom(checkNotNull(bytes)));
+ 102
+ }
+ 103
+
+ 104
+ @Override
+ 105
+ protected Value toPb() {
+ 106 0 return DatastoreV1.Value.newBuilder().setBlobValue(byteString).build();
+ 107
+ }
+ 108
+
+ 109
+ @Override
+ 110
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 111 0 return fromPb(DatastoreV1.Value.parseFrom(bytesPb));
+ 112
+ }
+ 113
+
+ 114
+ static Cursor fromPb(DatastoreV1.Value valuePb) {
+ 115 0 return new Cursor(valuePb.getBlobValue());
+ 116
+ }
+ 117
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Datastore.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Datastore.html
new file mode 100644
index 000000000000..d4f45146c709
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Datastore.html
@@ -0,0 +1,243 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Datastore
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.gcloud.Service;
+ 20
+
+ 21
+ import java.util.List;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+ public interface Datastore extends Service<DatastoreOptions>, DatastoreReaderWriter {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+ Transaction newTransaction(TransactionOption... options);
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ interface TransactionCallable<T> {
+ 45
+ T run(DatastoreReaderWriter readerWriter) throws Exception;
+ 46
+ }
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ <T> T runInTransaction(TransactionCallable<T> callable, TransactionOption... options);
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ Batch newBatch(BatchOption... options);
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ Key allocateId(IncompleteKey key);
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ List<Key> allocateId(IncompleteKey... key);
+ 83
+
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+ @Override
+ 89
+ void update(Entity... entity);
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+ @Override
+ 96
+ void put(Entity... entity);
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+ @Override
+ 103
+ void delete(Key... key);
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+ KeyFactory newKeyFactory();
+ 109
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html
new file mode 100644
index 000000000000..38d090236f15
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreBatchWriter.html
@@ -0,0 +1,186 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreBatchWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ interface DatastoreBatchWriter extends DatastoreWriter {
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+ void addWithDeferredIdAllocation(FullEntity<?>... entity);
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ @Override
+ 48
+ List<Entity> add(FullEntity<?>... entity);
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+ @Override
+ 58
+ void update(Entity... entity);
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ @Override
+ 67
+ void delete(Key... key);
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ @Override
+ 75
+ void put(Entity... entity);
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+ boolean active();
+ 81
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreException.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreException.html
new file mode 100644
index 000000000000..ae6124fcad44
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreException.html
@@ -0,0 +1,294 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableMap;
+ 21
+ import com.google.gcloud.RetryHelper;
+ 22
+ import com.google.gcloud.RetryHelper.RetryHelperException;
+ 23
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 24
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason;
+ 25
+
+ 26
+ import java.util.HashMap;
+ 27
+ import java.util.Map;
+ 28
+
+ 29
+ public class DatastoreException extends RuntimeException {
+ 30
+
+ 31
+ private static final long serialVersionUID = 8170357898917041899L;
+ 32
+ private static final ImmutableMap<String, Code> REASON_TO_CODE;
+ 33
+ private static final ImmutableMap<Integer, Code> HTTP_TO_CODE;
+ 34
+
+ 35
+ private final Code code;
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43 0 public enum Code {
+ 44
+
+ 45 0 ABORTED(Reason.ABORTED),
+ 46 0 DEADLINE_EXCEEDED(Reason.DEADLINE_EXCEEDED),
+ 47 0 UNAVAILABLE(Reason.UNAVAILABLE),
+ 48 0 FAILED_PRECONDITION(Reason.FAILED_PRECONDITION),
+ 49 0 INVALID_ARGUMENT(Reason.INVALID_ARGUMENT),
+ 50 0 PERMISSION_DENIED(Reason.PERMISSION_DENIED),
+ 51 0 UNAUTHORIZED(false , "Unauthorized" , 401),
+ 52 0 INTERNAL(Reason.INTERNAL),
+ 53 0 RESOURCE_EXHAUSTED(Reason.RESOURCE_EXHAUSTED),
+ 54 0 UNKNOWN(false , "Unknown failure" , -1);
+ 55
+
+ 56
+ private final boolean retryable;
+ 57
+ private final String description;
+ 58
+ private final int httpStatus;
+ 59
+
+ 60
+ Code(Reason reason) {
+ 61 0 this (reason.retryable(), reason.description(), reason.httpStatus());
+ 62 0 }
+ 63
+
+ 64
+ Code(boolean retryable, String description, int httpStatus) {
+ 65
+ this .retryable = retryable;
+ 66
+ this .description = description;
+ 67
+ this .httpStatus = httpStatus;
+ 68
+ }
+ 69
+
+ 70
+ public String description() {
+ 71 0 return description;
+ 72
+ }
+ 73
+
+ 74
+ public int httpStatus() {
+ 75 0 return httpStatus;
+ 76
+ }
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public boolean retryable() {
+ 83 0 return retryable;
+ 84
+ }
+ 85
+
+ 86
+ DatastoreException translate(DatastoreRpcException exception, String message) {
+ 87 0 return new DatastoreException(this , message, exception);
+ 88
+ }
+ 89
+ }
+ 90
+
+ 91
+ static {
+ 92 0 ImmutableMap.Builder<String, Code> builder = ImmutableMap.builder();
+ 93 0 Map<Integer, Code> httpCodes = new HashMap<>();
+ 94 0 for (Code code : Code.values()) {
+ 95 0 builder.put(code.name(), code);
+ 96 0 httpCodes.put(code.httpStatus(), code);
+ 97
+ }
+ 98 0 REASON_TO_CODE = builder.build();
+ 99 0 HTTP_TO_CODE = ImmutableMap.copyOf(httpCodes);
+ 100 0 }
+ 101
+
+ 102
+ public DatastoreException(Code code, String message, Exception cause) {
+ 103 0 super (MoreObjects.firstNonNull(message, code.description), cause);
+ 104 0 this .code = code;
+ 105 0 }
+ 106
+
+ 107
+ public DatastoreException(Code code, String message) {
+ 108 0 this (code, message, null );
+ 109 0 }
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+ public Code code() {
+ 115 0 return code;
+ 116
+ }
+ 117
+
+ 118
+ static DatastoreException translateAndThrow(RetryHelperException ex) {
+ 119 0 if (ex.getCause() instanceof DatastoreRpcException) {
+ 120 0 return translateAndThrow((DatastoreRpcException) ex.getCause());
+ 121
+ }
+ 122 0 if (ex instanceof RetryHelper.RetryInterruptedException) {
+ 123 0 RetryHelper.RetryInterruptedException.propagate();
+ 124
+ }
+ 125 0 throw new DatastoreException(Code.UNKNOWN, ex.getMessage(), ex);
+ 126
+ }
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+ static DatastoreException translateAndThrow(DatastoreRpcException exception) {
+ 135 0 String message = exception.getMessage();
+ 136 0 Code code = REASON_TO_CODE.get(exception.reason());
+ 137 0 if (code == null ) {
+ 138 0 code = MoreObjects.firstNonNull(HTTP_TO_CODE.get(exception.httpStatus()), Code.UNKNOWN);
+ 139
+ }
+ 140 0 throw code.translate(exception, message);
+ 141
+ }
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+ static DatastoreException throwInvalidRequest(String massage, Object... params) {
+ 150 0 throw new DatastoreException(Code.FAILED_PRECONDITION, String.format(massage, params));
+ 151
+ }
+ 152
+
+ 153
+ static DatastoreException propagateUserException(Exception ex) {
+ 154 0 throw new DatastoreException(Code.UNKNOWN, ex.getMessage(), ex);
+ 155
+ }
+ 156
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreFactory.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreFactory.html
new file mode 100644
index 000000000000..ec97d94581fd
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreFactory.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public abstract class DatastoreFactory {
+ 24
+
+ 25 0 private static final DatastoreFactory INSTANCE = new DatastoreFactory() {
+ 26
+ @Override
+ 27
+ public Datastore get(DatastoreOptions options) {
+ 28 0 return new DatastoreImpl(options);
+ 29
+ }
+ 30
+ };
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ public static DatastoreFactory instance() {
+ 36 0 return INSTANCE;
+ 37
+ }
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+ public abstract Datastore get(DatastoreOptions options);
+ 43
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreHelper.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreHelper.html
new file mode 100644
index 000000000000..432ac30ca46a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreHelper.html
@@ -0,0 +1,177 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreHelper
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.Iterators;
+ 20
+ import com.google.common.collect.Maps;
+ 21
+
+ 22
+ import java.util.ArrayList;
+ 23
+ import java.util.Iterator;
+ 24
+ import java.util.List;
+ 25
+ import java.util.Map;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ class DatastoreHelper {
+ 32
+
+ 33
+ private DatastoreHelper() {
+ 34
+ }
+ 35
+
+ 36
+
+ 37
+ static Key allocateId(Datastore service, IncompleteKey key) {
+ 38 0 return service.allocateId(new IncompleteKey[]{key}).get(0);
+ 39
+ }
+ 40
+
+ 41
+ static Entity get(DatastoreReader reader, Key key) {
+ 42 0 return Iterators.getNext(reader.get(new Key[]{key}), null );
+ 43
+ }
+ 44
+
+ 45
+ static Entity add(DatastoreWriter writer, FullEntity<?> entity) {
+ 46 0 return writer.add(new FullEntity<?>[] {entity}).get(0);
+ 47
+ }
+ 48
+
+ 49
+ static KeyFactory newKeyFactory(DatastoreOptions options) {
+ 50 0 return new KeyFactory(options.projectId(), options.namespace());
+ 51
+ }
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+ static List<Entity> fetch(DatastoreReader reader, Key... keys) {
+ 58 0 Iterator<Entity> entities = reader.get(keys);
+ 59 0 Map<Key, Entity> map = Maps.newHashMapWithExpectedSize(keys.length);
+ 60 0 while (entities.hasNext()) {
+ 61 0 Entity entity = entities.next();
+ 62 0 map.put(entity.key(), entity);
+ 63 0 }
+ 64 0 List<Entity> list = new ArrayList<>(keys.length);
+ 65 0 for (Key key : keys) {
+ 66
+
+ 67 0 list.add(map.get(key));
+ 68
+ }
+ 69 0 return list;
+ 70
+ }
+ 71
+
+ 72
+ static <T> T runInTransaction(Datastore datastore,
+ 73
+ Datastore.TransactionCallable<T> callable, TransactionOption... options) {
+ 74 0 Transaction transaction = datastore.newTransaction(options);
+ 75
+ try {
+ 76 0 T value = callable.run(transaction);
+ 77 0 transaction.commit();
+ 78 0 return value;
+ 79 0 } catch (Exception ex) {
+ 80 0 transaction.rollback();
+ 81 0 throw DatastoreException.propagateUserException(ex);
+ 82
+ } finally {
+ 83 0 if (transaction.active()) {
+ 84 0 transaction.rollback();
+ 85
+ }
+ 86
+ }
+ 87
+ }
+ 88
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreImpl.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreImpl.html
new file mode 100644
index 000000000000..7d8472bad391
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreImpl.html
@@ -0,0 +1,641 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.MoreObjects;
+ 21
+ import com.google.common.base.Preconditions;
+ 22
+ import com.google.common.collect.AbstractIterator;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+ import com.google.common.collect.Sets;
+ 25
+ import com.google.gcloud.BaseService;
+ 26
+ import com.google.gcloud.ExceptionHandler;
+ 27
+ import com.google.gcloud.ExceptionHandler.Interceptor;
+ 28
+ import com.google.gcloud.RetryHelper;
+ 29
+ import com.google.gcloud.RetryHelper.RetryHelperException;
+ 30
+ import com.google.gcloud.RetryParams;
+ 31
+ import com.google.gcloud.spi.DatastoreRpc;
+ 32
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 33
+ import com.google.protobuf.ByteString;
+ 34
+
+ 35
+ import java.util.Arrays;
+ 36
+ import java.util.Collections;
+ 37
+ import java.util.Iterator;
+ 38
+ import java.util.LinkedHashMap;
+ 39
+ import java.util.LinkedHashSet;
+ 40
+ import java.util.List;
+ 41
+ import java.util.Map;
+ 42
+ import java.util.Set;
+ 43
+ import java.util.concurrent.Callable;
+ 44
+
+ 45
+
+ 46 0 final class DatastoreImpl extends BaseService<DatastoreOptions>
+ 47
+ implements Datastore {
+ 48
+
+ 49 0 private static final Interceptor EXCEPTION_HANDLER_INTERCEPTOR =
+ 50
+ new Interceptor() {
+ 51
+
+ 52
+ private static final long serialVersionUID = 6911242958397733203L;
+ 53
+
+ 54
+ @Override
+ 55
+ public RetryResult afterEval(Exception exception, RetryResult retryResult) {
+ 56 0 return null ;
+ 57
+ }
+ 58
+
+ 59
+ @Override
+ 60
+ public RetryResult beforeEval(Exception exception) {
+ 61 0 if (exception instanceof DatastoreRpcException) {
+ 62 0 boolean retryable = ((DatastoreRpcException) exception).retryable();
+ 63 0 return retryable ? Interceptor.RetryResult.RETRY : Interceptor.RetryResult.ABORT;
+ 64
+ }
+ 65 0 return null ;
+ 66
+ }
+ 67
+ };
+ 68 0 private static final ExceptionHandler EXCEPTION_HANDLER = ExceptionHandler.builder()
+ 69 0 .abortOn(RuntimeException.class , DatastoreRpcException.class )
+ 70 0 .interceptor(EXCEPTION_HANDLER_INTERCEPTOR).build();
+ 71
+
+ 72
+ private final DatastoreRpc datastoreRpc;
+ 73
+ private final RetryParams retryParams;
+ 74
+
+ 75
+ DatastoreImpl(DatastoreOptions options) {
+ 76 0 super (options);
+ 77 0 this .datastoreRpc = options.datastoreRpc();
+ 78 0 retryParams = MoreObjects.firstNonNull(options.retryParams(), RetryParams.noRetries());
+ 79 0 }
+ 80
+
+ 81
+ @Override
+ 82
+ public Batch newBatch(BatchOption... options) {
+ 83 0 return new BatchImpl(this , options);
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public Transaction newTransaction(TransactionOption... options) {
+ 88 0 return new TransactionImpl(this , options);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public <T> T runInTransaction(TransactionCallable<T> callable, TransactionOption... options) {
+ 93 0 return DatastoreHelper.runInTransaction(this , callable, options);
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public <T> QueryResults<T> run(Query<T> query) {
+ 98 0 return run(null , query);
+ 99
+ }
+ 100
+
+ 101
+ <T> QueryResults<T> run(DatastoreV1.ReadOptions readOptionsPb, Query<T> query) {
+ 102 0 return new QueryResultsImpl<>(this , readOptionsPb, query);
+ 103
+ }
+ 104
+
+ 105
+ DatastoreV1.RunQueryResponse runQuery(final DatastoreV1.RunQueryRequest requestPb) {
+ 106
+ try {
+ 107 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.RunQueryResponse>() {
+ 108
+ @Override public DatastoreV1.RunQueryResponse call() throws DatastoreRpcException {
+ 109 0 return datastoreRpc.runQuery(requestPb);
+ 110
+ }
+ 111
+ }, retryParams, EXCEPTION_HANDLER);
+ 112 0 } catch (RetryHelperException e) {
+ 113 0 throw DatastoreException.translateAndThrow(e);
+ 114
+ }
+ 115
+ }
+ 116
+
+ 117
+ @Override
+ 118
+ public Key allocateId(IncompleteKey key) {
+ 119 0 return DatastoreHelper.allocateId(this , key);
+ 120
+ }
+ 121
+
+ 122
+ @Override
+ 123
+ public List<Key> allocateId(IncompleteKey... keys) {
+ 124 0 if (keys.length == 0) {
+ 125 0 return Collections.emptyList();
+ 126
+ }
+ 127 0 DatastoreV1.AllocateIdsRequest.Builder requestPb = DatastoreV1.AllocateIdsRequest.newBuilder();
+ 128 0 for (IncompleteKey key : keys) {
+ 129 0 requestPb.addKey(trimNameOrId(key).toPb());
+ 130
+ }
+ 131 0 DatastoreV1.AllocateIdsResponse responsePb = allocateIds(requestPb.build());
+ 132 0 ImmutableList.Builder<Key> keyList = ImmutableList.builder();
+ 133 0 for (DatastoreV1.Key keyPb : responsePb.getKeyList()) {
+ 134 0 keyList.add(Key.fromPb(keyPb));
+ 135 0 }
+ 136 0 return keyList.build();
+ 137
+ }
+ 138
+
+ 139
+ DatastoreV1.AllocateIdsResponse allocateIds(final DatastoreV1.AllocateIdsRequest requestPb) {
+ 140
+ try {
+ 141 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.AllocateIdsResponse>() {
+ 142
+ @Override public DatastoreV1.AllocateIdsResponse call() throws DatastoreRpcException {
+ 143 0 return datastoreRpc.allocateIds(requestPb);
+ 144
+ }
+ 145
+ }, retryParams, EXCEPTION_HANDLER);
+ 146 0 } catch (RetryHelperException e) {
+ 147 0 throw DatastoreException.translateAndThrow(e);
+ 148
+ }
+ 149
+ }
+ 150
+
+ 151
+ private IncompleteKey trimNameOrId(IncompleteKey key) {
+ 152 0 if (key instanceof Key) {
+ 153 0 return IncompleteKey.builder(key).build();
+ 154
+ }
+ 155 0 return key;
+ 156
+ }
+ 157
+
+ 158
+ @Override
+ 159
+ public Entity add(FullEntity<?> entity) {
+ 160 0 return DatastoreHelper.add(this , entity);
+ 161
+ }
+ 162
+
+ 163
+ @SuppressWarnings("unchecked" )
+ 164
+ @Override
+ 165
+ public List<Entity> add(FullEntity<?>... entities) {
+ 166 0 if (entities.length == 0) {
+ 167 0 return Collections.emptyList();
+ 168
+ }
+ 169 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 170 0 Map<Key, Entity> completeEntities = new LinkedHashMap<>();
+ 171 0 for (FullEntity<?> entity : entities) {
+ 172 0 Entity completeEntity = null ;
+ 173 0 if (entity.key() instanceof Key) {
+ 174 0 completeEntity = Entity.convert((FullEntity<Key>) entity);
+ 175
+ }
+ 176 0 if (completeEntity != null ) {
+ 177 0 if (completeEntities.put(completeEntity.key(), completeEntity) != null ) {
+ 178 0 throw DatastoreException.throwInvalidRequest(
+ 179 0 "Duplicate entity with the key %s" , entity.key());
+ 180
+ }
+ 181 0 mutationPb.addInsert(completeEntity.toPb());
+ 182
+ } else {
+ 183 0 Preconditions.checkArgument(entity.hasKey(), "entity %s is missing a key" , entity);
+ 184 0 mutationPb.addInsertAutoId(entity.toPb());
+ 185
+ }
+ 186
+ }
+ 187 0 DatastoreV1.CommitResponse commitResponse = commitMutation(mutationPb);
+ 188 0 Iterator<DatastoreV1.Key> allocatedKeys =
+ 189 0 commitResponse.getMutationResult().getInsertAutoIdKeyList().iterator();
+ 190 0 ImmutableList.Builder<Entity> responseBuilder = ImmutableList.builder();
+ 191 0 for (FullEntity<?> entity : entities) {
+ 192 0 Entity completeEntity = completeEntities.get(entity.key());
+ 193 0 if (completeEntity != null ) {
+ 194 0 responseBuilder.add(completeEntity);
+ 195
+ } else {
+ 196 0 responseBuilder.add(Entity.builder(Key.fromPb(allocatedKeys.next()), entity).build());
+ 197
+ }
+ 198
+ }
+ 199 0 return responseBuilder.build();
+ 200
+ }
+ 201
+
+ 202
+ @Override
+ 203
+ public Entity get(Key key) {
+ 204 0 return DatastoreHelper.get(this , key);
+ 205
+ }
+ 206
+
+ 207
+ @Override
+ 208
+ public Iterator<Entity> get(Key... keys) {
+ 209 0 return get(null , keys);
+ 210
+ }
+ 211
+
+ 212
+ @Override
+ 213
+ public List<Entity> fetch(Key... keys) {
+ 214 0 return DatastoreHelper.fetch(this , keys);
+ 215
+ }
+ 216
+
+ 217
+ Iterator<Entity> get(DatastoreV1.ReadOptions readOptionsPb, final Key... keys) {
+ 218 0 if (keys.length == 0) {
+ 219 0 return Collections.emptyIterator();
+ 220
+ }
+ 221 0 DatastoreV1.LookupRequest.Builder requestPb = DatastoreV1.LookupRequest.newBuilder();
+ 222 0 if (readOptionsPb != null ) {
+ 223 0 requestPb.setReadOptions(readOptionsPb);
+ 224
+ }
+ 225 0 for (Key k : Sets.newLinkedHashSet(Arrays.asList(keys))) {
+ 226 0 requestPb.addKey(k.toPb());
+ 227 0 }
+ 228 0 return new ResultsIterator(requestPb);
+ 229
+ }
+ 230
+
+ 231 0 final class ResultsIterator extends AbstractIterator<Entity> {
+ 232
+
+ 233
+ private final DatastoreV1.LookupRequest.Builder requestPb;
+ 234
+ Iterator<DatastoreV1.EntityResult> iter;
+ 235
+
+ 236 0 ResultsIterator(DatastoreV1.LookupRequest.Builder requestPb) {
+ 237 0 this .requestPb = requestPb;
+ 238 0 loadResults();
+ 239 0 }
+ 240
+
+ 241
+ private void loadResults() {
+ 242 0 DatastoreV1.LookupResponse responsePb = lookup(requestPb.build());
+ 243 0 iter = responsePb.getFoundList().iterator();
+ 244 0 requestPb.clearKey();
+ 245 0 if (responsePb.getDeferredCount() > 0) {
+ 246 0 requestPb.addAllKey(responsePb.getDeferredList());
+ 247
+ }
+ 248 0 }
+ 249
+
+ 250
+ @SuppressWarnings("unchecked" )
+ 251
+ @Override
+ 252
+ protected Entity computeNext() {
+ 253 0 while (!iter.hasNext()) {
+ 254 0 if (requestPb.getKeyCount() == 0) {
+ 255 0 return endOfData();
+ 256
+ }
+ 257 0 loadResults();
+ 258
+ }
+ 259 0 return Entity.fromPb(iter.next().getEntity());
+ 260
+ }
+ 261
+ }
+ 262
+
+ 263
+ DatastoreV1.LookupResponse lookup(final DatastoreV1.LookupRequest requestPb) {
+ 264
+ try {
+ 265 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.LookupResponse>() {
+ 266
+ @Override public DatastoreV1.LookupResponse call() throws DatastoreRpcException {
+ 267 0 return datastoreRpc.lookup(requestPb);
+ 268
+ }
+ 269
+ }, retryParams, EXCEPTION_HANDLER);
+ 270 0 } catch (RetryHelperException e) {
+ 271 0 throw DatastoreException.translateAndThrow(e);
+ 272
+ }
+ 273
+ }
+ 274
+
+ 275
+ @SafeVarargs
+ 276
+ @Override
+ 277
+ public final void update(Entity... entities) {
+ 278 0 if (entities.length > 0) {
+ 279 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 280 0 Map<Key, Entity> dedupEntities = new LinkedHashMap<>();
+ 281 0 for (Entity entity : entities) {
+ 282 0 dedupEntities.put(entity.key(), entity);
+ 283
+ }
+ 284 0 for (Entity entity : dedupEntities.values()) {
+ 285 0 mutationPb.addUpdate(entity.toPb());
+ 286 0 }
+ 287 0 commitMutation(mutationPb);
+ 288
+ }
+ 289 0 }
+ 290
+
+ 291
+ @SafeVarargs
+ 292
+ @Override
+ 293
+ public final void put(Entity... entities) {
+ 294 0 if (entities.length > 0) {
+ 295 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 296 0 Map<Key, Entity> dedupEntities = new LinkedHashMap<>();
+ 297 0 for (Entity entity : entities) {
+ 298 0 dedupEntities.put(entity.key(), entity);
+ 299
+ }
+ 300 0 for (Entity e : dedupEntities.values()) {
+ 301 0 mutationPb.addUpsert(e.toPb());
+ 302 0 }
+ 303 0 commitMutation(mutationPb);
+ 304
+ }
+ 305 0 }
+ 306
+
+ 307
+ @Override
+ 308
+ public void delete(Key... keys) {
+ 309 0 if (keys.length > 0) {
+ 310 0 DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
+ 311 0 Set<Key> dedupKeys = new LinkedHashSet<>(Arrays.asList(keys));
+ 312 0 for (Key key : dedupKeys) {
+ 313 0 mutationPb.addDelete(key.toPb());
+ 314 0 }
+ 315 0 commitMutation(mutationPb);
+ 316
+ }
+ 317 0 }
+ 318
+
+ 319
+ @Override
+ 320
+ public KeyFactory newKeyFactory() {
+ 321 0 return DatastoreHelper.newKeyFactory(options());
+ 322
+ }
+ 323
+
+ 324
+ private DatastoreV1.CommitResponse commitMutation(DatastoreV1.Mutation.Builder mutationPb) {
+ 325 0 if (options().force()) {
+ 326 0 mutationPb.setForce(true );
+ 327
+ }
+ 328 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 329 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.NON_TRANSACTIONAL);
+ 330 0 requestPb.setMutation(mutationPb);
+ 331 0 return commit(requestPb.build());
+ 332
+ }
+ 333
+
+ 334
+ DatastoreV1.CommitResponse commit(final DatastoreV1.CommitRequest requestPb) {
+ 335
+ try {
+ 336 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.CommitResponse>() {
+ 337
+ @Override public DatastoreV1.CommitResponse call() throws DatastoreRpcException {
+ 338 0 return datastoreRpc.commit(requestPb);
+ 339
+ }
+ 340
+ }, retryParams, EXCEPTION_HANDLER);
+ 341 0 } catch (RetryHelperException e) {
+ 342 0 throw DatastoreException.translateAndThrow(e);
+ 343
+ }
+ 344
+ }
+ 345
+
+ 346
+ ByteString requestTransactionId(DatastoreV1.BeginTransactionRequest.Builder requestPb) {
+ 347 0 return beginTransaction(requestPb.build()).getTransaction();
+ 348
+ }
+ 349
+
+ 350
+ DatastoreV1.BeginTransactionResponse beginTransaction(
+ 351
+ final DatastoreV1.BeginTransactionRequest requestPb) {
+ 352
+ try {
+ 353 0 return RetryHelper.runWithRetries(new Callable<DatastoreV1.BeginTransactionResponse>() {
+ 354
+ @Override
+ 355
+ public DatastoreV1.BeginTransactionResponse call() throws DatastoreRpcException {
+ 356 0 return datastoreRpc.beginTransaction(requestPb);
+ 357
+ }
+ 358
+ }, retryParams, EXCEPTION_HANDLER);
+ 359 0 } catch (RetryHelperException e) {
+ 360 0 throw DatastoreException.translateAndThrow(e);
+ 361
+ }
+ 362
+ }
+ 363
+
+ 364
+ void rollbackTransaction(ByteString transaction) {
+ 365 0 DatastoreV1.RollbackRequest.Builder requestPb = DatastoreV1.RollbackRequest.newBuilder();
+ 366 0 requestPb.setTransaction(transaction);
+ 367 0 rollback(requestPb.build());
+ 368 0 }
+ 369
+
+ 370
+ void rollback(final DatastoreV1.RollbackRequest requestPb) {
+ 371
+ try {
+ 372 0 RetryHelper.runWithRetries(new Callable<Void>() {
+ 373
+ @Override public Void call() throws DatastoreRpcException {
+ 374 0 datastoreRpc.rollback(requestPb);
+ 375 0 return null ;
+ 376
+ }
+ 377
+ }, retryParams, EXCEPTION_HANDLER);
+ 378 0 } catch (RetryHelperException e) {
+ 379 0 throw DatastoreException.translateAndThrow(e);
+ 380 0 }
+ 381 0 }
+ 382
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreOptions.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreOptions.html
new file mode 100644
index 000000000000..5599b6cfd34a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreOptions.html
@@ -0,0 +1,362 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.EntityResult;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 24
+ import com.google.common.collect.ImmutableSet;
+ 25
+ import com.google.common.collect.Iterables;
+ 26
+ import com.google.gcloud.ServiceOptions;
+ 27
+ import com.google.gcloud.spi.DatastoreRpc;
+ 28
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException;
+ 29
+ import com.google.gcloud.spi.DatastoreRpcFactory;
+ 30
+ import com.google.gcloud.spi.DefaultDatastoreRpc;
+ 31
+
+ 32
+ import java.lang.reflect.Method;
+ 33
+ import java.util.Iterator;
+ 34
+ import java.util.Objects;
+ 35
+ import java.util.Set;
+ 36
+
+ 37 0 public class DatastoreOptions extends ServiceOptions<DatastoreRpc, DatastoreOptions> {
+ 38
+
+ 39
+ private static final long serialVersionUID = -8636602944160689193L;
+ 40
+ private static final String DATASET_ENV_NAME = "DATASTORE_DATASET" ;
+ 41
+ private static final String DATASTORE_SCOPE = "https://www.googleapis.com/auth/datastore" ;
+ 42
+ private static final String USERINFO_SCOPE = "https://www.googleapis.com/auth/userinfo.email" ;
+ 43 0 private static final Set<String> SCOPES = ImmutableSet.of(DATASTORE_SCOPE, USERINFO_SCOPE);
+ 44
+
+ 45
+ private final String namespace;
+ 46
+ private final boolean force;
+ 47
+ private final boolean normalizeDataset;
+ 48
+ private transient DatastoreRpc datastoreRpc;
+ 49
+
+ 50 0 public static class Builder extends
+ 51
+ ServiceOptions.Builder<DatastoreRpc, DatastoreOptions, Builder> {
+ 52
+
+ 53
+ private String namespace;
+ 54
+ private boolean force;
+ 55 0 private boolean normalizeDataset = true ;
+ 56
+
+ 57
+ private Builder() {
+ 58
+ }
+ 59
+
+ 60
+ private Builder(DatastoreOptions options) {
+ 61 0 super (options);
+ 62 0 force = options.force;
+ 63 0 namespace = options.namespace;
+ 64 0 normalizeDataset = options.normalizeDataset;
+ 65 0 }
+ 66
+
+ 67
+ @Override
+ 68
+ public DatastoreOptions build() {
+ 69 0 DatastoreOptions options = new DatastoreOptions(this );
+ 70 0 return normalizeDataset ? options.normalize() : options;
+ 71
+ }
+ 72
+
+ 73
+ public Builder namespace(String namespace) {
+ 74 0 this .namespace = validateNamespace(namespace);
+ 75 0 return this ;
+ 76
+ }
+ 77
+
+ 78
+ public Builder force(boolean force) {
+ 79 0 this .force = force;
+ 80 0 return this ;
+ 81
+ }
+ 82
+
+ 83
+ Builder normalizeDataset(boolean normalizeDataset) {
+ 84 0 this .normalizeDataset = normalizeDataset;
+ 85 0 return this ;
+ 86
+ }
+ 87
+ }
+ 88
+
+ 89
+ private DatastoreOptions(Builder builder) {
+ 90 0 super (builder);
+ 91 0 normalizeDataset = builder.normalizeDataset;
+ 92 0 namespace = builder.namespace != null ? builder.namespace : defaultNamespace();
+ 93 0 force = builder.force;
+ 94 0 }
+ 95
+
+ 96
+ private DatastoreOptions normalize() {
+ 97 0 if (!normalizeDataset) {
+ 98 0 return this ;
+ 99
+ }
+ 100
+
+ 101 0 Builder builder = toBuilder();
+ 102 0 builder.normalizeDataset(false );
+ 103
+
+ 104 0 DatastoreV1.LookupRequest.Builder requestPb = DatastoreV1.LookupRequest.newBuilder();
+ 105 0 DatastoreV1.Key key = DatastoreV1.Key.newBuilder()
+ 106 0 .addPathElement(DatastoreV1.Key.PathElement.newBuilder().setKind("__foo__" ).setName("bar" ))
+ 107 0 .build();
+ 108 0 requestPb.addKey(key);
+ 109
+ try {
+ 110 0 LookupResponse responsePb = datastoreRpc().lookup(requestPb.build());
+ 111 0 if (responsePb.getDeferredCount() > 0) {
+ 112 0 key = responsePb.getDeferred(0);
+ 113
+ } else {
+ 114 0 Iterator<EntityResult> combinedIter =
+ 115 0 Iterables.concat(responsePb.getMissingList(), responsePb.getFoundList()).iterator();
+ 116 0 key = combinedIter.next().getEntity().getKey();
+ 117
+ }
+ 118 0 builder.projectId(key.getPartitionId().getDatasetId());
+ 119 0 return new DatastoreOptions(builder);
+ 120 0 } catch (DatastoreRpcException e) {
+ 121 0 throw DatastoreException.translateAndThrow(e);
+ 122
+ }
+ 123
+ }
+ 124
+
+ 125
+ @Override
+ 126
+ protected String defaultProject() {
+ 127 0 String projectId = System.getProperty(DATASET_ENV_NAME, System.getenv(DATASET_ENV_NAME));
+ 128 0 if (projectId == null ) {
+ 129 0 projectId = appEngineAppId();
+ 130
+ }
+ 131 0 return projectId != null ? projectId : super .defaultProject();
+ 132
+ }
+ 133
+
+ 134
+ public String namespace() {
+ 135 0 return namespace;
+ 136
+ }
+ 137
+
+ 138
+ private static String defaultNamespace() {
+ 139
+
+ 140
+
+ 141
+ try {
+ 142 0 Class<?> clazz = Class.forName("com.google.appengine.api.NamespaceManager" );
+ 143 0 Method method = clazz.getMethod("get" );
+ 144 0 String namespace = (String) method.invoke(null );
+ 145 0 return namespace == null || namespace.isEmpty() ? null : namespace;
+ 146 0 } catch (Exception ignore) {
+ 147
+
+ 148 0 return null ;
+ 149
+ }
+ 150
+ }
+ 151
+
+ 152
+ public boolean force() {
+ 153 0 return force;
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ protected Set<String> scopes() {
+ 158 0 return SCOPES;
+ 159
+ }
+ 160
+
+ 161
+ @Override
+ 162
+ public Builder toBuilder() {
+ 163 0 return new Builder(this );
+ 164
+ }
+ 165
+
+ 166
+ @Override
+ 167
+ public int hashCode() {
+ 168 0 return baseHashCode() ^ Objects.hash(namespace, force, normalizeDataset);
+ 169
+ }
+ 170
+
+ 171
+ @Override
+ 172
+ public boolean equals(Object obj) {
+ 173 0 if (!(obj instanceof DatastoreOptions)) {
+ 174 0 return false ;
+ 175
+ }
+ 176 0 DatastoreOptions other = (DatastoreOptions) obj;
+ 177 0 return baseEquals(other) && Objects.equals(namespace, other.namespace)
+ 178 0 && Objects.equals(force, other.force)
+ 179 0 && Objects.equals(normalizeDataset, other.normalizeDataset);
+ 180
+ }
+ 181
+
+ 182
+ DatastoreRpc datastoreRpc() {
+ 183 0 if (datastoreRpc != null ) {
+ 184 0 return datastoreRpc;
+ 185
+ }
+ 186 0 if (serviceRpcFactory() != null ) {
+ 187 0 datastoreRpc = serviceRpcFactory().create(this );
+ 188
+ } else {
+ 189 0 datastoreRpc = createRpc(this , DatastoreRpcFactory.class );
+ 190 0 if (datastoreRpc == null ) {
+ 191 0 datastoreRpc = new DefaultDatastoreRpc(this );
+ 192
+ }
+ 193
+ }
+ 194 0 return datastoreRpc;
+ 195
+ }
+ 196
+
+ 197
+ public static DatastoreOptions defaultInstance() {
+ 198 0 return builder().build();
+ 199
+ }
+ 200
+
+ 201
+ public static Builder builder() {
+ 202 0 return new Builder();
+ 203
+ }
+ 204
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReader.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReader.html
new file mode 100644
index 000000000000..253a689f9b7a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReader.html
@@ -0,0 +1,142 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreReader
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+ import java.util.List;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface DatastoreReader {
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ Entity get(Key key);
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ Iterator<Entity> get(Key... key);
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ List<Entity> fetch(Key... keys);
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+ <T> QueryResults<T> run(Query<T> query);
+ 59
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html
new file mode 100644
index 000000000000..736a4dea95fa
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreReaderWriter.html
@@ -0,0 +1,72 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreReaderWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public interface DatastoreReaderWriter extends DatastoreReader, DatastoreWriter {
+ 24
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreWriter.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreWriter.html
new file mode 100644
index 000000000000..94e5109b89e9
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DatastoreWriter.html
@@ -0,0 +1,158 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DatastoreWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.List;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ public interface DatastoreWriter {
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ Entity add(FullEntity<?> entity);
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ List<Entity> add(FullEntity<?>... entity);
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+ void update(Entity... entity);
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ void put(Entity... entity);
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ void delete(Key... key);
+ 67
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTime.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTime.html
new file mode 100644
index 000000000000..4cd56423edf8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTime.html
@@ -0,0 +1,227 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DateTime
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.Value;
+ 23
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 24
+
+ 25
+ import org.joda.time.format.ISODateTimeFormat;
+ 26
+
+ 27
+ import java.util.Calendar;
+ 28
+ import java.util.Date;
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37 0 public final class DateTime extends Serializable<DatastoreV1.Value>
+ 38
+ implements Comparable<DateTime> {
+ 39
+
+ 40
+ private static final long serialVersionUID = 7343324797621228378L;
+ 41
+
+ 42
+ private final transient long timestampMicroseconds;
+ 43
+
+ 44
+ DateTime(long timestampMicroseconds) {
+ 45
+ this .timestampMicroseconds = timestampMicroseconds;
+ 46
+ }
+ 47
+
+ 48
+ @Override
+ 49
+ public String toString() {
+ 50 0 return ISODateTimeFormat.dateTime().print(timestampMillis());
+ 51
+ }
+ 52
+
+ 53
+ @Override
+ 54
+ public int hashCode() {
+ 55
+ return (int ) timestampMicroseconds;
+ 56
+ }
+ 57
+
+ 58
+ @Override
+ 59
+ public int compareTo(DateTime other) {
+ 60 0 return toDate().compareTo(other.toDate());
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public boolean equals(Object obj) {
+ 65 0 return obj == this
+ 66
+ || (obj instanceof DateTime
+ 67
+ && timestampMicroseconds == ((DateTime) obj).timestampMicroseconds);
+ 68
+ }
+ 69
+
+ 70
+ public long timestampMicroseconds() {
+ 71 0 return timestampMicroseconds;
+ 72
+ }
+ 73
+
+ 74
+ public long timestampMillis() {
+ 75 0 return timestampMicroseconds / 1000L;
+ 76
+ }
+ 77
+
+ 78
+ public Date toDate() {
+ 79 0 return new Date(timestampMillis());
+ 80
+ }
+ 81
+
+ 82
+ public Calendar toCalendar() {
+ 83 0 Calendar cal = Calendar.getInstance();
+ 84 0 cal.setTimeInMillis(timestampMillis());
+ 85 0 return cal;
+ 86
+ }
+ 87
+
+ 88
+ public static DateTime now() {
+ 89 0 return copyFrom(new Date());
+ 90
+ }
+ 91
+
+ 92
+ public static DateTime copyFrom(Date date) {
+ 93 0 return new DateTime(checkNotNull(date).getTime() * 1000L);
+ 94
+ }
+ 95
+
+ 96
+ public static DateTime copyFrom(Calendar calendar) {
+ 97 0 return copyFrom(calendar.getTime());
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ protected Value toPb() {
+ 102 0 return DatastoreV1.Value.newBuilder().setIntegerValue(timestampMicroseconds).build();
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 107 0 return new DateTime(DatastoreV1.Value.parseFrom(bytesPb).getIntegerValue());
+ 108
+ }
+ 109
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTimeValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTimeValue.html
new file mode 100644
index 000000000000..abfcdac90b2a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DateTimeValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DateTimeValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class DateTimeValue extends Value<DateTime> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<DateTime, DateTimeValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<DateTime, DateTimeValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5695812592049332840L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(DateTime value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected DateTime getValue(DatastoreV1.Value from) {
+ 44 0 return new DateTime(from.getTimestampMicrosecondsValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(DateTimeValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setTimestampMicrosecondsValue(from.get().timestampMicroseconds());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<DateTime, DateTimeValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.DATE_TIME);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public DateTimeValue build() {
+ 61 0 return new DateTimeValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public DateTimeValue(DateTime dateTime) {
+ 66 0 this (builder(dateTime));
+ 67 0 }
+ 68
+
+ 69
+ private DateTimeValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static DateTimeValue of(DateTime dateTime) {
+ 79 0 return new DateTimeValue(dateTime);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(DateTime dateTime) {
+ 83 0 return new Builder().set(dateTime);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DoubleValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DoubleValue.html
new file mode 100644
index 000000000000..29c2aece36e8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.DoubleValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.DoubleValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.DOUBLE_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class DoubleValue extends Value<Double> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -5096238337676649540L;
+ 26
+
+ 27 0 static final BaseMarshaller<Double, DoubleValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Double, DoubleValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 3935522813529400538L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return DOUBLE_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Double value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Double getValue(DatastoreV1.Value from) {
+ 44 0 return from.getDoubleValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(DoubleValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setDoubleValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Double, DoubleValue, Builder> {
+ 54
+
+ 55
+ public Builder() {
+ 56 0 super (ValueType.DOUBLE);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public DoubleValue build() {
+ 61 0 return new DoubleValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public DoubleValue(double value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private DoubleValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static DoubleValue of(double value) {
+ 79 0 return new DoubleValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(double value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Entity.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Entity.html
new file mode 100644
index 000000000000..e0082be639c4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Entity.html
@@ -0,0 +1,202 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Entity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class Entity extends FullEntity<Key> {
+ 29
+
+ 30
+ private static final long serialVersionUID = 432961565733066915L;
+ 31
+
+ 32 0 public static final class Builder extends BaseEntity.Builder<Key, Builder> {
+ 33
+
+ 34
+ private Builder() {
+ 35
+ }
+ 36
+
+ 37
+ private Builder(Key key) {
+ 38 0 super (checkNotNull(key));
+ 39 0 }
+ 40
+
+ 41
+ private Builder(Entity entity) {
+ 42
+ super (entity);
+ 43
+ }
+ 44
+
+ 45 0 private Builder(Key key, FullEntity<?> entity) {
+ 46 0 properties(entity.properties());
+ 47 0 key(key);
+ 48 0 }
+ 49
+
+ 50
+ @Override
+ 51
+ public Builder key(Key key) {
+ 52 0 super .key(checkNotNull(key));
+ 53 0 return this ;
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ public Entity build() {
+ 58 0 Preconditions.checkState(key() != null );
+ 59 0 return new Entity(this );
+ 60
+ }
+ 61
+ }
+ 62
+
+ 63
+ Entity(Builder builder) {
+ 64
+ super (builder);
+ 65
+ }
+ 66
+
+ 67
+ Entity(FullEntity<Key> from) {
+ 68 0 super (from);
+ 69 0 Preconditions.checkArgument(from.key() != null );
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ protected BaseEntity.Builder<Key, Builder> emptyBuilder() {
+ 74 0 return new Builder();
+ 75
+ }
+ 76
+
+ 77
+ static Entity convert(FullEntity<Key> from) {
+ 78 0 if (from instanceof Entity) {
+ 79 0 return (Entity) from;
+ 80
+ }
+ 81 0 return new Entity(from);
+ 82
+ }
+ 83
+
+ 84
+ public static Builder builder(Key key) {
+ 85 0 return new Builder(key);
+ 86
+ }
+ 87
+
+ 88
+ public static Builder builder(Entity copyFrom) {
+ 89 0 return new Builder(copyFrom);
+ 90
+ }
+ 91
+
+ 92
+ public static Builder builder(Key key, FullEntity<?> copyFrom) {
+ 93 0 return new Builder(key, copyFrom);
+ 94
+ }
+ 95
+
+ 96
+ static Entity fromPb(DatastoreV1.Entity entityPb) {
+ 97 0 return new Builder().fill(entityPb).build();
+ 98
+ }
+ 99
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.EntityValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.EntityValue.html
new file mode 100644
index 000000000000..61540f9343a0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.EntityValue.html
@@ -0,0 +1,193 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.EntityValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.ENTITY_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+
+ 24 0 public class EntityValue extends Value<FullEntity<?>> {
+ 25
+
+ 26
+ private static final long serialVersionUID = -5461475706792576395L;
+ 27
+
+ 28 0 static final BaseMarshaller<FullEntity<?>, EntityValue, Builder> MARSHALLER =
+ 29 0 new BaseMarshaller<FullEntity<?>, EntityValue, Builder>() {
+ 30
+
+ 31
+ private static final long serialVersionUID = 2355075086076070931L;
+ 32
+
+ 33
+ @Override
+ 34
+ public int getProtoFieldId() {
+ 35 0 return ENTITY_VALUE_FIELD_NUMBER;
+ 36
+ }
+ 37
+
+ 38
+ @Override
+ 39
+ public Builder newBuilder(FullEntity<?> value) {
+ 40 0 return builder(value);
+ 41
+ }
+ 42
+
+ 43
+ @Override
+ 44
+ protected FullEntity<?> getValue(DatastoreV1.Value from) {
+ 45 0 return FullEntity.fromPb(from.getEntityValue());
+ 46
+ }
+ 47
+
+ 48
+ @Override
+ 49
+ protected void setValue(EntityValue from, DatastoreV1.Value.Builder to) {
+ 50 0 to.setEntityValue(from.get().toPb());
+ 51 0 }
+ 52
+ };
+ 53
+
+ 54 0 public static final class Builder extends Value.BaseBuilder<FullEntity<?>, EntityValue, Builder> {
+ 55
+
+ 56
+ private Builder() {
+ 57 0 super (ValueType.ENTITY);
+ 58 0 }
+ 59
+
+ 60
+ @Override
+ 61
+ public Builder indexed(boolean indexed) {
+ 62
+
+ 63 0 Preconditions.checkArgument(!indexed, "EntityValue can't be indexed" );
+ 64 0 return super .indexed(indexed);
+ 65
+ }
+ 66
+
+ 67
+ @Override
+ 68
+ public EntityValue build() {
+ 69 0 return new EntityValue(this );
+ 70
+ }
+ 71
+ }
+ 72
+
+ 73
+ public EntityValue(FullEntity<?> entity) {
+ 74 0 this (builder(entity));
+ 75 0 }
+ 76
+
+ 77
+ private EntityValue(Builder builder) {
+ 78
+ super (builder);
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ public Builder toBuilder() {
+ 83 0 return new Builder().mergeFrom(this );
+ 84
+ }
+ 85
+
+ 86
+ public static EntityValue of(FullEntity<?> entity) {
+ 87 0 return new EntityValue(entity);
+ 88
+ }
+ 89
+
+ 90
+ public static Builder builder(FullEntity<?> entity) {
+ 91 0 return new Builder().set(entity).indexed(false );
+ 92
+ }
+ 93
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.FullEntity.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.FullEntity.html
new file mode 100644
index 000000000000..bf4076a39b56
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.FullEntity.html
@@ -0,0 +1,170 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.FullEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ public class FullEntity<K extends IncompleteKey> extends BaseEntity<K> {
+ 25
+
+ 26
+ private static final long serialVersionUID = 432961565733066915L;
+ 27
+
+ 28 0 public static class Builder<K extends IncompleteKey> extends BaseEntity.Builder<K, Builder<K>> {
+ 29
+
+ 30
+ Builder() {
+ 31
+ }
+ 32
+
+ 33
+ Builder(K key) {
+ 34
+ super (key);
+ 35
+ }
+ 36
+
+ 37
+ Builder(FullEntity<K> entity) {
+ 38
+ super (entity);
+ 39
+ }
+ 40
+
+ 41
+ @Override
+ 42
+ public FullEntity<K> build() {
+ 43 0 return new FullEntity<>(this );
+ 44
+ }
+ 45
+ }
+ 46
+
+ 47
+ FullEntity(BaseEntity.Builder<K, ?> builder) {
+ 48
+ super (builder);
+ 49
+ }
+ 50
+
+ 51
+ FullEntity(FullEntity<K> from) {
+ 52
+ super (from);
+ 53
+ }
+ 54
+
+ 55
+ @Override
+ 56
+ protected BaseEntity.Builder<K, ?> emptyBuilder() {
+ 57 0 return new Builder<K>();
+ 58
+ }
+ 59
+
+ 60
+ public static Builder<IncompleteKey> builder() {
+ 61 0 return new Builder<>();
+ 62
+ }
+ 63
+
+ 64
+ public static <K extends IncompleteKey> Builder<K> builder(K key) {
+ 65 0 return new Builder<>(key);
+ 66
+ }
+ 67
+
+ 68
+ public static <K extends IncompleteKey> Builder<K> builder(FullEntity<K> copyFrom) {
+ 69 0 return new Builder<>(copyFrom);
+ 70
+ }
+ 71
+
+ 72
+
+ 73
+ static FullEntity<?> fromPb(DatastoreV1.Entity entityPb) {
+ 74 0 return new Builder<>().fill(entityPb).build();
+ 75
+ }
+ 76
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.GqlQuery.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.GqlQuery.html
new file mode 100644
index 000000000000..42a6fef287d4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.GqlQuery.html
@@ -0,0 +1,713 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.GqlQuery
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.gcloud.datastore.Validator.validateNamespace;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.common.base.MoreObjects;
+ 24
+ import com.google.common.collect.ImmutableList;
+ 25
+ import com.google.common.collect.ImmutableMap;
+ 26
+ import com.google.common.collect.ImmutableSortedMap;
+ 27
+ import com.google.common.primitives.Booleans;
+ 28
+ import com.google.common.primitives.Doubles;
+ 29
+ import com.google.common.primitives.Longs;
+ 30
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 31
+
+ 32
+ import java.util.ArrayList;
+ 33
+ import java.util.Arrays;
+ 34
+ import java.util.LinkedList;
+ 35
+ import java.util.List;
+ 36
+ import java.util.Map;
+ 37
+ import java.util.Objects;
+ 38
+ import java.util.TreeMap;
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72 0 public final class GqlQuery<V> extends Query<V> {
+ 73
+
+ 74
+ private static final long serialVersionUID = 5988280590929540569L;
+ 75
+
+ 76
+ private final transient String queryString;
+ 77
+ private final transient boolean allowLiteral;
+ 78
+ private final transient ImmutableList<Binding> namedBindings;
+ 79
+ private final transient ImmutableList<Binding> positionalBindings;
+ 80
+
+ 81 0 static final class Binding extends Serializable<DatastoreV1.GqlQueryArg> {
+ 82
+
+ 83
+ private static final long serialVersionUID = 1976895435257636275L;
+ 84
+
+ 85
+ private final transient String name;
+ 86
+ private final transient Cursor cursor;
+ 87
+ private final transient Value<?> value;
+ 88
+
+ 89 0 Binding(String name, Cursor cursor) {
+ 90 0 this .name = name;
+ 91 0 this .cursor = checkNotNull(cursor);
+ 92 0 value = null ;
+ 93 0 }
+ 94
+
+ 95 0 Binding(String name, Value<?> value) {
+ 96 0 this .name = name;
+ 97 0 this .value = checkNotNull(value);
+ 98 0 cursor = null ;
+ 99 0 }
+ 100
+
+ 101
+ Object cursorOrValue() {
+ 102 0 return MoreObjects.firstNonNull(cursor, value);
+ 103
+ }
+ 104
+
+ 105
+ String name() {
+ 106 0 return name;
+ 107
+ }
+ 108
+
+ 109
+ @Override
+ 110
+ public int hashCode() {
+ 111 0 return Objects.hash(name, cursor, value);
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public boolean equals(Object obj) {
+ 116 0 if (obj == this ) {
+ 117 0 return true ;
+ 118
+ }
+ 119 0 if (!(obj instanceof Binding)) {
+ 120 0 return false ;
+ 121
+ }
+ 122 0 Binding other = (Binding) obj;
+ 123 0 return Objects.equals(name, other.name)
+ 124 0 && Objects.equals(cursor, other.cursor)
+ 125 0 && Objects.equals(value, other.value);
+ 126
+ }
+ 127
+
+ 128
+ @Override
+ 129
+ protected DatastoreV1.GqlQueryArg toPb() {
+ 130 0 DatastoreV1.GqlQueryArg.Builder argPb = DatastoreV1.GqlQueryArg.newBuilder();
+ 131 0 if (name != null ) {
+ 132 0 argPb.setName(name);
+ 133
+ }
+ 134 0 if (cursor != null ) {
+ 135 0 argPb.setCursor(cursor.byteString());
+ 136
+ }
+ 137 0 if (value != null ) {
+ 138 0 argPb.setValue(value.toPb());
+ 139
+ }
+ 140 0 return argPb.build();
+ 141
+ }
+ 142
+
+ 143
+ @Override
+ 144
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 145 0 return fromPb(DatastoreV1.GqlQueryArg.parseFrom(bytesPb));
+ 146
+ }
+ 147
+
+ 148
+ static Binding fromPb(DatastoreV1.GqlQueryArg argPb) {
+ 149 0 String name = argPb.hasName() ? argPb.getName() : null ;
+ 150 0 if (argPb.hasCursor()) {
+ 151 0 return new Binding(name, new Cursor(argPb.getCursor()));
+ 152
+ }
+ 153 0 return new Binding(name, Value.fromPb(argPb.getValue()));
+ 154
+ }
+ 155
+ }
+ 156
+
+ 157
+
+ 158
+
+ 159
+
+ 160 0 public static final class Builder<V> {
+ 161
+
+ 162
+ private final ResultType<V> resultType;
+ 163
+ private String namespace;
+ 164
+ private String queryString;
+ 165
+ private boolean allowLiteral;
+ 166 0 private final Map<String, Binding> namedBindings = new TreeMap<>();
+ 167 0 private final List<Binding> positionalBindings = new LinkedList<>();
+ 168
+
+ 169 0 Builder(ResultType<V> resultType, String query) {
+ 170 0 this .resultType = checkNotNull(resultType);
+ 171 0 queryString = checkNotNull(query);
+ 172 0 }
+ 173
+
+ 174
+ public Builder<V> query(String query) {
+ 175 0 queryString = checkNotNull(query);
+ 176 0 return this ;
+ 177
+ }
+ 178
+
+ 179
+ public Builder<V> namespace(String namespace) {
+ 180 0 this .namespace = validateNamespace(namespace);
+ 181 0 return this ;
+ 182
+ }
+ 183
+
+ 184
+ public Builder<V> allowLiteral(boolean allowLiteral) {
+ 185 0 this .allowLiteral = allowLiteral;
+ 186 0 return this ;
+ 187
+ }
+ 188
+
+ 189
+ public Builder<V> clearBindings() {
+ 190 0 namedBindings.clear();
+ 191 0 positionalBindings.clear();
+ 192 0 return this ;
+ 193
+ }
+ 194
+
+ 195
+ public Builder<V> setBinding(String name, Cursor cursor) {
+ 196 0 namedBindings.put(name, new Binding(name, cursor));
+ 197 0 return this ;
+ 198
+ }
+ 199
+
+ 200
+ public Builder<V> setBinding(String name, String... value) {
+ 201 0 namedBindings.put(name, toBinding(name, StringValue.MARSHALLER, Arrays.asList(value)));
+ 202 0 return this ;
+ 203
+ }
+ 204
+
+ 205
+ public Builder<V> setBinding(String name, long ... value) {
+ 206 0 namedBindings.put(name, toBinding(name, LongValue.MARSHALLER, Longs.asList(value)));
+ 207 0 return this ;
+ 208
+ }
+ 209
+
+ 210
+ public Builder<V> setBinding(String name, double ... value) {
+ 211 0 namedBindings.put(name, toBinding(name, DoubleValue.MARSHALLER, Doubles.asList(value)));
+ 212 0 return this ;
+ 213
+ }
+ 214
+
+ 215
+ public Builder<V> setBinding(String name, boolean ... value) {
+ 216 0 namedBindings.put(name, toBinding(name, BooleanValue.MARSHALLER, Booleans.asList(value)));
+ 217 0 return this ;
+ 218
+ }
+ 219
+
+ 220
+ public Builder<V> setBinding(String name, DateTime... value) {
+ 221 0 namedBindings.put(name, toBinding(name, DateTimeValue.MARSHALLER, Arrays.asList(value)));
+ 222 0 return this ;
+ 223
+ }
+ 224
+
+ 225
+ public Builder<V> setBinding(String name, Key... value) {
+ 226 0 namedBindings.put(name, toBinding(name, KeyValue.MARSHALLER, Arrays.asList(value)));
+ 227 0 return this ;
+ 228
+ }
+ 229
+
+ 230
+ public Builder<V> setBinding(String name, FullEntity<?>... value) {
+ 231 0 namedBindings.put(name, toBinding(name, EntityValue.MARSHALLER, Arrays.asList(value)));
+ 232 0 return this ;
+ 233
+ }
+ 234
+
+ 235
+ public Builder<V> setBinding(String name, Blob... value) {
+ 236 0 namedBindings.put(name, toBinding(name, BlobValue.MARSHALLER, Arrays.asList(value)));
+ 237 0 return this ;
+ 238
+ }
+ 239
+
+ 240
+ public Builder<V> addBinding(Cursor cursor) {
+ 241 0 positionalBindings.add(new Binding(null , cursor));
+ 242 0 return this ;
+ 243
+ }
+ 244
+
+ 245
+ public Builder<V> addBinding(String... value) {
+ 246 0 positionalBindings.add(toBinding(StringValue.MARSHALLER, Arrays.asList(value)));
+ 247 0 return this ;
+ 248
+ }
+ 249
+
+ 250
+ public Builder<V> addBinding(long ... value) {
+ 251 0 positionalBindings.add(toBinding(LongValue.MARSHALLER, Longs.asList(value)));
+ 252 0 return this ;
+ 253
+ }
+ 254
+
+ 255
+ public Builder<V> addBinding(double ... value) {
+ 256 0 positionalBindings.add(toBinding(DoubleValue.MARSHALLER, Doubles.asList(value)));
+ 257 0 return this ;
+ 258
+ }
+ 259
+
+ 260
+ public Builder<V> addBinding(boolean ... value) {
+ 261 0 positionalBindings.add(toBinding(BooleanValue.MARSHALLER, Booleans.asList(value)));
+ 262 0 return this ;
+ 263
+ }
+ 264
+
+ 265
+ public Builder<V> addBinding(DateTime... value) {
+ 266 0 positionalBindings.add(toBinding(DateTimeValue.MARSHALLER, Arrays.asList(value)));
+ 267 0 return this ;
+ 268
+ }
+ 269
+
+ 270
+ public Builder<V> addBinding(Key... value) {
+ 271 0 positionalBindings.add(toBinding(KeyValue.MARSHALLER, Arrays.asList(value)));
+ 272 0 return this ;
+ 273
+ }
+ 274
+
+ 275
+ public Builder<V> addBinding(FullEntity<?>... value) {
+ 276 0 positionalBindings.add(toBinding(EntityValue.MARSHALLER, Arrays.asList(value)));
+ 277 0 return this ;
+ 278
+ }
+ 279
+
+ 280
+ public Builder<V> addBinding(Blob... value) {
+ 281 0 positionalBindings.add(toBinding(BlobValue.MARSHALLER, Arrays.asList(value)));
+ 282 0 return this ;
+ 283
+ }
+ 284
+
+ 285
+ public GqlQuery<V> build() {
+ 286 0 return new GqlQuery<>(this );
+ 287
+ }
+ 288
+
+ 289
+ private static Binding toBinding(Value.BuilderFactory<?, ?, ?> builderFactory, List<?> values) {
+ 290 0 return toBinding(null , builderFactory, values);
+ 291
+ }
+ 292
+
+ 293
+ private static <V> Binding toBinding(String name, Value.BuilderFactory<V, ?, ?> builderFactory,
+ 294
+ List<?> values) {
+ 295 0 List<Value<V>> list = new ArrayList<>(values.size());
+ 296 0 for (Object object : values) {
+ 297
+ @SuppressWarnings("unchecked" )
+ 298 0 V v = (V) object;
+ 299 0 list.add(builderFactory.newBuilder(v).build());
+ 300 0 }
+ 301
+ Value<?> value;
+ 302 0 if (list.isEmpty()) {
+ 303 0 value = new NullValue();
+ 304 0 } else if (list.size() == 1) {
+ 305 0 value = list.get(0);
+ 306
+ } else {
+ 307 0 value = new ListValue(list);
+ 308
+ }
+ 309 0 return new Binding(name, value);
+ 310
+ }
+ 311
+ }
+ 312
+
+ 313
+ private GqlQuery(Builder<V> builder) {
+ 314 0 super (builder.resultType, builder.namespace);
+ 315 0 queryString = builder.queryString;
+ 316 0 allowLiteral = builder.allowLiteral;
+ 317 0 namedBindings = ImmutableList.copyOf(builder.namedBindings.values());
+ 318 0 positionalBindings = ImmutableList.copyOf(builder.positionalBindings);
+ 319 0 }
+ 320
+
+ 321
+ public String queryString() {
+ 322 0 return queryString;
+ 323
+ }
+ 324
+
+ 325
+ public boolean allowLiteral() {
+ 326 0 return allowLiteral;
+ 327
+ }
+ 328
+
+ 329
+
+ 330
+
+ 331
+
+ 332
+ public Map<String, Object> namedBindings() {
+ 333 0 ImmutableMap.Builder<String, Object> builder = ImmutableSortedMap.naturalOrder();
+ 334 0 for (Binding binding : namedBindings) {
+ 335 0 builder.put(binding.name(), binding.cursorOrValue());
+ 336 0 }
+ 337 0 return builder.build();
+ 338
+ }
+ 339
+
+ 340
+
+ 341
+
+ 342
+
+ 343
+ public List<Object> numberArgs() {
+ 344 0 ImmutableList.Builder<Object> builder = ImmutableList.builder();
+ 345 0 for (Binding binding : positionalBindings) {
+ 346 0 builder.add(binding.cursorOrValue());
+ 347 0 }
+ 348 0 return builder.build();
+ 349
+ }
+ 350
+
+ 351
+ @Override
+ 352
+ public int hashCode() {
+ 353 0 return Objects.hash(namespace(), queryString, allowLiteral, namedBindings, positionalBindings);
+ 354
+ }
+ 355
+
+ 356
+ @Override
+ 357
+ public boolean equals(Object obj) {
+ 358 0 if (obj == this ) {
+ 359 0 return true ;
+ 360
+ }
+ 361 0 if (!(obj instanceof GqlQuery)) {
+ 362 0 return false ;
+ 363
+ }
+ 364 0 GqlQuery<?> other = (GqlQuery<?>) obj;
+ 365 0 return Objects.equals(namespace(), other.namespace())
+ 366 0 && Objects.equals(queryString, other.queryString)
+ 367
+ && allowLiteral == other.allowLiteral
+ 368 0 && Objects.equals(namedBindings, other.namedBindings)
+ 369 0 && Objects.equals(positionalBindings, other.positionalBindings);
+ 370
+ }
+ 371
+
+ 372
+ @Override
+ 373
+ protected DatastoreV1.GqlQuery toPb() {
+ 374 0 DatastoreV1.GqlQuery.Builder queryPb = DatastoreV1.GqlQuery.newBuilder();
+ 375 0 queryPb.setQueryString(queryString);
+ 376 0 queryPb.setAllowLiteral(allowLiteral);
+ 377 0 for (Binding argument : namedBindings) {
+ 378 0 queryPb.addNameArg(argument.toPb());
+ 379 0 }
+ 380 0 for (Binding argument : positionalBindings) {
+ 381 0 queryPb.addNumberArg(argument.toPb());
+ 382 0 }
+ 383 0 return queryPb.build();
+ 384
+ }
+ 385
+
+ 386
+ @Override
+ 387
+ protected void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb) {
+ 388 0 requestPb.setGqlQuery(toPb());
+ 389 0 }
+ 390
+
+ 391
+ @Override
+ 392
+ protected GqlQuery<V> nextQuery(DatastoreV1.QueryResultBatch responsePb) {
+ 393
+
+ 394 0 throw new UnsupportedOperationException("paging for this query is not implemented yet" );
+ 395
+ }
+ 396
+
+ 397
+ @Override
+ 398
+ protected Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 399
+ throws InvalidProtocolBufferException {
+ 400 0 return fromPb(resultType, namespace, DatastoreV1.GqlQuery.parseFrom(bytesPb));
+ 401
+ }
+ 402
+
+ 403
+ private static <V> GqlQuery<V> fromPb(
+ 404
+ ResultType<V> resultType, String ns, DatastoreV1.GqlQuery queryPb) {
+ 405 0 Builder<V> builder = new Builder<>(resultType, queryPb.getQueryString());
+ 406 0 builder.namespace(ns);
+ 407 0 if (queryPb.hasAllowLiteral()) {
+ 408 0 builder.allowLiteral = queryPb.getAllowLiteral();
+ 409
+ }
+ 410 0 for (DatastoreV1.GqlQueryArg nameArg : queryPb.getNameArgList()) {
+ 411 0 Binding argument = Binding.fromPb(nameArg);
+ 412 0 builder.namedBindings.put(argument.name(), argument);
+ 413 0 }
+ 414 0 for (DatastoreV1.GqlQueryArg numberArg : queryPb.getNumberArgList()) {
+ 415 0 Binding argument = Binding.fromPb(numberArg);
+ 416 0 builder.positionalBindings.add(argument);
+ 417 0 }
+ 418 0 return builder.build();
+ 419
+ }
+ 420
+
+ 421
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.IncompleteKey.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.IncompleteKey.html
new file mode 100644
index 000000000000..6673ec4132fb
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.IncompleteKey.html
@@ -0,0 +1,194 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.IncompleteKey
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Preconditions;
+ 21
+ import com.google.common.collect.ImmutableList;
+ 22
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 23
+
+ 24
+ import java.util.List;
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30 0 public class IncompleteKey extends BaseKey {
+ 31
+
+ 32
+ private static final long serialVersionUID = -75301206578793347L;
+ 33
+
+ 34 0 public static class Builder extends BaseKey.Builder<Builder> {
+ 35
+
+ 36
+ private Builder(String projectId, String kind) {
+ 37
+ super (projectId, kind);
+ 38
+ }
+ 39
+
+ 40
+ private Builder(IncompleteKey copyFrom) {
+ 41
+ super (copyFrom);
+ 42
+ }
+ 43
+
+ 44
+ @Override
+ 45
+ public IncompleteKey build() {
+ 46 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 47 0 .addAll(ancestors).add(PathElement.of(kind)).build();
+ 48 0 return new IncompleteKey(projectId, namespace, path);
+ 49
+ }
+ 50
+ }
+ 51
+
+ 52
+ IncompleteKey(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 53
+ super (projectId, namespace, path);
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 58 0 return fromPb(DatastoreV1.Key.parseFrom(bytesPb));
+ 59
+ }
+ 60
+
+ 61
+ static IncompleteKey fromPb(DatastoreV1.Key keyPb) {
+ 62 0 String projectId = null ;
+ 63 0 String namespace = null ;
+ 64 0 if (keyPb.hasPartitionId()) {
+ 65 0 DatastoreV1.PartitionId partitionIdPb = keyPb.getPartitionId();
+ 66 0 if (partitionIdPb.hasDatasetId()) {
+ 67 0 projectId = partitionIdPb.getDatasetId();
+ 68
+ }
+ 69 0 if (partitionIdPb.hasNamespace()) {
+ 70 0 namespace = partitionIdPb.getNamespace();
+ 71
+ }
+ 72
+ }
+ 73 0 List<DatastoreV1.Key.PathElement> pathElementsPb = keyPb.getPathElementList();
+ 74 0 Preconditions.checkArgument(!pathElementsPb.isEmpty(), "Path must not be empty" );
+ 75 0 ImmutableList.Builder<PathElement> pathBuilder = ImmutableList.builder();
+ 76 0 for (DatastoreV1.Key.PathElement pathElementPb : pathElementsPb) {
+ 77 0 pathBuilder.add(PathElement.fromPb(pathElementPb));
+ 78 0 }
+ 79 0 ImmutableList<PathElement> path = pathBuilder.build();
+ 80 0 PathElement leaf = path.get(path.size() - 1);
+ 81 0 if (leaf.nameOrId() != null ) {
+ 82 0 return new Key(projectId, namespace, path);
+ 83
+ }
+ 84 0 return new IncompleteKey(projectId, namespace, path);
+ 85
+ }
+ 86
+
+ 87
+ public static Builder builder(String projectId, String kind) {
+ 88 0 return new Builder(projectId, kind);
+ 89
+ }
+ 90
+
+ 91
+ public static Builder builder(IncompleteKey copyFrom) {
+ 92 0 return new Builder(copyFrom);
+ 93
+ }
+ 94
+
+ 95
+ public static Builder builder(Key parent, String kind) {
+ 96 0 return builder(parent.projectId(), kind).namespace(parent.namespace()).ancestors(parent.path());
+ 97
+ }
+ 98
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Key.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Key.html
new file mode 100644
index 000000000000..9259a542ab1b
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Key.html
@@ -0,0 +1,399 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Key
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 25
+ import com.google.protobuf.TextFormat;
+ 26
+
+ 27
+ import java.io.UnsupportedEncodingException;
+ 28
+ import java.net.URLDecoder;
+ 29
+ import java.net.URLEncoder;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ public final class Key extends IncompleteKey {
+ 40
+
+ 41
+ private static final long serialVersionUID = 3160994559785491356L;
+ 42
+
+ 43 0 public static final class Builder extends BaseKey.Builder<Builder> {
+ 44
+
+ 45
+ private String name;
+ 46
+ private Long id;
+ 47
+
+ 48
+ private Builder(String projectId, String kind, String name) {
+ 49
+ super (projectId, kind);
+ 50
+ this .name = name;
+ 51
+ }
+ 52
+
+ 53
+ private Builder(String projectId, String kind, long id) {
+ 54 0 super (projectId, kind);
+ 55 0 this .id = id;
+ 56 0 }
+ 57
+
+ 58
+ private Builder(IncompleteKey copyFrom, String name) {
+ 59
+ super (copyFrom);
+ 60
+ this .name = name;
+ 61
+ }
+ 62
+
+ 63
+ private Builder(IncompleteKey copyFrom, long id) {
+ 64 0 super (copyFrom);
+ 65 0 this .id = id;
+ 66 0 }
+ 67
+
+ 68
+ private Builder(Key copyFrom) {
+ 69 0 super (copyFrom);
+ 70 0 if (copyFrom.hasId()) {
+ 71 0 id = copyFrom.id();
+ 72
+ } else {
+ 73 0 name = copyFrom.name();
+ 74
+ }
+ 75 0 }
+ 76
+
+ 77
+ public Builder name(String name) {
+ 78 0 this .name = name;
+ 79 0 id = null ;
+ 80 0 return this ;
+ 81
+ }
+ 82
+
+ 83
+ public Builder id(long id) {
+ 84 0 this .id = id;
+ 85 0 name = null ;
+ 86 0 return this ;
+ 87
+ }
+ 88
+
+ 89
+ @Override
+ 90
+ public Key build() {
+ 91
+ ImmutableList.Builder<PathElement> pathBuilder =
+ 92 0 ImmutableList.<PathElement>builder().addAll(ancestors);
+ 93 0 if (id == null ) {
+ 94 0 pathBuilder.add(PathElement.of(kind, name));
+ 95
+ } else {
+ 96 0 pathBuilder.add(PathElement.of(kind, id));
+ 97
+ }
+ 98 0 return new Key(projectId, namespace, pathBuilder.build());
+ 99
+ }
+ 100
+ }
+ 101
+
+ 102
+ Key(String projectId, String namespace, ImmutableList<PathElement> path) {
+ 103 0 super (projectId, namespace, path);
+ 104 0 Preconditions.checkArgument(nameOrId() != null );
+ 105 0 }
+ 106
+
+ 107
+ public boolean hasId() {
+ 108 0 return leaf().hasId();
+ 109
+ }
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+ public Long id() {
+ 115 0 return leaf().id();
+ 116
+ }
+ 117
+
+ 118
+ public boolean hasName() {
+ 119 0 return leaf().hasName();
+ 120
+ }
+ 121
+
+ 122
+
+ 123
+
+ 124
+
+ 125
+ public String name() {
+ 126 0 return leaf().name();
+ 127
+ }
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+ public Object nameOrId() {
+ 134 0 return leaf().nameOrId();
+ 135
+ }
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+ public String toUrlSafe() {
+ 141
+ try {
+ 142 0 return URLEncoder.encode(TextFormat.printToString(toPb()), UTF_8.name());
+ 143 0 } catch (UnsupportedEncodingException e) {
+ 144 0 throw new IllegalStateException("Unexpected encoding exception" , e);
+ 145
+ }
+ 146
+ }
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+ public static Key fromUrlSafe(String urlSafe) {
+ 154
+ try {
+ 155 0 String utf8Str = URLDecoder.decode(urlSafe, UTF_8.name());
+ 156 0 DatastoreV1.Key.Builder builder = DatastoreV1.Key.newBuilder();
+ 157 0 TextFormat.merge(utf8Str, builder);
+ 158 0 return fromPb(builder.build());
+ 159 0 } catch (UnsupportedEncodingException e) {
+ 160 0 throw new IllegalStateException("Unexpected decoding exception" , e);
+ 161 0 } catch (TextFormat.ParseException e) {
+ 162 0 throw new IllegalArgumentException("Could not parse key" , e);
+ 163
+ }
+ 164
+ }
+ 165
+
+ 166
+ @Override
+ 167
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 168 0 return fromPb(DatastoreV1.Key.parseFrom(bytesPb));
+ 169
+ }
+ 170
+
+ 171
+ static Key fromPb(DatastoreV1.Key keyPb) {
+ 172 0 IncompleteKey key = IncompleteKey.fromPb(keyPb);
+ 173 0 Preconditions.checkState(key instanceof Key, "Key is not complete" );
+ 174 0 return (Key) key;
+ 175
+ }
+ 176
+
+ 177
+ public static Builder builder(String projectId, String kind, String name) {
+ 178 0 return new Builder(projectId, kind, name);
+ 179
+ }
+ 180
+
+ 181
+ public static Builder builder(String projectId, String kind, long id) {
+ 182 0 return new Builder(projectId, kind, id);
+ 183
+ }
+ 184
+
+ 185
+ public static Builder builder(Key copyFrom) {
+ 186 0 return new Builder(copyFrom);
+ 187
+ }
+ 188
+
+ 189
+ public static Builder builder(IncompleteKey copyFrom, String name) {
+ 190 0 return new Builder(copyFrom, name);
+ 191
+ }
+ 192
+
+ 193
+ public static Builder builder(IncompleteKey copyFrom, long id) {
+ 194 0 return new Builder(copyFrom, id);
+ 195
+ }
+ 196
+
+ 197
+ public static Builder builder(Key parent, String kind, String name) {
+ 198 0 Builder builder = builder(parent.projectId(), kind, name);
+ 199 0 addParentToBuilder(parent, builder);
+ 200 0 return builder;
+ 201
+ }
+ 202
+
+ 203
+ public static Builder builder(Key parent, String kind, long id) {
+ 204 0 Builder builder = builder(parent.projectId(), kind, id);
+ 205 0 addParentToBuilder(parent, builder);
+ 206 0 return builder;
+ 207
+ }
+ 208
+
+ 209
+ private static void addParentToBuilder(Key parent, Builder builder) {
+ 210 0 builder.namespace(parent.namespace());
+ 211 0 builder.ancestors(parent.ancestors());
+ 212 0 if (parent.hasId()) {
+ 213 0 builder.ancestors(PathElement.of(parent.kind(), parent.id()));
+ 214
+ } else {
+ 215 0 builder.ancestors(PathElement.of(parent.kind(), parent.name()));
+ 216
+ }
+ 217 0 }
+ 218
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyFactory.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyFactory.html
new file mode 100644
index 000000000000..389e2a27d793
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyFactory.html
@@ -0,0 +1,151 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.KeyFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableList;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25 0 public final class KeyFactory extends BaseKey.Builder<KeyFactory> {
+ 26
+
+ 27
+ private final String pi;
+ 28
+ private final String ns;
+ 29
+
+ 30
+ public KeyFactory(String projectId) {
+ 31 0 this (projectId, null );
+ 32 0 }
+ 33
+
+ 34
+ public KeyFactory(String projectId, String namespace) {
+ 35 0 super (projectId);
+ 36 0 namespace(namespace);
+ 37 0 this .pi = projectId;
+ 38 0 this .ns = namespace;
+ 39 0 }
+ 40
+
+ 41
+ public IncompleteKey newKey() {
+ 42 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 43 0 .addAll(ancestors).add(PathElement.of(kind)).build();
+ 44 0 return new IncompleteKey(projectId, namespace, path);
+ 45
+ }
+ 46
+
+ 47
+ public Key newKey(String name) {
+ 48 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 49 0 .addAll(ancestors).add(PathElement.of(kind, name)).build();
+ 50 0 return new Key(projectId, namespace, path);
+ 51
+ }
+ 52
+
+ 53
+ public Key newKey(long id) {
+ 54 0 ImmutableList<PathElement> path = ImmutableList.<PathElement>builder()
+ 55 0 .addAll(ancestors).add(PathElement.of(kind, id)).build();
+ 56 0 return new Key(projectId, namespace, path);
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+ public KeyFactory reset() {
+ 64 0 projectId(pi);
+ 65 0 namespace(ns);
+ 66 0 kind = null ;
+ 67 0 ancestors.clear();
+ 68 0 return this ;
+ 69
+ }
+ 70
+
+ 71
+ @Override
+ 72
+ protected IncompleteKey build() {
+ 73 0 return newKey();
+ 74
+ }
+ 75
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyValue.html
new file mode 100644
index 000000000000..25e6422caa87
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.KeyValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.KeyValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.KEY_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class KeyValue extends Value<Key> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -1318353707326704821L;
+ 26
+
+ 27 0 static final BaseMarshaller<Key, KeyValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Key, KeyValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 5449133205064700403L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return KEY_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Key key) {
+ 39 0 return builder(key);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Key getValue(DatastoreV1.Value from) {
+ 44 0 return Key.fromPb(from.getKeyValue());
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(KeyValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setKeyValue(from.get().toPb());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Key, KeyValue, Builder> {
+ 54
+
+ 55
+ public Builder() {
+ 56 0 super (ValueType.KEY);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public KeyValue build() {
+ 61 0 return new KeyValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public KeyValue(Key key) {
+ 66 0 this (builder(key));
+ 67 0 }
+ 68
+
+ 69
+ private KeyValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static KeyValue of(Key key) {
+ 79 0 return new KeyValue(key);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(Key key) {
+ 83 0 return new Builder().set(key);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ListValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ListValue.html
new file mode 100644
index 000000000000..0bd0dbd76f60
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ListValue.html
@@ -0,0 +1,280 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ListValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.LIST_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.Preconditions;
+ 23
+ import com.google.common.collect.ImmutableList;
+ 24
+
+ 25
+ import java.util.ArrayList;
+ 26
+ import java.util.List;
+ 27
+
+ 28 0 public final class ListValue extends Value<List<? extends Value<?>>> {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5461475706792576395L;
+ 31
+
+ 32 0 static final BaseMarshaller<List<? extends Value<?>>, ListValue, Builder> MARSHALLER =
+ 33 0 new BaseMarshaller<List<? extends Value<?>>, ListValue, Builder>() {
+ 34
+
+ 35
+ private static final long serialVersionUID = -3193794036327640106L;
+ 36
+
+ 37
+ @Override
+ 38
+ public int getProtoFieldId() {
+ 39 0 return LIST_VALUE_FIELD_NUMBER;
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ public Builder newBuilder(List<? extends Value<?>> values) {
+ 44 0 return builder().set(values);
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected List<Value<?>> getValue(DatastoreV1.Value from) {
+ 49 0 List<Value<?>> properties = new ArrayList<>(from.getListValueCount());
+ 50 0 for (DatastoreV1.Value valuePb : from.getListValueList()) {
+ 51 0 properties.add(Value.fromPb(valuePb));
+ 52 0 }
+ 53 0 return properties;
+ 54
+ }
+ 55
+
+ 56
+ @Override
+ 57
+ protected void setValue(ListValue from, DatastoreV1.Value.Builder to) {
+ 58 0 for (Value<?> property : from.get()) {
+ 59 0 to.addListValue(property.toPb());
+ 60 0 }
+ 61 0 }
+ 62
+ };
+ 63
+
+ 64 0 public static final class Builder extends
+ 65
+ Value.BaseBuilder<List<? extends Value<?>>, ListValue, Builder> {
+ 66
+
+ 67 0 private ImmutableList.Builder<Value<?>> listBuilder = ImmutableList.builder();
+ 68
+
+ 69
+ private Builder() {
+ 70 0 super (ValueType.LIST);
+ 71 0 }
+ 72
+
+ 73
+ public Builder addValue(Value<?> value) {
+ 74
+
+ 75 0 Preconditions.checkArgument(value.type() != ValueType.LIST, "Cannot contain another list" );
+ 76 0 listBuilder.add(value);
+ 77 0 return this ;
+ 78
+ }
+ 79
+
+ 80
+ public Builder addValue(Value<?> first, Value<?>... other) {
+ 81 0 addValue(first);
+ 82 0 for (Value<?> value : other) {
+ 83 0 addValue(value);
+ 84
+ }
+ 85 0 return this ;
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ public Builder indexed(boolean indexed) {
+ 90
+
+ 91 0 throw DatastoreException.throwInvalidRequest("ListValue can't specify index" );
+ 92
+ }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+ @Override
+ 100
+ public Builder set(List<? extends Value<?>> values) {
+ 101 0 listBuilder = ImmutableList.builder();
+ 102 0 for (Value<?> value : values) {
+ 103 0 addValue(value);
+ 104 0 }
+ 105 0 return this ;
+ 106
+ }
+ 107
+
+ 108
+ @Override
+ 109
+ public List<? extends Value<?>> get() {
+ 110 0 return listBuilder.build();
+ 111
+ }
+ 112
+
+ 113
+ @Override
+ 114
+ public ListValue build() {
+ 115 0 Preconditions.checkState(!get().isEmpty(), "value list could not be empty" );
+ 116 0 return new ListValue(this );
+ 117
+ }
+ 118
+ }
+ 119
+
+ 120
+ public ListValue(List<? extends Value<?>> values) {
+ 121 0 this (builder().set(values));
+ 122 0 }
+ 123
+
+ 124
+ public ListValue(Value<?> first, Value<?>... other) {
+ 125 0 this (new Builder().addValue(first, other));
+ 126 0 }
+ 127
+
+ 128
+ private ListValue(Builder builder) {
+ 129
+ super (builder);
+ 130
+ }
+ 131
+
+ 132
+ @Override
+ 133
+ public Builder toBuilder() {
+ 134 0 return new Builder().mergeFrom(this );
+ 135
+ }
+ 136
+
+ 137
+ public static ListValue of(List<? extends Value<?>> values) {
+ 138 0 return new ListValue(values);
+ 139
+ }
+ 140
+
+ 141
+ public static ListValue of(Value<?> first, Value<?>... other) {
+ 142 0 return new ListValue(first, other);
+ 143
+ }
+ 144
+
+ 145
+ public static Builder builder() {
+ 146 0 return new Builder();
+ 147
+ }
+ 148
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.LongValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.LongValue.html
new file mode 100644
index 000000000000..45e45e76a4a8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.LongValue.html
@@ -0,0 +1,180 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.LongValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.INTEGER_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class LongValue extends Value<Long> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -8552854340400546861L;
+ 26
+
+ 27 0 static final BaseMarshaller<Long, LongValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Long, LongValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 2137414214660959845L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34
+ return INTEGER_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(Long value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Long getValue(DatastoreV1.Value from) {
+ 44 0 return from.getIntegerValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(LongValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setIntegerValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Long, LongValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.LONG);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public LongValue build() {
+ 61 0 return new LongValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public LongValue(long value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private LongValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static LongValue of(long value) {
+ 79 0 return new LongValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(long value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.NullValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.NullValue.html
new file mode 100644
index 000000000000..69c9cd6f0b6e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.NullValue.html
@@ -0,0 +1,191 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.NullValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class NullValue extends Value<Void> {
+ 24
+
+ 25
+ private static final long serialVersionUID = 8497300779013002270L;
+ 26
+
+ 27 0 static final BaseMarshaller<Void, NullValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<Void, NullValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = 2785573597627128832L;
+ 31
+
+ 32
+ @Override
+ 33
+ public Builder newBuilder(Void value) {
+ 34 0 return builder();
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public int getProtoFieldId() {
+ 39
+ return 0;
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected Void getValue(DatastoreV1.Value from) {
+ 44 0 return null ;
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(NullValue from, DatastoreV1.Value.Builder to) {
+ 49
+
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<Void, NullValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.NULL);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public NullValue build() {
+ 61 0 return new NullValue(this );
+ 62
+ }
+ 63
+
+ 64
+ @Override
+ 65
+ public Builder set(Void value) {
+ 66 0 checkArgument(value == null , "Only null values are allowed" );
+ 67 0 return this ;
+ 68
+ }
+ 69
+ }
+ 70
+
+ 71
+ public NullValue() {
+ 72 0 this (builder());
+ 73 0 }
+ 74
+
+ 75
+ private NullValue(Builder builder) {
+ 76
+ super (builder);
+ 77
+ }
+ 78
+
+ 79
+ @Override
+ 80
+ public Builder toBuilder() {
+ 81 0 return new Builder().mergeFrom(this );
+ 82
+ }
+ 83
+
+ 84
+ public static NullValue of() {
+ 85 0 return new NullValue();
+ 86
+ }
+ 87
+
+ 88
+ public static Builder builder() {
+ 89 0 return new Builder();
+ 90
+ }
+ 91
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.PathElement.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.PathElement.html
new file mode 100644
index 000000000000..3ec08d377c64
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.PathElement.html
@@ -0,0 +1,243 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.PathElement
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.api.services.datastore.DatastoreV1;
+ 23
+ import com.google.common.base.Strings;
+ 24
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 25
+
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31 0 public final class PathElement extends Serializable<DatastoreV1.Key.PathElement> {
+ 32
+
+ 33
+ private static final long serialVersionUID = -7968078857690784595L;
+ 34
+
+ 35
+ private final transient String kind;
+ 36
+ private final transient Long id;
+ 37
+ private final transient String name;
+ 38
+
+ 39 0 private PathElement(String kind, String name, Long id) {
+ 40 0 this .kind = checkNotNull(kind, "kind must not be null" );
+ 41 0 this .name = name;
+ 42 0 this .id = id;
+ 43 0 }
+ 44
+
+ 45
+ public String kind() {
+ 46 0 return kind;
+ 47
+ }
+ 48
+
+ 49
+ public boolean hasId() {
+ 50 0 return id != null ;
+ 51
+ }
+ 52
+
+ 53
+ public Long id() {
+ 54 0 return id;
+ 55
+ }
+ 56
+
+ 57
+ public boolean hasName() {
+ 58 0 return name != null ;
+ 59
+ }
+ 60
+
+ 61
+ public String name() {
+ 62 0 return name;
+ 63
+ }
+ 64
+
+ 65
+ public Object nameOrId() {
+ 66 0 return id == null ? name : id;
+ 67
+ }
+ 68
+
+ 69
+ @Override
+ 70
+ public int hashCode() {
+ 71 0 return Objects.hash(kind, id, name);
+ 72
+ }
+ 73
+
+ 74
+ @Override
+ 75
+ public boolean equals(Object obj) {
+ 76 0 if (obj == this ) {
+ 77 0 return true ;
+ 78
+ }
+ 79 0 if (!(obj instanceof PathElement)) {
+ 80 0 return false ;
+ 81
+ }
+ 82 0 PathElement other = (PathElement) obj;
+ 83 0 return Objects.equals(kind, other.kind)
+ 84 0 && Objects.equals(id, other.id)
+ 85 0 && Objects.equals(name, other.name);
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ protected DatastoreV1.Key.PathElement toPb() {
+ 90 0 DatastoreV1.Key.PathElement.Builder pathElementPb = DatastoreV1.Key.PathElement.newBuilder();
+ 91 0 pathElementPb.setKind(kind);
+ 92 0 if (id != null ) {
+ 93 0 pathElementPb.setId(id);
+ 94 0 } else if (name != null ) {
+ 95 0 pathElementPb.setName(name);
+ 96
+ }
+ 97 0 return pathElementPb.build();
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 102 0 return fromPb(DatastoreV1.Key.PathElement.parseFrom(bytesPb));
+ 103
+ }
+ 104
+
+ 105
+ static PathElement fromPb(DatastoreV1.Key.PathElement pathElementPb) {
+ 106 0 String kind = pathElementPb.getKind();
+ 107 0 if (pathElementPb.hasId()) {
+ 108 0 return of(kind, pathElementPb.getId());
+ 109
+ }
+ 110 0 if (pathElementPb.hasName()) {
+ 111 0 return of(kind, pathElementPb.getName());
+ 112
+ }
+ 113 0 return of(kind);
+ 114
+ }
+ 115
+
+ 116
+ static PathElement of(String kind) {
+ 117 0 return new PathElement(kind, null , null );
+ 118
+ }
+ 119
+
+ 120
+ public static PathElement of(String kind, String name) {
+ 121 0 checkArgument(!Strings.isNullOrEmpty(name) , "name must not be empty or null" );
+ 122 0 checkArgument(name.length() <= 500, "name must not exceed 500 characters" );
+ 123 0 return new PathElement(kind, name, null );
+ 124
+ }
+ 125
+
+ 126
+ public static PathElement of(String kind, long id) {
+ 127 0 checkArgument(id != 0, "id must not be equal to zero" );
+ 128 0 return new PathElement(kind, null , id);
+ 129
+ }
+ 130
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ProjectionEntity.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ProjectionEntity.html
new file mode 100644
index 000000000000..b3da288fb0f1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ProjectionEntity.html
@@ -0,0 +1,186 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ProjectionEntity
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.protobuf.ByteString;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32 0 public final class ProjectionEntity extends BaseEntity<Key> {
+ 33
+
+ 34
+ private static final long serialVersionUID = 432961565733066915L;
+ 35
+
+ 36 0 public static final class Builder extends BaseEntity.Builder<Key, Builder> {
+ 37
+
+ 38
+ Builder() {
+ 39
+ }
+ 40
+
+ 41
+ private Builder(ProjectionEntity entity) {
+ 42
+ super (entity);
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ public ProjectionEntity build() {
+ 47 0 return new ProjectionEntity(this );
+ 48
+ }
+ 49
+ }
+ 50
+
+ 51
+ ProjectionEntity(Builder builder) {
+ 52
+ super (builder);
+ 53
+ }
+ 54
+
+ 55
+ @SuppressWarnings({"unchecked" , "deprecation" })
+ 56
+ @Override
+ 57
+ public DateTime getDateTime(String name) {
+ 58 0 Value<?> value = getValue(name);
+ 59 0 if (value.hasMeaning() && value.meaning() == 18 && value instanceof LongValue) {
+ 60 0 return new DateTime(getLong(name));
+ 61
+ }
+ 62 0 return ((Value<DateTime>) value).get();
+ 63
+ }
+ 64
+
+ 65
+ @SuppressWarnings({"unchecked" , "deprecation" })
+ 66
+ @Override
+ 67
+ public Blob getBlob(String name) {
+ 68 0 Value<?> value = getValue(name);
+ 69 0 if (value.hasMeaning() && value.meaning() == 18 && value instanceof StringValue) {
+ 70 0 return new Blob(ByteString.copyFromUtf8(getString(name)));
+ 71
+ }
+ 72 0 return ((Value<Blob>) value).get();
+ 73
+ }
+ 74
+
+ 75
+ static ProjectionEntity fromPb(DatastoreV1.Entity entityPb) {
+ 76 0 return new Builder().fill(entityPb).build();
+ 77
+ }
+ 78
+
+ 79
+ @Override
+ 80
+ protected Builder emptyBuilder() {
+ 81 0 return new Builder();
+ 82
+ }
+ 83
+
+ 84
+ public static Builder builder(ProjectionEntity copyFrom) {
+ 85 0 return new Builder(copyFrom);
+ 86
+ }
+ 87
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Query.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Query.html
new file mode 100644
index 000000000000..944299a3e04c
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Query.html
@@ -0,0 +1,434 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Query
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.common.base.MoreObjects;
+ 23
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 24
+ import com.google.common.collect.Maps;
+ 25
+ import com.google.gcloud.datastore.StructuredQuery.EntityQueryBuilder;
+ 26
+ import com.google.gcloud.datastore.StructuredQuery.KeyQueryBuilder;
+ 27
+ import com.google.gcloud.datastore.StructuredQuery.ProjectionEntityQueryBuilder;
+ 28
+ import com.google.protobuf.GeneratedMessage;
+ 29
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 30
+
+ 31
+ import java.util.Map;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public abstract class Query<V> extends Serializable<GeneratedMessage> {
+ 42
+
+ 43
+ private static final long serialVersionUID = -2748141759901313101L;
+ 44
+
+ 45
+ private final ResultType<V> resultType;
+ 46
+ private final String namespace;
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54 0 public abstract static class ResultType<V> implements java.io.Serializable {
+ 55
+
+ 56
+ private static final long serialVersionUID = 2104157695425806623L;
+ 57
+ private static final Map<DatastoreV1.EntityResult.ResultType, ResultType<?>>
+ 58 0 PB_TO_INSTANCE = Maps.newEnumMap(DatastoreV1.EntityResult.ResultType.class );
+ 59
+
+ 60 0 static final ResultType<?> UNKNOWN = new ResultType<Object>(null , Object.class ) {
+ 61
+
+ 62
+ private static final long serialVersionUID = 1602329532153860907L;
+ 63
+
+ 64
+ @Override protected Object convert(DatastoreV1.Entity entityPb) {
+ 65 0 if (entityPb.getPropertyCount() == 0) {
+ 66 0 if (!entityPb.hasKey()) {
+ 67 0 return null ;
+ 68
+ }
+ 69 0 return Key.fromPb(entityPb.getKey());
+ 70
+ }
+ 71 0 return ProjectionEntity.fromPb(entityPb);
+ 72
+ }
+ 73
+ };
+ 74
+
+ 75 0 public static final ResultType<Entity> ENTITY =
+ 76 0 new ResultType<Entity>(DatastoreV1.EntityResult.ResultType.FULL, Entity.class ) {
+ 77
+
+ 78
+ private static final long serialVersionUID = 7712959777507168274L;
+ 79
+
+ 80
+ @Override protected Entity convert(DatastoreV1.Entity entityPb) {
+ 81 0 return Entity.fromPb(entityPb);
+ 82
+ }
+ 83
+ };
+ 84
+
+ 85 0 public static final ResultType<Key> KEY =
+ 86 0 new ResultType<Key>(DatastoreV1.EntityResult.ResultType.KEY_ONLY, Key.class ) {
+ 87
+
+ 88
+ private static final long serialVersionUID = -8514289244104446252L;
+ 89
+
+ 90
+ @Override protected Key convert(DatastoreV1.Entity entityPb) {
+ 91 0 return Key.fromPb(entityPb.getKey());
+ 92
+ }
+ 93
+ };
+ 94
+
+ 95 0 public static final ResultType<ProjectionEntity> PROJECTION_ENTITY =
+ 96
+ new ResultType<ProjectionEntity>(DatastoreV1.EntityResult.ResultType.PROJECTION,
+ 97 0 ProjectionEntity.class ) {
+ 98
+
+ 99
+ private static final long serialVersionUID = -7591409419690650246L;
+ 100
+
+ 101
+ @Override protected ProjectionEntity convert(DatastoreV1.Entity entityPb) {
+ 102 0 return ProjectionEntity.fromPb(entityPb);
+ 103
+ }
+ 104
+ };
+ 105
+
+ 106
+ private final Class<V> resultClass;
+ 107
+ private final DatastoreV1.EntityResult.ResultType queryType;
+ 108
+
+ 109 0 private ResultType(DatastoreV1.EntityResult.ResultType queryType, Class<V> resultClass) {
+ 110 0 this .queryType = queryType;
+ 111 0 this .resultClass = resultClass;
+ 112 0 if (queryType != null ) {
+ 113 0 PB_TO_INSTANCE.put(queryType, this );
+ 114
+ }
+ 115 0 }
+ 116
+
+ 117
+ public Class<V> resultClass() {
+ 118 0 return resultClass;
+ 119
+ }
+ 120
+
+ 121
+ @Override
+ 122
+ public int hashCode() {
+ 123 0 return resultClass.hashCode();
+ 124
+ }
+ 125
+
+ 126
+ @Override
+ 127
+ public boolean equals(Object obj) {
+ 128 0 if (obj == this ) {
+ 129 0 return true ;
+ 130
+ }
+ 131 0 if (!(obj instanceof ResultType)) {
+ 132 0 return false ;
+ 133
+ }
+ 134 0 ResultType<?> other = (ResultType<?>) obj;
+ 135 0 return resultClass.equals(other.resultClass);
+ 136
+ }
+ 137
+
+ 138
+ @Override
+ 139
+ public String toString() {
+ 140 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 141 0 toStringHelper.add("queryType" , queryType);
+ 142 0 toStringHelper.add("resultClass" , resultClass);
+ 143 0 return toStringHelper.toString();
+ 144
+ }
+ 145
+
+ 146
+ boolean isAssignableFrom(ResultType<?> otherResultType) {
+ 147 0 return resultClass.isAssignableFrom(otherResultType.resultClass);
+ 148
+ }
+ 149
+
+ 150
+ protected abstract V convert(DatastoreV1.Entity entityPb);
+ 151
+
+ 152
+ static ResultType<?> fromPb(DatastoreV1.EntityResult.ResultType typePb) {
+ 153 0 return MoreObjects.firstNonNull(PB_TO_INSTANCE.get(typePb), UNKNOWN);
+ 154
+ }
+ 155
+ }
+ 156
+
+ 157 0 Query(ResultType<V> resultType, String namespace) {
+ 158 0 this .resultType = checkNotNull(resultType);
+ 159 0 this .namespace = namespace;
+ 160 0 }
+ 161
+
+ 162
+ ResultType<V> type() {
+ 163 0 return resultType;
+ 164
+ }
+ 165
+
+ 166
+ public String namespace() {
+ 167 0 return namespace;
+ 168
+ }
+ 169
+
+ 170
+ @Override
+ 171
+ public String toString() {
+ 172 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 173 0 toStringHelper.add("type" , resultType);
+ 174 0 toStringHelper.add("namespace" , namespace);
+ 175 0 toStringHelper.add("queryPb" , super .toString());
+ 176 0 return toStringHelper.toString();
+ 177
+ }
+ 178
+
+ 179
+ @Override
+ 180
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 181 0 return fromPb(resultType, namespace, bytesPb);
+ 182
+ }
+ 183
+
+ 184
+ protected abstract Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 185
+ throws InvalidProtocolBufferException;
+ 186
+
+ 187
+ protected abstract void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb);
+ 188
+
+ 189
+ protected abstract Query<V> nextQuery(DatastoreV1.QueryResultBatch responsePb);
+ 190
+
+ 191
+
+ 192
+
+ 193
+
+ 194
+
+ 195
+
+ 196
+ public static GqlQuery.Builder<?> gqlQueryBuilder(String gql) {
+ 197 0 return gqlQueryBuilder(ResultType.UNKNOWN, gql);
+ 198
+ }
+ 199
+
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+ public static <V> GqlQuery.Builder<V> gqlQueryBuilder(ResultType<V> resultType, String gql) {
+ 206 0 return new GqlQuery.Builder<>(resultType, gql);
+ 207
+ }
+ 208
+
+ 209
+
+ 210
+
+ 211
+
+ 212
+ public static EntityQueryBuilder entityQueryBuilder() {
+ 213 0 return new EntityQueryBuilder();
+ 214
+ }
+ 215
+
+ 216
+
+ 217
+
+ 218
+
+ 219
+ public static KeyQueryBuilder keyQueryBuilder() {
+ 220 0 return new KeyQueryBuilder();
+ 221
+ }
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+ public static ProjectionEntityQueryBuilder projectionEntityQueryBuilder() {
+ 227 0 return new ProjectionEntityQueryBuilder();
+ 228
+ }
+ 229
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResults.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResults.html
new file mode 100644
index 000000000000..591820a49e55
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResults.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.QueryResults
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ public interface QueryResults<V> extends Iterator<V> {
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ Class<?> resultClass();
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ Cursor cursorAfter();
+ 42
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html
new file mode 100644
index 000000000000..d7290d804352
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.QueryResultsImpl.html
@@ -0,0 +1,197 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.QueryResultsImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.QueryResultBatch.MoreResultsType;
+ 21
+ import com.google.common.base.Preconditions;
+ 22
+ import com.google.common.collect.AbstractIterator;
+ 23
+ import com.google.gcloud.datastore.Query.ResultType;
+ 24
+
+ 25
+ import java.util.Iterator;
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+ class QueryResultsImpl<T> extends AbstractIterator<T> implements QueryResults<T> {
+ 29
+
+ 30
+ private final DatastoreImpl datastore;
+ 31
+ private final DatastoreV1.ReadOptions readOptionsPb;
+ 32
+ private final DatastoreV1.PartitionId partitionIdPb;
+ 33
+ private final ResultType<T> queryResultType;
+ 34
+ private Query<T> query;
+ 35
+ private ResultType<?> actualResultType;
+ 36
+ private DatastoreV1.QueryResultBatch queryResultBatchPb;
+ 37
+ private boolean lastBatch;
+ 38
+ private Iterator<DatastoreV1.EntityResult> entityResultPbIter;
+ 39
+
+ 40
+
+ 41
+
+ 42
+ QueryResultsImpl(DatastoreImpl datastore, DatastoreV1.ReadOptions readOptionsPb,
+ 43 0 Query<T> query) {
+ 44 0 this .datastore = datastore;
+ 45 0 this .readOptionsPb = readOptionsPb;
+ 46 0 this .query = query;
+ 47 0 queryResultType = query.type();
+ 48 0 DatastoreV1.PartitionId.Builder pbBuilder = DatastoreV1.PartitionId.newBuilder();
+ 49 0 pbBuilder.setDatasetId(datastore.options().projectId());
+ 50 0 if (query.namespace() != null ) {
+ 51 0 pbBuilder.setNamespace(query.namespace());
+ 52 0 } else if (datastore.options().namespace() != null ) {
+ 53 0 pbBuilder.setNamespace(datastore.options().namespace());
+ 54
+ }
+ 55 0 partitionIdPb = pbBuilder.build();
+ 56 0 sendRequest();
+ 57 0 }
+ 58
+
+ 59
+ private void sendRequest() {
+ 60 0 DatastoreV1.RunQueryRequest.Builder requestPb = DatastoreV1.RunQueryRequest.newBuilder();
+ 61 0 if (readOptionsPb != null ) {
+ 62 0 requestPb.setReadOptions(readOptionsPb);
+ 63
+ }
+ 64 0 requestPb.setPartitionId(partitionIdPb);
+ 65 0 query.populatePb(requestPb);
+ 66 0 queryResultBatchPb = datastore.runQuery(requestPb.build()).getBatch();
+ 67 0 lastBatch = queryResultBatchPb.getMoreResults() != MoreResultsType.NOT_FINISHED;
+ 68 0 entityResultPbIter = queryResultBatchPb.getEntityResultList().iterator();
+ 69
+
+ 70 0 actualResultType = ResultType.fromPb(queryResultBatchPb.getEntityResultType());
+ 71 0 if (Objects.equals(queryResultType, ResultType.PROJECTION_ENTITY)) {
+ 72
+
+ 73 0 actualResultType = ResultType.PROJECTION_ENTITY;
+ 74
+ }
+ 75 0 Preconditions.checkState(queryResultType.isAssignableFrom(actualResultType),
+ 76
+ "Unexpected result type " + actualResultType + " vs " + queryResultType);
+ 77 0 }
+ 78
+
+ 79
+ @Override
+ 80
+ protected T computeNext() {
+ 81 0 while (!entityResultPbIter.hasNext() && !lastBatch) {
+ 82 0 query = query.nextQuery(queryResultBatchPb);
+ 83 0 sendRequest();
+ 84
+ }
+ 85 0 if (!entityResultPbIter.hasNext()) {
+ 86 0 return endOfData();
+ 87
+ }
+ 88 0 DatastoreV1.EntityResult entityResultPb = entityResultPbIter.next();
+ 89
+
+ 90
+ @SuppressWarnings("unchecked" )
+ 91 0 T result = (T) actualResultType.convert(entityResultPb.getEntity());
+ 92 0 return result;
+ 93
+ }
+ 94
+
+ 95
+ @Override
+ 96
+ public Class<?> resultClass() {
+ 97 0 return actualResultType.resultClass();
+ 98
+ }
+ 99
+
+ 100
+ @Override
+ 101
+ public Cursor cursorAfter() {
+ 102
+
+ 103 0 return null ;
+ 104
+ }
+ 105
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.RawValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.RawValue.html
new file mode 100644
index 000000000000..f9a5cdd1ae69
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.RawValue.html
@@ -0,0 +1,188 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.RawValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21 0 public final class RawValue extends Value<DatastoreV1.Value> {
+ 22
+
+ 23
+ private static final long serialVersionUID = -3359604598651897941L;
+ 24
+
+ 25 0 static final BaseMarshaller<DatastoreV1.Value, RawValue, Builder> MARSHALLER =
+ 26 0 new BaseMarshaller<DatastoreV1.Value, RawValue, Builder>() {
+ 27
+
+ 28
+ private static final long serialVersionUID = 5320642719486106244L;
+ 29
+
+ 30
+ @Override
+ 31
+ public Builder newBuilder(DatastoreV1.Value value) {
+ 32 0 return builder(value);
+ 33
+ }
+ 34
+
+ 35
+ @Override
+ 36
+ public int getProtoFieldId() {
+ 37
+ return 0;
+ 38
+ }
+ 39
+
+ 40
+ @Override
+ 41
+ protected DatastoreV1.Value getValue(DatastoreV1.Value from) {
+ 42 0 return from;
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ protected void setValue(RawValue from, DatastoreV1.Value.Builder to) {
+ 47 0 to.mergeFrom(from.get());
+ 48 0 }
+ 49
+ };
+ 50
+
+ 51 0 public static final class Builder
+ 52
+ extends Value.BaseBuilder<DatastoreV1.Value, RawValue, Builder> {
+ 53
+
+ 54
+ private Builder() {
+ 55 0 super (ValueType.RAW_VALUE);
+ 56 0 }
+ 57
+
+ 58
+ @Override
+ 59
+ public RawValue build() {
+ 60 0 return new RawValue(this );
+ 61
+ }
+ 62
+ }
+ 63
+
+ 64
+ private RawValue(Builder builder) {
+ 65
+ super (builder);
+ 66
+ }
+ 67
+
+ 68
+ RawValue(DatastoreV1.Value valuePb) {
+ 69 0 this (builder(valuePb));
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ public Builder toBuilder() {
+ 74 0 return new Builder().mergeFrom(this );
+ 75
+ }
+ 76
+
+ 77
+ static RawValue of(DatastoreV1.Value valuePb) {
+ 78 0 return new RawValue(valuePb);
+ 79
+ }
+ 80
+
+ 81
+ static Builder builder(DatastoreV1.Value valuePb) {
+ 82 0 Builder builder = new Builder();
+ 83 0 if (valuePb.hasIndexed()) {
+ 84 0 builder.indexed(valuePb.getIndexed());
+ 85
+ }
+ 86 0 if (valuePb.hasMeaning()) {
+ 87 0 builder.meaning(valuePb.getMeaning());
+ 88
+ }
+ 89 0 builder.set(valuePb);
+ 90 0 return builder;
+ 91
+ }
+ 92
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Serializable.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Serializable.html
new file mode 100644
index 000000000000..fdd4d7c65671
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Serializable.html
@@ -0,0 +1,139 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Serializable
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.protobuf.GeneratedMessage;
+ 20
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 21
+
+ 22
+ import java.io.IOException;
+ 23
+ import java.io.ObjectInputStream;
+ 24
+ import java.io.ObjectOutputStream;
+ 25
+ import java.io.ObjectStreamException;
+ 26
+ import java.io.StreamCorruptedException;
+ 27
+
+ 28
+ abstract class Serializable<M extends GeneratedMessage> implements java.io.Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = -5565522710061949199L;
+ 31
+
+ 32
+ private transient byte [] bytesPb;
+ 33
+
+ 34
+ @Override
+ 35
+ public String toString() {
+ 36 0 return toPb().toString();
+ 37
+ }
+ 38
+
+ 39
+ private void writeObject(ObjectOutputStream output) throws IOException {
+ 40 0 output.defaultWriteObject();
+ 41 0 output.writeObject(toPb().toByteArray());
+ 42 0 }
+ 43
+
+ 44
+ private void readObject(ObjectInputStream input) throws IOException, ClassNotFoundException {
+ 45 0 input.defaultReadObject();
+ 46 0 bytesPb = (byte []) input.readObject();
+ 47 0 }
+ 48
+
+ 49
+ protected Object readResolve() throws ObjectStreamException {
+ 50
+ try {
+ 51 0 return fromPb(bytesPb);
+ 52 0 } catch (InvalidProtocolBufferException ex) {
+ 53 0 StreamCorruptedException sce = new StreamCorruptedException("Failed to create object" );
+ 54 0 sce.initCause(ex);
+ 55 0 throw sce;
+ 56
+ } finally {
+ 57 0 bytesPb = null ;
+ 58
+ }
+ 59
+ }
+ 60
+
+ 61
+ protected abstract M toPb();
+ 62
+
+ 63
+ protected abstract Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException;
+ 64
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StringValue.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StringValue.html
new file mode 100644
index 000000000000..37842d1b3047
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StringValue.html
@@ -0,0 +1,179 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.StringValue
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.api.services.datastore.DatastoreV1.Value.STRING_VALUE_FIELD_NUMBER;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+
+ 23 0 public final class StringValue extends Value<String> {
+ 24
+
+ 25
+ private static final long serialVersionUID = -3105699707394545523L;
+ 26
+
+ 27 0 static final BaseMarshaller<String, StringValue, Builder> MARSHALLER =
+ 28 0 new BaseMarshaller<String, StringValue, Builder>() {
+ 29
+
+ 30
+ private static final long serialVersionUID = -359610204134164436L;
+ 31
+
+ 32
+ @Override
+ 33
+ public int getProtoFieldId() {
+ 34 0 return STRING_VALUE_FIELD_NUMBER;
+ 35
+ }
+ 36
+
+ 37
+ @Override
+ 38
+ public Builder newBuilder(String value) {
+ 39 0 return builder(value);
+ 40
+ }
+ 41
+
+ 42
+ @Override
+ 43
+ protected String getValue(DatastoreV1.Value from) {
+ 44 0 return from.getStringValue();
+ 45
+ }
+ 46
+
+ 47
+ @Override
+ 48
+ protected void setValue(StringValue from, DatastoreV1.Value.Builder to) {
+ 49 0 to.setStringValue(from.get());
+ 50 0 }
+ 51
+ };
+ 52
+
+ 53 0 public static final class Builder extends Value.BaseBuilder<String, StringValue, Builder> {
+ 54
+
+ 55
+ private Builder() {
+ 56 0 super (ValueType.STRING);
+ 57 0 }
+ 58
+
+ 59
+ @Override
+ 60
+ public StringValue build() {
+ 61 0 return new StringValue(this );
+ 62
+ }
+ 63
+ }
+ 64
+
+ 65
+ public StringValue(String value) {
+ 66 0 this (builder(value));
+ 67 0 }
+ 68
+
+ 69
+ private StringValue(Builder builder) {
+ 70
+ super (builder);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public Builder toBuilder() {
+ 75 0 return new Builder().mergeFrom(this );
+ 76
+ }
+ 77
+
+ 78
+ public static StringValue of(String value) {
+ 79 0 return new StringValue(value);
+ 80
+ }
+ 81
+
+ 82
+ public static Builder builder(String value) {
+ 83 0 return new Builder().set(value);
+ 84
+ }
+ 85
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StructuredQuery.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StructuredQuery.html
new file mode 100644
index 000000000000..2ee391309e86
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.StructuredQuery.html
@@ -0,0 +1,1656 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.StructuredQuery
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.gcloud.datastore.BlobValue.of;
+ 21
+ import static com.google.gcloud.datastore.BooleanValue.of;
+ 22
+ import static com.google.gcloud.datastore.DateTimeValue.of;
+ 23
+ import static com.google.gcloud.datastore.DoubleValue.of;
+ 24
+ import static com.google.gcloud.datastore.KeyValue.of;
+ 25
+ import static com.google.gcloud.datastore.LongValue.of;
+ 26
+ import static com.google.gcloud.datastore.StringValue.of;
+ 27
+
+ 28
+ import com.google.api.services.datastore.DatastoreV1;
+ 29
+ import com.google.common.base.MoreObjects;
+ 30
+ import com.google.common.base.MoreObjects.ToStringHelper;
+ 31
+ import com.google.common.base.Preconditions;
+ 32
+ import com.google.common.collect.ImmutableList;
+ 33
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 34
+
+ 35
+ import java.io.Serializable;
+ 36
+ import java.util.Arrays;
+ 37
+ import java.util.Collections;
+ 38
+ import java.util.LinkedList;
+ 39
+ import java.util.List;
+ 40
+ import java.util.Objects;
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84 0 public class StructuredQuery<V> extends Query<V> {
+ 85
+
+ 86
+ private static final long serialVersionUID = 546838955624019594L;
+ 87
+ private static final String KEY_PROPERTY_NAME = "__key__" ;
+ 88
+
+ 89
+ private final transient String kind;
+ 90
+ private final ImmutableList<Projection> projection;
+ 91
+ private final transient Filter filter;
+ 92
+ private final ImmutableList<String> groupBy;
+ 93
+ private final transient ImmutableList<OrderBy> orderBy;
+ 94
+ private final transient Cursor startCursor;
+ 95
+ private final transient Cursor endCursor;
+ 96
+ private final transient int offset;
+ 97
+ private final transient Integer limit;
+ 98
+
+ 99
+ public abstract static class Filter implements Serializable {
+ 100
+
+ 101
+ private static final long serialVersionUID = -6443285436239990860L;
+ 102
+
+ 103
+ Filter() {
+ 104
+ }
+ 105
+
+ 106
+ protected abstract DatastoreV1.Filter toPb();
+ 107
+
+ 108
+ static Filter fromPb(DatastoreV1.Filter filterPb) {
+ 109 0 if (filterPb.hasCompositeFilter()) {
+ 110 0 return CompositeFilter.fromPb(filterPb.getCompositeFilter());
+ 111
+ }
+ 112 0 return PropertyFilter.fromPb(filterPb.getPropertyFilter());
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public static final class CompositeFilter extends Filter {
+ 117
+
+ 118
+ private static final long serialVersionUID = 3610352685739360009L;
+ 119
+ private final Operator operator;
+ 120
+ private final ImmutableList<Filter> filters;
+ 121
+
+ 122 0 enum Operator {
+ 123 0 AND;
+ 124
+
+ 125
+ DatastoreV1.CompositeFilter.Operator toPb() {
+ 126 0 return DatastoreV1.CompositeFilter.Operator.valueOf(name());
+ 127
+ }
+ 128
+
+ 129
+ static Operator fromPb(DatastoreV1.CompositeFilter.Operator operatorPb) {
+ 130 0 return valueOf(operatorPb.name());
+ 131
+ }
+ 132
+ }
+ 133
+
+ 134 0 private CompositeFilter(Operator operator, Filter first, Filter... other) {
+ 135 0 this .operator = operator;
+ 136 0 this .filters =
+ 137 0 ImmutableList.<Filter>builder().add(first).addAll(Arrays.asList(other)).build();
+ 138 0 }
+ 139
+
+ 140 0 private CompositeFilter(Operator operator, ImmutableList<Filter> filters) {
+ 141 0 this .operator = operator;
+ 142 0 this .filters = filters;
+ 143 0 Preconditions.checkArgument(!filters.isEmpty(), "filters list must not be empty" );
+ 144 0 }
+ 145
+
+ 146
+ @Override
+ 147
+ public String toString() {
+ 148 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 149 0 toStringHelper.add("operator" , operator);
+ 150 0 toStringHelper.add("filters" , filters);
+ 151 0 return toStringHelper.toString();
+ 152
+ }
+ 153
+
+ 154
+ @Override
+ 155
+ public int hashCode() {
+ 156 0 return Objects.hash(operator, filters);
+ 157
+ }
+ 158
+
+ 159
+ @Override
+ 160
+ public boolean equals(Object obj) {
+ 161 0 if (obj == this ) {
+ 162 0 return true ;
+ 163
+ }
+ 164 0 if (!(obj instanceof CompositeFilter)) {
+ 165 0 return false ;
+ 166
+ }
+ 167 0 CompositeFilter other = (CompositeFilter) obj;
+ 168 0 return operator == other.operator
+ 169 0 && filters.equals(other.filters);
+ 170
+ }
+ 171
+
+ 172
+ static CompositeFilter fromPb(DatastoreV1.CompositeFilter compositeFilterPb) {
+ 173 0 Operator operator = Operator.fromPb(compositeFilterPb.getOperator());
+ 174 0 ImmutableList.Builder<Filter> filters = ImmutableList.builder();
+ 175 0 for (DatastoreV1.Filter filterPb : compositeFilterPb.getFilterList()) {
+ 176 0 filters.add(Filter.fromPb(filterPb));
+ 177 0 }
+ 178 0 return new CompositeFilter(operator, filters.build());
+ 179
+ }
+ 180
+
+ 181
+ public static CompositeFilter and(Filter first, Filter... other) {
+ 182 0 return new CompositeFilter(Operator.AND, first, other);
+ 183
+ }
+ 184
+
+ 185
+ @Override
+ 186
+ protected DatastoreV1.Filter toPb() {
+ 187 0 DatastoreV1.Filter.Builder filterPb = DatastoreV1.Filter.newBuilder();
+ 188 0 DatastoreV1.CompositeFilter.Builder compositeFilterPb = filterPb.getCompositeFilterBuilder();
+ 189 0 compositeFilterPb.setOperator(operator.toPb());
+ 190 0 for (Filter filter : filters) {
+ 191 0 compositeFilterPb.addFilter(filter.toPb());
+ 192 0 }
+ 193 0 return filterPb.build();
+ 194
+ }
+ 195
+ }
+ 196
+
+ 197
+ public static final class PropertyFilter extends Filter {
+ 198
+
+ 199
+ private static final long serialVersionUID = -4514695915258598597L;
+ 200
+
+ 201
+ private final String property;
+ 202
+ private final Operator operator;
+ 203
+ private final Value<?> value;
+ 204
+
+ 205 0 enum Operator {
+ 206 0 LESS_THAN,
+ 207 0 LESS_THAN_OR_EQUAL,
+ 208 0 GREATER_THAN,
+ 209 0 GREATER_THAN_OR_EQUAL,
+ 210 0 EQUAL,
+ 211 0 HAS_ANCESTOR;
+ 212
+
+ 213
+ DatastoreV1.PropertyFilter.Operator toPb() {
+ 214 0 return DatastoreV1.PropertyFilter.Operator.valueOf(name());
+ 215
+ }
+ 216
+
+ 217
+ static Operator fromPb(DatastoreV1.PropertyFilter.Operator operatorPb) {
+ 218 0 return valueOf(operatorPb.name());
+ 219
+ }
+ 220
+ }
+ 221
+
+ 222 0 private PropertyFilter(String property, Operator operator, Value<?> value) {
+ 223 0 this .property = checkNotNull(property);
+ 224 0 this .operator = checkNotNull(operator);
+ 225 0 this .value = checkNotNull(value);
+ 226 0 }
+ 227
+
+ 228
+ public static PropertyFilter fromPb(DatastoreV1.PropertyFilter propertyFilterPb) {
+ 229 0 String property = propertyFilterPb.getProperty().getName();
+ 230 0 Operator operator = Operator.fromPb(propertyFilterPb.getOperator());
+ 231 0 Value<?> value = Value.fromPb(propertyFilterPb.getValue());
+ 232 0 return new PropertyFilter(property, operator, value);
+ 233
+ }
+ 234
+
+ 235
+ @Override
+ 236
+ public String toString() {
+ 237 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 238 0 toStringHelper.add("property" , property);
+ 239 0 toStringHelper.add("operator" , operator);
+ 240 0 toStringHelper.add("value" , value);
+ 241 0 return toStringHelper.toString();
+ 242
+ }
+ 243
+
+ 244
+ @Override
+ 245
+ public int hashCode() {
+ 246 0 return Objects.hash(property, operator, value);
+ 247
+ }
+ 248
+
+ 249
+ @Override
+ 250
+ public boolean equals(Object obj) {
+ 251 0 if (obj == this ) {
+ 252 0 return true ;
+ 253
+ }
+ 254 0 if (!(obj instanceof PropertyFilter)) {
+ 255 0 return false ;
+ 256
+ }
+ 257 0 PropertyFilter other = (PropertyFilter) obj;
+ 258 0 return property.equals(other.property)
+ 259
+ && operator == other.operator
+ 260 0 && Objects.equals(value, other.value);
+ 261
+ }
+ 262
+
+ 263
+ public static PropertyFilter le(String property, Value<?> value) {
+ 264 0 return new PropertyFilter(property, Operator.LESS_THAN, value);
+ 265
+ }
+ 266
+
+ 267
+ public static PropertyFilter le(String property, String value) {
+ 268 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 269
+ }
+ 270
+
+ 271
+ public static PropertyFilter le(String property, long value) {
+ 272 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 273
+ }
+ 274
+
+ 275
+ public static PropertyFilter le(String property, double value) {
+ 276 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 277
+ }
+ 278
+
+ 279
+ public static PropertyFilter le(String property, boolean value) {
+ 280 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 281
+ }
+ 282
+
+ 283
+ public static PropertyFilter le(String property, DateTime value) {
+ 284 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 285
+ }
+ 286
+
+ 287
+ public static PropertyFilter le(String property, Key value) {
+ 288 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 289
+ }
+ 290
+
+ 291
+ public static PropertyFilter le(String property, Blob value) {
+ 292 0 return new PropertyFilter(property, Operator.LESS_THAN, of(value));
+ 293
+ }
+ 294
+
+ 295
+ public static PropertyFilter lte(String property, Value<?> value) {
+ 296 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, value);
+ 297
+ }
+ 298
+
+ 299
+ public static PropertyFilter lte(String property, String value) {
+ 300 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 301
+ }
+ 302
+
+ 303
+ public static PropertyFilter lte(String property, long value) {
+ 304 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 305
+ }
+ 306
+
+ 307
+ public static PropertyFilter lte(String property, double value) {
+ 308 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 309
+ }
+ 310
+
+ 311
+ public static PropertyFilter lte(String property, boolean value) {
+ 312 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 313
+ }
+ 314
+
+ 315
+ public static PropertyFilter lte(String property, DateTime value) {
+ 316 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 317
+ }
+ 318
+
+ 319
+ public static PropertyFilter lte(String property, Key value) {
+ 320 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 321
+ }
+ 322
+
+ 323
+ public static PropertyFilter lte(String property, Blob value) {
+ 324 0 return new PropertyFilter(property, Operator.LESS_THAN_OR_EQUAL, of(value));
+ 325
+ }
+ 326
+
+ 327
+ public static PropertyFilter gt(String property, Value<?> value) {
+ 328 0 return new PropertyFilter(property, Operator.GREATER_THAN, value);
+ 329
+ }
+ 330
+
+ 331
+ public static PropertyFilter gt(String property, String value) {
+ 332 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 333
+ }
+ 334
+
+ 335
+ public static PropertyFilter gt(String property, long value) {
+ 336 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 337
+ }
+ 338
+
+ 339
+ public static PropertyFilter gt(String property, double value) {
+ 340 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 341
+ }
+ 342
+
+ 343
+ public static PropertyFilter gt(String property, boolean value) {
+ 344 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 345
+ }
+ 346
+
+ 347
+ public static PropertyFilter gt(String property, DateTime value) {
+ 348 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 349
+ }
+ 350
+
+ 351
+ public static PropertyFilter gt(String property, Key value) {
+ 352 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 353
+ }
+ 354
+
+ 355
+ public static PropertyFilter gt(String property, Blob value) {
+ 356 0 return new PropertyFilter(property, Operator.GREATER_THAN, of(value));
+ 357
+ }
+ 358
+
+ 359
+ public static PropertyFilter gte(String property, Value<?> value) {
+ 360 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, value);
+ 361
+ }
+ 362
+
+ 363
+ public static PropertyFilter gte(String property, String value) {
+ 364 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 365
+ }
+ 366
+
+ 367
+ public static PropertyFilter gte(String property, long value) {
+ 368 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 369
+ }
+ 370
+
+ 371
+ public static PropertyFilter gte(String property, double value) {
+ 372 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 373
+ }
+ 374
+
+ 375
+ public static PropertyFilter gte(String property, boolean value) {
+ 376 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 377
+ }
+ 378
+
+ 379
+ public static PropertyFilter gte(String property, DateTime value) {
+ 380 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 381
+ }
+ 382
+
+ 383
+ public static PropertyFilter gte(String property, Key value) {
+ 384 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 385
+ }
+ 386
+
+ 387
+ public static PropertyFilter gte(String property, Blob value) {
+ 388 0 return new PropertyFilter(property, Operator.GREATER_THAN_OR_EQUAL, of(value));
+ 389
+ }
+ 390
+
+ 391
+ public static PropertyFilter eq(String property, Value<?> value) {
+ 392 0 return new PropertyFilter(property, Operator.EQUAL, value);
+ 393
+ }
+ 394
+
+ 395
+ public static PropertyFilter eq(String property, String value) {
+ 396 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 397
+ }
+ 398
+
+ 399
+ public static PropertyFilter eq(String property, long value) {
+ 400 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 401
+ }
+ 402
+
+ 403
+ public static PropertyFilter eq(String property, double value) {
+ 404 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 405
+ }
+ 406
+
+ 407
+ public static PropertyFilter eq(String property, boolean value) {
+ 408 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 409
+ }
+ 410
+
+ 411
+ public static PropertyFilter eq(String property, DateTime value) {
+ 412 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 413
+ }
+ 414
+
+ 415
+ public static PropertyFilter eq(String property, Key value) {
+ 416 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 417
+ }
+ 418
+
+ 419
+ public static PropertyFilter eq(String property, Blob value) {
+ 420 0 return new PropertyFilter(property, Operator.EQUAL, of(value));
+ 421
+ }
+ 422
+
+ 423
+ public static PropertyFilter hasAncestor(Key key) {
+ 424 0 return new PropertyFilter(KEY_PROPERTY_NAME, Operator.HAS_ANCESTOR, of(key));
+ 425
+ }
+ 426
+
+ 427
+ public static PropertyFilter isNull(String property) {
+ 428 0 return new PropertyFilter(property, Operator.EQUAL, NullValue.of());
+ 429
+ }
+ 430
+
+ 431
+ @Override
+ 432
+ protected DatastoreV1.Filter toPb() {
+ 433 0 DatastoreV1.Filter.Builder filterPb = DatastoreV1.Filter.newBuilder();
+ 434 0 DatastoreV1.PropertyFilter.Builder propertyFilterPb = filterPb.getPropertyFilterBuilder();
+ 435 0 propertyFilterPb.getPropertyBuilder().setName(property);
+ 436 0 propertyFilterPb.setOperator(operator.toPb());
+ 437 0 if (value != null ) {
+ 438 0 propertyFilterPb.setValue(value.toPb());
+ 439
+ }
+ 440 0 return filterPb.build();
+ 441
+ }
+ 442
+ }
+ 443
+
+ 444
+ public static final class OrderBy implements Serializable {
+ 445
+
+ 446
+ private static final long serialVersionUID = 4091186784814400031L;
+ 447
+
+ 448
+ private final String property;
+ 449
+ private final Direction direction;
+ 450
+
+ 451 0 public enum Direction {
+ 452
+
+ 453 0 ASCENDING, DESCENDING;
+ 454
+
+ 455
+ DatastoreV1.PropertyOrder.Direction toPb() {
+ 456 0 return DatastoreV1.PropertyOrder.Direction.valueOf(name());
+ 457
+ }
+ 458
+
+ 459
+ static Direction fromPb(DatastoreV1.PropertyOrder.Direction directionPb) {
+ 460 0 return valueOf(directionPb.name());
+ 461
+ }
+ 462
+ }
+ 463
+
+ 464 0 public OrderBy(String property, Direction direction) {
+ 465 0 this .property = checkNotNull(property);
+ 466 0 this .direction = checkNotNull(direction);
+ 467 0 }
+ 468
+
+ 469
+ @Override
+ 470
+ public int hashCode() {
+ 471 0 return Objects.hash(property, direction);
+ 472
+ }
+ 473
+
+ 474
+ @Override
+ 475
+ public boolean equals(Object obj) {
+ 476 0 if (obj == this ) {
+ 477 0 return true ;
+ 478
+ }
+ 479 0 if (!(obj instanceof OrderBy)) {
+ 480 0 return false ;
+ 481
+ }
+ 482 0 OrderBy other = (OrderBy) obj;
+ 483 0 return property.equals(other.property)
+ 484
+ && direction == other.direction;
+ 485
+ }
+ 486
+
+ 487
+ public String property() {
+ 488 0 return property;
+ 489
+ }
+ 490
+
+ 491
+ public Direction direction() {
+ 492 0 return direction;
+ 493
+ }
+ 494
+
+ 495
+ DatastoreV1.PropertyOrder toPb() {
+ 496 0 return DatastoreV1.PropertyOrder.newBuilder()
+ 497 0 .setDirection(direction.toPb())
+ 498 0 .setProperty(DatastoreV1.PropertyReference.newBuilder().setName(property).build())
+ 499 0 .build();
+ 500
+ }
+ 501
+
+ 502
+ public static OrderBy asc(String property) {
+ 503 0 return new OrderBy(property, OrderBy.Direction.ASCENDING);
+ 504
+ }
+ 505
+
+ 506
+ public static OrderBy desc(String property) {
+ 507 0 return new OrderBy(property, OrderBy.Direction.DESCENDING);
+ 508
+ }
+ 509
+
+ 510
+ static OrderBy fromPb(DatastoreV1.PropertyOrder propertyOrderPb) {
+ 511 0 String property = propertyOrderPb.getProperty().getName();
+ 512 0 Direction direction = Direction.fromPb(propertyOrderPb.getDirection());
+ 513 0 return new OrderBy(property, direction);
+ 514
+ }
+ 515
+ }
+ 516
+
+ 517 0 public static final class Projection implements Serializable {
+ 518
+
+ 519
+ private static final long serialVersionUID = 3083707957256279470L;
+ 520
+
+ 521
+ private final Aggregate aggregate;
+ 522
+ private final String property;
+ 523
+
+ 524 0 public enum Aggregate {
+ 525
+
+ 526 0 FIRST;
+ 527
+
+ 528
+ DatastoreV1.PropertyExpression.AggregationFunction toPb() {
+ 529 0 return DatastoreV1.PropertyExpression.AggregationFunction.valueOf(name());
+ 530
+ }
+ 531
+
+ 532
+ static Aggregate fromPb(DatastoreV1.PropertyExpression.AggregationFunction aggregatePb) {
+ 533 0 return valueOf(aggregatePb.name());
+ 534
+ }
+ 535
+ }
+ 536
+
+ 537
+ private Projection(Aggregate aggregate, String property) {
+ 538
+ this .aggregate = aggregate;
+ 539
+ this .property = property;
+ 540
+ }
+ 541
+
+ 542
+ @Override
+ 543
+ public int hashCode() {
+ 544 0 return Objects.hash(property, aggregate);
+ 545
+ }
+ 546
+
+ 547
+ @Override
+ 548
+ public boolean equals(Object obj) {
+ 549 0 if (obj == this ) {
+ 550 0 return true ;
+ 551
+ }
+ 552 0 if (!(obj instanceof Projection)) {
+ 553 0 return false ;
+ 554
+ }
+ 555 0 Projection other = (Projection) obj;
+ 556 0 return Objects.equals(property, other.property)
+ 557 0 && Objects.equals(aggregate, other.aggregate);
+ 558
+ }
+ 559
+
+ 560
+ @Override
+ 561
+ public String toString() {
+ 562 0 ToStringHelper toStringHelper = MoreObjects.toStringHelper(this );
+ 563 0 toStringHelper.add("property" , property);
+ 564 0 if (aggregate != null ) {
+ 565 0 toStringHelper.add("aggregate" , aggregate);
+ 566
+ }
+ 567 0 return toStringHelper.toString();
+ 568
+ }
+ 569
+
+ 570
+ DatastoreV1.PropertyExpression toPb() {
+ 571
+ DatastoreV1.PropertyExpression.Builder expressionPb =
+ 572 0 DatastoreV1.PropertyExpression.newBuilder();
+ 573 0 if (aggregate != null ) {
+ 574 0 expressionPb.setAggregationFunction(aggregate.toPb());
+ 575
+ }
+ 576 0 expressionPb.setProperty(
+ 577 0 DatastoreV1.PropertyReference.newBuilder().setName(property).build());
+ 578 0 return expressionPb.build();
+ 579
+ }
+ 580
+
+ 581
+ public static Projection fromPb(DatastoreV1.PropertyExpression propertyExpressionPb) {
+ 582 0 String property = propertyExpressionPb.getProperty().getName();
+ 583 0 Aggregate aggregate = null ;
+ 584 0 if (propertyExpressionPb.hasAggregationFunction()) {
+ 585 0 aggregate = Aggregate.fromPb(propertyExpressionPb.getAggregationFunction());
+ 586
+ }
+ 587 0 return new Projection(aggregate, property);
+ 588
+ }
+ 589
+
+ 590
+ public static Projection property(String property) {
+ 591 0 return new Projection(null , property);
+ 592
+ }
+ 593
+
+ 594
+ public static Projection aggregate(Aggregate aggregate, String property) {
+ 595 0 return new Projection(aggregate, property);
+ 596
+ }
+ 597
+
+ 598
+ public static Projection first(String property) {
+ 599 0 return new Projection(Aggregate.FIRST, property);
+ 600
+ }
+ 601
+ }
+ 602
+
+ 603 0 static class BaseBuilder<V, B extends BaseBuilder<V, B>> {
+ 604
+
+ 605
+ private final ResultType<V> resultType;
+ 606
+ private String namespace;
+ 607
+ private String kind;
+ 608 0 private final List<Projection> projection = new LinkedList<>();
+ 609
+ private Filter filter;
+ 610 0 private final List<String> groupBy = new LinkedList<>();
+ 611 0 private final List<OrderBy> orderBy = new LinkedList<>();
+ 612
+ private Cursor startCursor;
+ 613
+ private Cursor endCursor;
+ 614
+ private int offset;
+ 615
+ private Integer limit;
+ 616
+
+ 617 0 BaseBuilder(ResultType<V> resultType) {
+ 618 0 this .resultType = resultType;
+ 619 0 }
+ 620
+
+ 621
+ @SuppressWarnings("unchecked" )
+ 622
+ B self() {
+ 623 0 return (B) this ;
+ 624
+ }
+ 625
+
+ 626
+ public B namespace(String namespace) {
+ 627 0 this .namespace = namespace;
+ 628 0 return self();
+ 629
+ }
+ 630
+
+ 631
+ public B kind(String kind) {
+ 632 0 this .kind = kind;
+ 633 0 return self();
+ 634
+ }
+ 635
+
+ 636
+ public B startCursor(Cursor startCursor) {
+ 637 0 this .startCursor = startCursor;
+ 638 0 return self();
+ 639
+ }
+ 640
+
+ 641
+ public B endCursor(Cursor endCursor) {
+ 642 0 this .endCursor = endCursor;
+ 643 0 return self();
+ 644
+ }
+ 645
+
+ 646
+ public B offset(int offset) {
+ 647 0 Preconditions.checkArgument(offset >= 0, "offset must not be negative" );
+ 648 0 this .offset = offset;
+ 649 0 return self();
+ 650
+ }
+ 651
+
+ 652
+ public B limit(Integer limit) {
+ 653 0 Preconditions.checkArgument(limit == null || limit > 0, "limit must be positive" );
+ 654 0 this .limit = limit;
+ 655 0 return self();
+ 656
+ }
+ 657
+
+ 658
+ public B filter(Filter filter) {
+ 659 0 this .filter = filter;
+ 660 0 return self();
+ 661
+ }
+ 662
+
+ 663
+ public B clearOrderBy() {
+ 664 0 orderBy.clear();
+ 665 0 return self();
+ 666
+ }
+ 667
+
+ 668
+ public B orderBy(OrderBy orderBy, OrderBy... others) {
+ 669 0 clearOrderBy();
+ 670 0 addOrderBy(orderBy, others);
+ 671 0 return self();
+ 672
+ }
+ 673
+
+ 674
+ public B addOrderBy(OrderBy orderBy, OrderBy... others) {
+ 675 0 this .orderBy.add(orderBy);
+ 676 0 Collections.addAll(this .orderBy, others);
+ 677 0 return self();
+ 678
+ }
+ 679
+
+ 680
+ B clearProjection() {
+ 681 0 projection.clear();
+ 682 0 return self();
+ 683
+ }
+ 684
+
+ 685
+ B projection(Projection projection, Projection... others) {
+ 686 0 clearProjection();
+ 687 0 addProjection(projection, others);
+ 688 0 return self();
+ 689
+ }
+ 690
+
+ 691
+ B addProjection(Projection projection, Projection... others) {
+ 692 0 this .projection.add(projection);
+ 693 0 Collections.addAll(this .projection, others);
+ 694 0 return self();
+ 695
+ }
+ 696
+
+ 697
+ B clearGroupBy() {
+ 698 0 groupBy.clear();
+ 699 0 return self();
+ 700
+ }
+ 701
+
+ 702
+ B groupBy(String property, String... others) {
+ 703 0 clearGroupBy();
+ 704 0 addGroupBy(property, others);
+ 705 0 return self();
+ 706
+ }
+ 707
+
+ 708
+ B addGroupBy(String property, String... others) {
+ 709 0 this .groupBy.add(property);
+ 710 0 Collections.addAll(this .groupBy, others);
+ 711 0 return self();
+ 712
+ }
+ 713
+
+ 714
+ B mergeFrom(DatastoreV1.Query queryPb) {
+ 715 0 if (queryPb.getKindCount() > 0) {
+ 716 0 kind(queryPb.getKind(0).getName());
+ 717
+ }
+ 718 0 if (queryPb.hasStartCursor()) {
+ 719 0 startCursor(new Cursor(queryPb.getStartCursor()));
+ 720
+ }
+ 721 0 if (queryPb.hasEndCursor()) {
+ 722 0 endCursor(new Cursor(queryPb.getEndCursor()));
+ 723
+ }
+ 724 0 if (queryPb.hasOffset()) {
+ 725 0 offset(queryPb.getOffset());
+ 726
+ }
+ 727 0 if (queryPb.hasLimit()) {
+ 728 0 limit(queryPb.getLimit());
+ 729
+ }
+ 730 0 if (queryPb.hasFilter()) {
+ 731 0 filter(Filter.fromPb(queryPb.getFilter()));
+ 732
+ }
+ 733 0 for (DatastoreV1.PropertyOrder orderByPb : queryPb.getOrderList()) {
+ 734 0 addOrderBy(OrderBy.fromPb(orderByPb));
+ 735 0 }
+ 736 0 for (DatastoreV1.PropertyExpression projectionPb : queryPb.getProjectionList()) {
+ 737 0 addProjection(Projection.fromPb(projectionPb));
+ 738 0 }
+ 739 0 for (DatastoreV1.PropertyReference groupByPb : queryPb.getGroupByList()) {
+ 740 0 addGroupBy(groupByPb.getName());
+ 741 0 }
+ 742 0 return self();
+ 743
+ }
+ 744
+
+ 745
+ public StructuredQuery<V> build() {
+ 746 0 return new StructuredQuery<>(this );
+ 747
+ }
+ 748
+ }
+ 749
+
+ 750
+ static final class Builder<V> extends BaseBuilder<V, Builder<V>> {
+ 751
+
+ 752
+ Builder(ResultType<V> resultType) {
+ 753
+ super (resultType);
+ 754
+ }
+ 755
+ }
+ 756
+
+ 757
+ public static final class EntityQueryBuilder extends BaseBuilder<Entity, EntityQueryBuilder> {
+ 758
+
+ 759
+ EntityQueryBuilder() {
+ 760 0 super (ResultType.ENTITY);
+ 761 0 }
+ 762
+
+ 763
+ @Override
+ 764
+ public StructuredQuery<Entity> build() {
+ 765 0 return new StructuredQuery<>(this );
+ 766
+ }
+ 767
+ }
+ 768
+
+ 769 0 public static final class KeyQueryBuilder extends BaseBuilder<Key, KeyQueryBuilder> {
+ 770
+
+ 771
+ KeyQueryBuilder() {
+ 772 0 super (ResultType.KEY);
+ 773 0 projection(Projection.property(KEY_PROPERTY_NAME));
+ 774 0 }
+ 775
+
+ 776
+ @Override
+ 777
+ protected KeyQueryBuilder mergeFrom(DatastoreV1.Query queryPb) {
+ 778 0 super .mergeFrom(queryPb);
+ 779 0 projection(Projection.property(KEY_PROPERTY_NAME));
+ 780 0 clearGroupBy();
+ 781 0 return this ;
+ 782
+ }
+ 783
+
+ 784
+ @Override
+ 785
+ public StructuredQuery<Key> build() {
+ 786 0 return new StructuredQuery<>(this );
+ 787
+ }
+ 788
+ }
+ 789
+
+ 790 0 public static final class ProjectionEntityQueryBuilder
+ 791
+ extends BaseBuilder<ProjectionEntity, ProjectionEntityQueryBuilder> {
+ 792
+
+ 793
+ ProjectionEntityQueryBuilder() {
+ 794 0 super (ResultType.PROJECTION_ENTITY);
+ 795 0 }
+ 796
+
+ 797
+ @Override
+ 798
+ public StructuredQuery<ProjectionEntity> build() {
+ 799 0 return new StructuredQuery<>(this );
+ 800
+ }
+ 801
+
+ 802
+ @Override
+ 803
+ public ProjectionEntityQueryBuilder clearProjection() {
+ 804 0 return super .clearProjection();
+ 805
+ }
+ 806
+
+ 807
+ @Override
+ 808
+ public ProjectionEntityQueryBuilder projection(Projection projection, Projection... others) {
+ 809 0 return super .projection(projection, others);
+ 810
+ }
+ 811
+
+ 812
+ @Override
+ 813
+ public ProjectionEntityQueryBuilder addProjection(Projection projection, Projection... others) {
+ 814 0 return super .addProjection(projection, others);
+ 815
+ }
+ 816
+
+ 817
+ @Override
+ 818
+ public ProjectionEntityQueryBuilder clearGroupBy() {
+ 819 0 return super .clearGroupBy();
+ 820
+ }
+ 821
+
+ 822
+ @Override
+ 823
+ public ProjectionEntityQueryBuilder groupBy(String property, String... others) {
+ 824 0 return super .groupBy(property, others);
+ 825
+ }
+ 826
+
+ 827
+ @Override
+ 828
+ public ProjectionEntityQueryBuilder addGroupBy(String property, String... others) {
+ 829 0 return super .addGroupBy(property, others);
+ 830
+ }
+ 831
+ }
+ 832
+
+ 833
+ StructuredQuery(BaseBuilder<V, ?> builder) {
+ 834 0 super (builder.resultType, builder.namespace);
+ 835 0 kind = builder.kind;
+ 836 0 projection = ImmutableList.copyOf(builder.projection);
+ 837 0 filter = builder.filter;
+ 838 0 groupBy = ImmutableList.copyOf(builder.groupBy);
+ 839 0 orderBy = ImmutableList.copyOf(builder.orderBy);
+ 840 0 startCursor = builder.startCursor;
+ 841 0 endCursor = builder.endCursor;
+ 842 0 offset = builder.offset;
+ 843 0 limit = builder.limit;
+ 844 0 }
+ 845
+
+ 846
+ @Override
+ 847
+ public int hashCode() {
+ 848 0 return Objects.hash(namespace(), kind, startCursor, endCursor, offset, limit, filter, orderBy,
+ 849 0 projection(), groupBy());
+ 850
+ }
+ 851
+
+ 852
+ @Override
+ 853
+ public boolean equals(Object obj) {
+ 854 0 if (obj == this ) {
+ 855 0 return true ;
+ 856
+ }
+ 857 0 if (!(obj instanceof StructuredQuery)) {
+ 858 0 return false ;
+ 859
+ }
+ 860 0 StructuredQuery<?> other = (StructuredQuery<?>) obj;
+ 861 0 return Objects.equals(namespace(), other.namespace())
+ 862 0 && Objects.equals(kind, other.kind)
+ 863 0 && Objects.equals(startCursor, other.startCursor)
+ 864 0 && Objects.equals(endCursor, other.endCursor)
+ 865 0 && Objects.equals(offset, other.offset)
+ 866 0 && Objects.equals(limit, other.limit)
+ 867 0 && Objects.equals(filter, other.filter)
+ 868 0 && Objects.equals(orderBy, other.orderBy)
+ 869 0 && Objects.equals(projection, other.projection)
+ 870 0 && Objects.equals(groupBy, other.groupBy);
+ 871
+
+ 872
+ }
+ 873
+
+ 874
+ public String kind() {
+ 875 0 return kind;
+ 876
+ }
+ 877
+
+ 878
+ boolean keyOnly() {
+ 879 0 return projection.size() == 1 && KEY_PROPERTY_NAME.equals(projection.get(0).property);
+ 880
+ }
+ 881
+
+ 882
+ public List<Projection> projection() {
+ 883 0 return projection;
+ 884
+ }
+ 885
+
+ 886
+ public Filter filter() {
+ 887 0 return filter;
+ 888
+ }
+ 889
+
+ 890
+ public List<String> groupBy() {
+ 891 0 return groupBy;
+ 892
+ }
+ 893
+
+ 894
+ public ImmutableList<OrderBy> orderBy() {
+ 895 0 return orderBy;
+ 896
+ }
+ 897
+
+ 898
+ public Cursor startCursor() {
+ 899 0 return startCursor;
+ 900
+ }
+ 901
+
+ 902
+ public Cursor endCursor() {
+ 903 0 return endCursor;
+ 904
+ }
+ 905
+
+ 906
+ public int offset() {
+ 907 0 return offset;
+ 908
+ }
+ 909
+
+ 910
+ public Integer limit() {
+ 911 0 return limit;
+ 912
+ }
+ 913
+
+ 914
+ @Override
+ 915
+ protected void populatePb(DatastoreV1.RunQueryRequest.Builder requestPb) {
+ 916 0 requestPb.setQuery(toPb());
+ 917 0 }
+ 918
+
+ 919
+ @Override
+ 920
+ protected StructuredQuery<V> nextQuery(DatastoreV1.QueryResultBatch responsePb) {
+ 921 0 Builder<V> builder = new Builder<>(type());
+ 922 0 builder.mergeFrom(toPb());
+ 923 0 builder.startCursor(new Cursor(responsePb.getEndCursor()));
+ 924 0 if (offset > 0 && responsePb.getSkippedResults() < offset) {
+ 925 0 builder.offset(offset - responsePb.getSkippedResults());
+ 926
+ } else {
+ 927 0 builder.offset(0);
+ 928 0 if (limit != null ) {
+ 929 0 builder.limit(limit - responsePb.getEntityResultCount());
+ 930
+ }
+ 931
+ }
+ 932 0 return builder.build();
+ 933
+ }
+ 934
+
+ 935
+ @Override
+ 936
+ protected DatastoreV1.Query toPb() {
+ 937 0 DatastoreV1.Query.Builder queryPb = DatastoreV1.Query.newBuilder();
+ 938 0 if (kind != null ) {
+ 939 0 queryPb.addKindBuilder().setName(kind);
+ 940
+ }
+ 941 0 if (startCursor != null ) {
+ 942 0 queryPb.setStartCursor(startCursor.byteString());
+ 943
+ }
+ 944 0 if (endCursor != null ) {
+ 945 0 queryPb.setEndCursor(endCursor.byteString());
+ 946
+ }
+ 947 0 if (offset > 0) {
+ 948 0 queryPb.setOffset(offset);
+ 949
+ }
+ 950 0 if (limit != null ) {
+ 951 0 queryPb.setLimit(limit);
+ 952
+ }
+ 953 0 if (filter != null ) {
+ 954 0 queryPb.setFilter(filter.toPb());
+ 955
+ }
+ 956 0 for (OrderBy value : orderBy) {
+ 957 0 queryPb.addOrder(value.toPb());
+ 958 0 }
+ 959 0 for (String value : groupBy) {
+ 960 0 queryPb.addGroupBy(DatastoreV1.PropertyReference.newBuilder().setName(value).build());
+ 961 0 }
+ 962 0 for (Projection value : projection) {
+ 963 0 queryPb.addProjection(value.toPb());
+ 964 0 }
+ 965 0 return queryPb.build();
+ 966
+ }
+ 967
+
+ 968
+ @Override
+ 969
+ protected Object fromPb(ResultType<V> resultType, String namespace, byte [] bytesPb)
+ 970
+ throws InvalidProtocolBufferException {
+ 971 0 return fromPb(resultType, namespace, DatastoreV1.Query.parseFrom(bytesPb));
+ 972
+ }
+ 973
+
+ 974
+ private static StructuredQuery<?> fromPb(ResultType<?> resultType, String namespace,
+ 975
+ DatastoreV1.Query queryPb) {
+ 976
+ BaseBuilder<?, ?> builder;
+ 977 0 if (resultType.equals(ResultType.ENTITY)) {
+ 978 0 builder = new EntityQueryBuilder();
+ 979 0 } else if (resultType.equals(ResultType.KEY)) {
+ 980 0 builder = new KeyQueryBuilder();
+ 981
+ } else {
+ 982 0 builder = new ProjectionEntityQueryBuilder();
+ 983
+ }
+ 984 0 return builder.namespace(namespace).mergeFrom(queryPb).build();
+ 985
+ }
+ 986
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Transaction.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Transaction.html
new file mode 100644
index 000000000000..7b05f9855ab6
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Transaction.html
@@ -0,0 +1,281 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Transaction
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import java.util.Iterator;
+ 20
+ import java.util.List;
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+ public interface Transaction extends DatastoreBatchWriter, DatastoreReaderWriter {
+ 54
+
+ 55
+ interface Response {
+ 56
+ List<Key> generatedKeys();
+ 57
+ }
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ @Override
+ 68
+ Entity get(Key key);
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+ @Override
+ 79
+ Iterator<Entity> get(Key... key);
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+ @Override
+ 90
+ List<Entity> fetch(Key... keys);
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+ @Override
+ 102
+ <T> QueryResults<T> run(Query<T> query);
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+
+ 109
+ Response commit();
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+ void rollback();
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+ @Override
+ 122
+ boolean active();
+ 123
+
+ 124
+
+ 125
+
+ 126
+
+ 127
+ Datastore datastore();
+ 128
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionImpl.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionImpl.html
new file mode 100644
index 000000000000..d798769ceded
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionImpl.html
@@ -0,0 +1,241 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.TransactionImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.base.Function;
+ 21
+ import com.google.common.collect.Lists;
+ 22
+ import com.google.gcloud.datastore.TransactionOption.ForceWrites;
+ 23
+ import com.google.gcloud.datastore.TransactionOption.IsolationLevel;
+ 24
+ import com.google.protobuf.ByteString;
+ 25
+
+ 26
+ import java.util.Iterator;
+ 27
+ import java.util.List;
+ 28
+ import java.util.Map;
+ 29
+
+ 30
+ final class TransactionImpl extends BaseDatastoreBatchWriter implements Transaction {
+ 31
+
+ 32
+ private final DatastoreImpl datastore;
+ 33
+ private final ByteString transaction;
+ 34
+ private final boolean force;
+ 35
+ private boolean rolledback;
+ 36
+
+ 37
+ static class ResponseImpl implements Transaction.Response {
+ 38
+
+ 39
+ private final DatastoreV1.CommitResponse response;
+ 40
+
+ 41
+ ResponseImpl(DatastoreV1.CommitResponse response) {
+ 42
+ this .response = response;
+ 43
+ }
+ 44
+
+ 45
+ @Override
+ 46
+ public List<Key> generatedKeys() {
+ 47 0 return Lists.transform(response.getMutationResult().getInsertAutoIdKeyList(),
+ 48 0 new Function<DatastoreV1.Key, Key>() {
+ 49
+ @Override public Key apply(DatastoreV1.Key keyPb) {
+ 50 0 return Key.fromPb(keyPb);
+ 51
+ }
+ 52
+ });
+ 53
+ }
+ 54
+ }
+ 55
+
+ 56
+ TransactionImpl(DatastoreImpl datastore, TransactionOption... options) {
+ 57 0 super ("transaction" );
+ 58 0 this .datastore = datastore;
+ 59
+ DatastoreV1.BeginTransactionRequest.Builder requestPb =
+ 60 0 DatastoreV1.BeginTransactionRequest.newBuilder();
+ 61 0 Map<Class<? extends TransactionOption>, TransactionOption> optionsMap =
+ 62 0 TransactionOption.asImmutableMap(options);
+ 63 0 IsolationLevel isolationLevel = (IsolationLevel) optionsMap.get(IsolationLevel.class );
+ 64 0 if (isolationLevel != null ) {
+ 65 0 requestPb.setIsolationLevel(isolationLevel.level().toPb());
+ 66
+ }
+ 67 0 ForceWrites forceWrites = (ForceWrites) optionsMap.get(TransactionOption.ForceWrites.class );
+ 68 0 force = forceWrites != null && forceWrites.force();
+ 69 0 transaction = datastore.requestTransactionId(requestPb);
+ 70 0 }
+ 71
+
+ 72
+ @Override
+ 73
+ public Entity get(Key key) {
+ 74 0 return DatastoreHelper.get(this , key);
+ 75
+ }
+ 76
+
+ 77
+ @Override
+ 78
+ public Iterator<Entity> get(Key... keys) {
+ 79 0 validateActive();
+ 80 0 DatastoreV1.ReadOptions.Builder readOptionsPb = DatastoreV1.ReadOptions.newBuilder();
+ 81 0 readOptionsPb.setTransaction(transaction);
+ 82 0 return datastore.get(readOptionsPb.build(), keys);
+ 83
+ }
+ 84
+
+ 85
+ @Override
+ 86
+ public List<Entity> fetch(Key... keys) {
+ 87 0 validateActive();
+ 88 0 return DatastoreHelper.fetch(this , keys);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public <T> QueryResults<T> run(Query<T> query) {
+ 93 0 validateActive();
+ 94 0 DatastoreV1.ReadOptions.Builder readOptionsPb = DatastoreV1.ReadOptions.newBuilder();
+ 95 0 readOptionsPb.setTransaction(transaction);
+ 96 0 return datastore.run(readOptionsPb.build(), query);
+ 97
+ }
+ 98
+
+ 99
+ @Override
+ 100
+ public Transaction.Response commit() {
+ 101 0 validateActive();
+ 102 0 DatastoreV1.Mutation.Builder mutationPb = toMutationPb();
+ 103 0 if (force) {
+ 104 0 mutationPb.setForce(force);
+ 105
+ }
+ 106 0 DatastoreV1.CommitRequest.Builder requestPb = DatastoreV1.CommitRequest.newBuilder();
+ 107 0 requestPb.setMode(DatastoreV1.CommitRequest.Mode.TRANSACTIONAL);
+ 108 0 requestPb.setTransaction(transaction);
+ 109 0 requestPb.setMutation(mutationPb);
+ 110 0 DatastoreV1.CommitResponse responsePb = datastore.commit(requestPb.build());
+ 111 0 deactivate();
+ 112 0 return new ResponseImpl(responsePb);
+ 113
+ }
+ 114
+
+ 115
+ @Override
+ 116
+ public void rollback() {
+ 117 0 if (rolledback) {
+ 118 0 return ;
+ 119
+ }
+ 120 0 validateActive();
+ 121 0 datastore.rollbackTransaction(transaction);
+ 122 0 deactivate();
+ 123 0 rolledback = true ;
+ 124 0 }
+ 125
+
+ 126
+ @Override
+ 127
+ public Datastore datastore() {
+ 128 0 return datastore;
+ 129
+ }
+ 130
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionOption.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionOption.html
new file mode 100644
index 000000000000..8a8d17f7f3ca
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.TransactionOption.html
@@ -0,0 +1,240 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.TransactionOption
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+ import com.google.common.collect.ImmutableMap;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.Map;
+ 24
+
+ 25
+
+ 26
+ public abstract class TransactionOption implements Serializable {
+ 27
+
+ 28
+ private static final long serialVersionUID = -1862234444015690375L;
+ 29
+
+ 30
+ public static final class ForceWrites extends TransactionOption {
+ 31
+
+ 32
+ private static final long serialVersionUID = -6873967516988380886L;
+ 33
+
+ 34
+ private final boolean force;
+ 35
+
+ 36
+ public ForceWrites(boolean force) {
+ 37
+ this .force = force;
+ 38
+ }
+ 39
+
+ 40
+ public boolean force() {
+ 41 0 return force;
+ 42
+ }
+ 43
+
+ 44
+ @Override
+ 45
+ BatchOption toBatchWriteOption() {
+ 46 0 return new BatchOption.ForceWrites(force);
+ 47
+ }
+ 48
+ }
+ 49
+
+ 50
+ public static final class IsolationLevel extends TransactionOption {
+ 51
+
+ 52
+ private static final long serialVersionUID = -5592165378565409515L;
+ 53
+
+ 54
+ private final Level level;
+ 55
+
+ 56 0 public enum Level {
+ 57
+
+ 58 0 SERIALIZABLE(DatastoreV1.BeginTransactionRequest.IsolationLevel.SERIALIZABLE),
+ 59 0 SNAPSHOT(DatastoreV1.BeginTransactionRequest.IsolationLevel.SNAPSHOT);
+ 60
+
+ 61
+ private final DatastoreV1.BeginTransactionRequest.IsolationLevel levelPb;
+ 62
+
+ 63
+ Level(DatastoreV1.BeginTransactionRequest.IsolationLevel levelPb) {
+ 64
+ this .levelPb = levelPb;
+ 65
+ }
+ 66
+
+ 67
+ DatastoreV1.BeginTransactionRequest.IsolationLevel toPb() {
+ 68 0 return levelPb;
+ 69
+ }
+ 70
+ }
+ 71
+
+ 72
+ public IsolationLevel(Level level) {
+ 73
+ this .level = level;
+ 74
+ }
+ 75
+
+ 76
+
+ 77
+ public Level level() {
+ 78 0 return level;
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ BatchOption toBatchWriteOption() {
+ 83 0 return null ;
+ 84
+ }
+ 85
+ }
+ 86
+
+ 87
+ TransactionOption() {
+ 88
+
+ 89
+ }
+ 90
+
+ 91
+ public static ForceWrites forceWrites() {
+ 92 0 return new ForceWrites(true );
+ 93
+ }
+ 94
+
+ 95
+ public static IsolationLevel serializable() {
+ 96 0 return new IsolationLevel(IsolationLevel.Level.SERIALIZABLE);
+ 97
+ }
+ 98
+
+ 99
+ public static IsolationLevel snapshot() {
+ 100 0 return new IsolationLevel(IsolationLevel.Level.SNAPSHOT);
+ 101
+ }
+ 102
+
+ 103
+ static Map<Class<? extends TransactionOption>, TransactionOption> asImmutableMap(
+ 104
+ TransactionOption... options) {
+ 105
+ ImmutableMap.Builder<Class<? extends TransactionOption>, TransactionOption> builder =
+ 106 0 ImmutableMap.builder();
+ 107 0 for (TransactionOption option : options) {
+ 108 0 builder.put(option.getClass(), option);
+ 109
+ }
+ 110 0 return builder.build();
+ 111
+ }
+ 112
+
+ 113
+ abstract BatchOption toBatchWriteOption();
+ 114
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Validator.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Validator.html
new file mode 100644
index 000000000000..c61733739bc5
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Validator.html
@@ -0,0 +1,137 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Validator
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+
+ 21
+ import com.google.common.base.Strings;
+ 22
+
+ 23
+ import java.util.regex.Pattern;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ final class Validator {
+ 29
+
+ 30 0 private static final Pattern PROJECT_ID_PATTERN = Pattern.compile(
+ 31
+ "([a-z\\d\\-]{1,100}~)?([a-z\\d][a-z\\d\\-\\.]{0,99}:)?([a-z\\d][a-z\\d\\-]{0,99})" );
+ 32
+ private static final int MAX_NAMESPACE_LENGTH = 100;
+ 33 0 private static final Pattern NAMESPACE_PATTERN =
+ 34 0 Pattern.compile(String.format("[0-9A-Za-z\\._\\-]{0,%d}" , MAX_NAMESPACE_LENGTH));
+ 35
+
+ 36
+ private Validator() {
+ 37
+
+ 38
+ }
+ 39
+
+ 40
+ static String validateDatabase(String projectId) {
+ 41 0 checkArgument(!Strings.isNullOrEmpty(projectId), "projectId can't be empty or null" );
+ 42 0 checkArgument(PROJECT_ID_PATTERN.matcher(projectId).matches(),
+ 43 0 "projectId must match the following pattern: " + PROJECT_ID_PATTERN.pattern());
+ 44 0 return projectId;
+ 45
+ }
+ 46
+
+ 47
+ static String validateNamespace(String namespace) {
+ 48 0 if (namespace != null ) {
+ 49 0 checkArgument(!namespace.isEmpty(), "namespace must not be an empty string" );
+ 50 0 checkArgument(namespace.length() <= MAX_NAMESPACE_LENGTH,
+ 51
+ "namespace must not contain more than 100 characters" );
+ 52 0 checkArgument(NAMESPACE_PATTERN.matcher(namespace).matches(),
+ 53 0 "namespace must the following pattern: " + NAMESPACE_PATTERN.pattern());
+ 54
+ }
+ 55 0 return namespace;
+ 56
+ }
+ 57
+
+ 58
+ static String validateKind(String kind) {
+ 59 0 checkArgument(!Strings.isNullOrEmpty(kind), "kind must not be empty or null" );
+ 60 0 return kind;
+ 61
+ }
+ 62
+
+ 63
+
+ 64
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Value.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Value.html
new file mode 100644
index 000000000000..f05de89a4086
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.Value.html
@@ -0,0 +1,443 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.Value
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.api.services.datastore.DatastoreV1;
+ 22
+ import com.google.protobuf.Descriptors.FieldDescriptor;
+ 23
+ import com.google.protobuf.InvalidProtocolBufferException;
+ 24
+
+ 25
+ import java.util.Map.Entry;
+ 26
+ import java.util.Objects;
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 public abstract class Value<V> extends Serializable<DatastoreV1.Value> {
+ 37
+
+ 38
+ private static final long serialVersionUID = -1899638277588872742L;
+ 39
+
+ 40
+
+ 41
+ private final transient ValueType valueType;
+ 42
+ private final transient Boolean indexed;
+ 43
+ private final transient Integer meaning;
+ 44
+ private final transient V value;
+ 45
+
+ 46
+ interface BuilderFactory<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 47
+ extends java.io.Serializable {
+ 48
+ B newBuilder(V value);
+ 49
+ }
+ 50
+
+ 51
+ abstract static class BaseMarshaller<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 52
+ implements ValueMarshaller<V, P, B>, BuilderFactory<V, P, B> {
+ 53
+
+ 54
+ private static final long serialVersionUID = 2880767488942992985L;
+ 55
+
+ 56
+ @SuppressWarnings("deprecation" )
+ 57
+ @Override
+ 58
+ public final B fromProto(DatastoreV1.Value proto) {
+ 59 0 B builder = newBuilder(getValue(proto));
+ 60 0 if (proto.hasIndexed()) {
+ 61 0 builder.indexed(proto.getIndexed());
+ 62
+ }
+ 63 0 if (proto.hasMeaning()) {
+ 64 0 builder.meaning(proto.getMeaning());
+ 65
+ }
+ 66 0 return builder;
+ 67
+ }
+ 68
+
+ 69
+ @SuppressWarnings("deprecation" )
+ 70
+ @Override
+ 71
+ public final DatastoreV1.Value toProto(P value) {
+ 72 0 DatastoreV1.Value.Builder builder = DatastoreV1.Value.newBuilder();
+ 73 0 if (value.hasIndexed()) {
+ 74 0 builder.setIndexed(value.indexed());
+ 75
+ }
+ 76 0 if (value.hasMeaning()) {
+ 77 0 builder.setMeaning(value.meaning());
+ 78
+ }
+ 79 0 setValue(value, builder);
+ 80 0 return builder.build();
+ 81
+ }
+ 82
+
+ 83
+ protected abstract V getValue(DatastoreV1.Value from);
+ 84
+
+ 85
+ protected abstract void setValue(P from, DatastoreV1.Value.Builder to);
+ 86
+ }
+ 87
+
+ 88 0 @SuppressWarnings("deprecation" )
+ 89
+ abstract static class BaseBuilder<V, P extends Value<V>, B extends BaseBuilder<V, P, B>>
+ 90
+ implements ValueBuilder<V, P, B> {
+ 91
+
+ 92
+ private final ValueType valueType;
+ 93
+ private Boolean indexed;
+ 94
+ private Integer meaning;
+ 95
+ private V value;
+ 96
+
+ 97
+ BaseBuilder(ValueType valueType) {
+ 98
+ this .valueType = valueType;
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public ValueType getValueType() {
+ 103
+ return valueType;
+ 104
+ }
+ 105
+
+ 106
+ @Override
+ 107
+ public B mergeFrom(P other) {
+ 108 0 indexed = other.indexed();
+ 109 0 meaning = other.meaning();
+ 110 0 set(other.get());
+ 111 0 return self();
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public Boolean getIndexed() {
+ 116
+ return indexed;
+ 117
+ }
+ 118
+
+ 119
+ @Override
+ 120
+ public B indexed(boolean indexed) {
+ 121 0 this .indexed = indexed;
+ 122 0 return self();
+ 123
+ }
+ 124
+
+ 125
+ @Override
+ 126
+ public Integer getMeaning() {
+ 127
+ return meaning;
+ 128
+ }
+ 129
+
+ 130
+ @Override
+ 131
+ public B meaning(Integer meaning) {
+ 132 0 this .meaning = meaning;
+ 133 0 return self();
+ 134
+ }
+ 135
+
+ 136
+ @Override
+ 137
+ public V get() {
+ 138
+ return value;
+ 139
+ }
+ 140
+
+ 141
+ @Override
+ 142
+ public B set(V value) {
+ 143 0 this .value = checkNotNull(value);
+ 144 0 return self();
+ 145
+ }
+ 146
+
+ 147
+ @SuppressWarnings("unchecked" )
+ 148
+ private B self() {
+ 149 0 return (B) this ;
+ 150
+ }
+ 151
+
+ 152
+ @Override
+ 153
+ public abstract P build();
+ 154
+ }
+ 155
+
+ 156 0 <P extends Value<V>, B extends BaseBuilder<V, P, B>> Value(ValueBuilder<V, P, B> builder) {
+ 157 0 valueType = builder.getValueType();
+ 158 0 indexed = builder.getIndexed();
+ 159 0 meaning = builder.getMeaning();
+ 160 0 value = builder.get();
+ 161 0 }
+ 162
+
+ 163
+ public final ValueType type() {
+ 164 0 return valueType;
+ 165
+ }
+ 166
+
+ 167
+ public final boolean hasIndexed() {
+ 168 0 return indexed != null ;
+ 169
+ }
+ 170
+
+ 171
+ public final Boolean indexed() {
+ 172 0 return indexed;
+ 173
+ }
+ 174
+
+ 175
+ @Deprecated
+ 176
+ public final boolean hasMeaning() {
+ 177 0 return meaning != null ;
+ 178
+ }
+ 179
+
+ 180
+ @Deprecated
+ 181
+ public final Integer meaning() {
+ 182 0 return meaning;
+ 183
+ }
+ 184
+
+ 185
+ public final V get() {
+ 186
+ return value;
+ 187
+ }
+ 188
+
+ 189
+ public abstract ValueBuilder<?, ?, ?> toBuilder();
+ 190
+
+ 191
+ @Override
+ 192
+ public int hashCode() {
+ 193 0 return Objects.hash(valueType, indexed, meaning, value);
+ 194
+ }
+ 195
+
+ 196
+ @Override
+ 197
+ @SuppressWarnings("unchecked" )
+ 198
+ public boolean equals(Object obj) {
+ 199 0 if (obj == this ) {
+ 200 0 return true ;
+ 201
+ }
+ 202 0 if (!getClass().isInstance(obj)) {
+ 203 0 return false ;
+ 204
+ }
+ 205 0 Value<V> other = (Value<V>) obj;
+ 206 0 return Objects.equals(valueType, other.valueType)
+ 207 0 && Objects.equals(indexed, other.indexed)
+ 208 0 && Objects.equals(meaning, other.meaning)
+ 209 0 && Objects.equals(value, other.value);
+ 210
+ }
+ 211
+
+ 212
+ @Override
+ 213
+ @SuppressWarnings("unchecked" )
+ 214
+ protected DatastoreV1.Value toPb() {
+ 215 0 return type().getMarshaller().toProto(this );
+ 216
+ }
+ 217
+
+ 218
+ static Value<?> fromPb(DatastoreV1.Value proto) {
+ 219 0 for (Entry<FieldDescriptor, Object> entry : proto.getAllFields().entrySet()) {
+ 220 0 FieldDescriptor descriptor = entry.getKey();
+ 221 0 if (descriptor.getName().endsWith("_value" )) {
+ 222 0 ValueType valueType = ValueType.getByDescriptorId(descriptor.getNumber());
+ 223 0 if (valueType == null ) {
+ 224
+
+ 225 0 return RawValue.MARSHALLER.fromProto(proto).build();
+ 226
+ }
+ 227 0 return valueType.getMarshaller().fromProto(proto).build();
+ 228
+ }
+ 229 0 }
+ 230 0 return NullValue.MARSHALLER.fromProto(proto).build();
+ 231
+ }
+ 232
+
+ 233
+ @Override
+ 234
+ protected Object fromPb(byte [] bytesPb) throws InvalidProtocolBufferException {
+ 235 0 return fromPb(DatastoreV1.Value.parseFrom(bytesPb));
+ 236
+ }
+ 237
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueBuilder.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueBuilder.html
new file mode 100644
index 000000000000..4291c98a188f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueBuilder.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueBuilder
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+ public interface ValueBuilder<V, P extends Value<V>, B extends ValueBuilder<V, P, B>> {
+ 23
+
+ 24
+ ValueType getValueType();
+ 25
+
+ 26
+ B mergeFrom(P other);
+ 27
+
+ 28
+ Boolean getIndexed();
+ 29
+
+ 30
+ B indexed(boolean indexed);
+ 31
+
+ 32
+ Integer getMeaning();
+ 33
+
+ 34
+ @Deprecated
+ 35
+ B meaning(Integer meaning);
+ 36
+
+ 37
+ V get();
+ 38
+
+ 39
+ B set(V value);
+ 40
+
+ 41
+ P build();
+ 42
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueMarshaller.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueMarshaller.html
new file mode 100644
index 000000000000..f11a6582d345
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueMarshaller.html
@@ -0,0 +1,88 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueMarshaller
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+ interface ValueMarshaller<V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 25
+ extends java.io.Serializable {
+ 26
+
+ 27
+ B fromProto(DatastoreV1.Value proto);
+ 28
+
+ 29
+ DatastoreV1.Value toProto(P value);
+ 30
+
+ 31
+ int getProtoFieldId();
+ 32
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueType.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueType.html
new file mode 100644
index 000000000000..3fcb3a9239f6
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.datastore.ValueType.html
@@ -0,0 +1,228 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.datastore.ValueType
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.datastore;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26 0 public enum ValueType {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31 0 NULL(NullValue.MARSHALLER),
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36 0 STRING(StringValue.MARSHALLER),
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41 0 ENTITY(EntityValue.MARSHALLER),
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46 0 LIST(ListValue.MARSHALLER),
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51 0 KEY(KeyValue.MARSHALLER),
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56 0 LONG(LongValue.MARSHALLER),
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61 0 DOUBLE(DoubleValue.MARSHALLER),
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66 0 BOOLEAN(BooleanValue.MARSHALLER),
+ 67
+
+ 68
+
+ 69
+
+ 70
+
+ 71 0 DATE_TIME(DateTimeValue.MARSHALLER),
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76 0 BLOB(BlobValue.MARSHALLER),
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81 0 RAW_VALUE(RawValue.MARSHALLER);
+ 82
+
+ 83
+
+ 84
+ private static final ImmutableMap<Integer, ValueType> DESCRIPTOR_TO_TYPE_MAP;
+ 85
+
+ 86
+ @SuppressWarnings("rawtypes" ) private final ValueMarshaller marshaller;
+ 87
+
+ 88
+ static {
+ 89 0 ImmutableMap.Builder<Integer, ValueType> builder = ImmutableMap.builder();
+ 90 0 for (ValueType valueType : ValueType.values()) {
+ 91 0 int fieldId = valueType.getMarshaller().getProtoFieldId();
+ 92 0 if (fieldId > 0) {
+ 93 0 builder.put(fieldId, valueType);
+ 94
+ }
+ 95
+ }
+ 96 0 DESCRIPTOR_TO_TYPE_MAP = builder.build();
+ 97 0 }
+ 98
+
+ 99
+
+ 100
+ <V, P extends Value<V>, B extends ValueBuilder<V, P, B>>
+ 101
+ ValueType(ValueMarshaller<V, P, B> marshaller) {
+ 102
+ this .marshaller = marshaller;
+ 103
+ }
+ 104
+
+ 105
+ ValueMarshaller getMarshaller() {
+ 106
+ return marshaller;
+ 107
+ }
+ 108
+
+ 109
+ static ValueType getByDescriptorId(int descriptorId) {
+ 110 0 return DESCRIPTOR_TO_TYPE_MAP.get(descriptorId);
+ 111
+ }
+ 112
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpc.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpc.html
new file mode 100644
index 000000000000..49f4e715763e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpc.html
@@ -0,0 +1,245 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DatastoreRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+ package com.google.gcloud.spi;
+ 17
+
+ 18
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest;
+ 19
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest;
+ 21
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.CommitRequest;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.CommitResponse;
+ 24
+ import com.google.api.services.datastore.DatastoreV1.LookupRequest;
+ 25
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 26
+ import com.google.api.services.datastore.DatastoreV1.RollbackRequest;
+ 27
+ import com.google.api.services.datastore.DatastoreV1.RollbackResponse;
+ 28
+ import com.google.api.services.datastore.DatastoreV1.RunQueryRequest;
+ 29
+ import com.google.api.services.datastore.DatastoreV1.RunQueryResponse;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+ public interface DatastoreRpc {
+ 35
+
+ 36
+ public class DatastoreRpcException extends Exception {
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public enum Reason {
+ 45
+
+ 46 0 ABORTED(true , "Request aborted" , 409),
+ 47 0 DEADLINE_EXCEEDED(true , "Deadline exceeded" , 403),
+ 48 0 FAILED_PRECONDITION(false , "Invalid request" , 412),
+ 49 0 INTERNAL(false , "Server returned an error" , 500),
+ 50 0 INVALID_ARGUMENT(false , "Request parameter has an invalid value" , 400),
+ 51 0 PERMISSION_DENIED(false , "Unauthorized request" , 403),
+ 52 0 RESOURCE_EXHAUSTED(false , "Quota exceeded" , 402),
+ 53 0 UNAVAILABLE(true , "Could not reach service" , 503);
+ 54
+
+ 55
+ private final boolean retryable;
+ 56
+ private final String description;
+ 57
+ private final int httpStatus;
+ 58
+
+ 59
+ private Reason(boolean retryable, String description, int httpStatus) {
+ 60
+ this .retryable = retryable;
+ 61
+ this .description = description;
+ 62
+ this .httpStatus = httpStatus;
+ 63
+ }
+ 64
+
+ 65
+ public boolean retryable() {
+ 66 0 return retryable;
+ 67
+ }
+ 68
+
+ 69
+ public String description() {
+ 70 0 return description;
+ 71
+ }
+ 72
+
+ 73
+ public int httpStatus() {
+ 74 0 return httpStatus;
+ 75
+ }
+ 76
+ }
+ 77
+
+ 78
+ private final String reason;
+ 79
+ private final int httpStatus;
+ 80
+ private final boolean retryable;
+ 81
+
+ 82
+ public DatastoreRpcException(Reason reason) {
+ 83 0 this (reason.name(), reason.httpStatus, reason.retryable, reason.description);
+ 84 0 }
+ 85
+
+ 86
+ public DatastoreRpcException(String reason, int httpStatus, boolean retryable, String message) {
+ 87
+ super (message);
+ 88
+ this .reason = reason;
+ 89
+ this .httpStatus = httpStatus;
+ 90
+ this .retryable = retryable;
+ 91
+ }
+ 92
+
+ 93
+ public String reason() {
+ 94 0 return reason;
+ 95
+ }
+ 96
+
+ 97
+ public int httpStatus() {
+ 98 0 return httpStatus;
+ 99
+ }
+ 100
+
+ 101
+ public boolean retryable() {
+ 102 0 return retryable;
+ 103
+ }
+ 104
+ }
+ 105
+
+ 106
+ AllocateIdsResponse allocateIds(AllocateIdsRequest request) throws DatastoreRpcException;
+ 107
+
+ 108
+ BeginTransactionResponse beginTransaction(BeginTransactionRequest request)
+ 109
+ throws DatastoreRpcException;
+ 110
+
+ 111
+ CommitResponse commit(CommitRequest request) throws DatastoreRpcException;
+ 112
+
+ 113
+ LookupResponse lookup(LookupRequest request) throws DatastoreRpcException;
+ 114
+
+ 115
+ RollbackResponse rollback(RollbackRequest request) throws DatastoreRpcException;
+ 116
+
+ 117
+ RunQueryResponse runQuery(RunQueryRequest request) throws DatastoreRpcException;
+ 118
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html
new file mode 100644
index 000000000000..135c1ac2f33f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DatastoreRpcFactory.html
@@ -0,0 +1,80 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DatastoreRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.datastore.DatastoreOptions;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface DatastoreRpcFactory extends
+ 26
+ ServiceRpcFactory<DatastoreRpc, DatastoreOptions> {
+ 27
+ }
+ 28
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html
new file mode 100644
index 000000000000..334d7636418f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/com.google.gcloud.spi.DefaultDatastoreRpc.html
@@ -0,0 +1,279 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DefaultDatastoreRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsRequest;
+ 20
+ import com.google.api.services.datastore.DatastoreV1.AllocateIdsResponse;
+ 21
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionRequest;
+ 22
+ import com.google.api.services.datastore.DatastoreV1.BeginTransactionResponse;
+ 23
+ import com.google.api.services.datastore.DatastoreV1.CommitRequest;
+ 24
+ import com.google.api.services.datastore.DatastoreV1.CommitResponse;
+ 25
+ import com.google.api.services.datastore.DatastoreV1.LookupRequest;
+ 26
+ import com.google.api.services.datastore.DatastoreV1.LookupResponse;
+ 27
+ import com.google.api.services.datastore.DatastoreV1.RollbackRequest;
+ 28
+ import com.google.api.services.datastore.DatastoreV1.RollbackResponse;
+ 29
+ import com.google.api.services.datastore.DatastoreV1.RunQueryRequest;
+ 30
+ import com.google.api.services.datastore.DatastoreV1.RunQueryResponse;
+ 31
+ import com.google.api.services.datastore.client.Datastore;
+ 32
+ import com.google.api.services.datastore.client.DatastoreException;
+ 33
+ import com.google.api.services.datastore.client.DatastoreFactory;
+ 34
+ import com.google.api.services.datastore.client.DatastoreOptions.Builder;
+ 35
+ import com.google.common.collect.ImmutableMap;
+ 36
+ import com.google.gcloud.datastore.DatastoreOptions;
+ 37
+ import com.google.gcloud.spi.DatastoreRpc.DatastoreRpcException.Reason;
+ 38
+
+ 39
+ import org.json.JSONException;
+ 40
+ import org.json.JSONObject;
+ 41
+ import org.json.JSONTokener;
+ 42
+
+ 43
+ import java.util.HashMap;
+ 44
+ import java.util.Map;
+ 45
+
+ 46
+ public class DefaultDatastoreRpc implements DatastoreRpc {
+ 47
+
+ 48
+ private final Datastore client;
+ 49
+
+ 50
+ private static final ImmutableMap<String, Reason> STR_TO_REASON;
+ 51
+ private static final ImmutableMap<Integer, Reason> HTTP_STATUS_TO_REASON;
+ 52
+
+ 53
+ static {
+ 54 0 ImmutableMap.Builder<String, Reason> builder = ImmutableMap.builder();
+ 55 0 Map<Integer, Reason> httpCodes = new HashMap<>();
+ 56 0 for (Reason reason : Reason.values()) {
+ 57 0 builder.put(reason.name(), reason);
+ 58 0 httpCodes.put(reason.httpStatus(), reason);
+ 59
+ }
+ 60 0 STR_TO_REASON = builder.build();
+ 61 0 HTTP_STATUS_TO_REASON = ImmutableMap.copyOf(httpCodes);
+ 62 0 }
+ 63
+
+ 64 0 public DefaultDatastoreRpc(DatastoreOptions options) {
+ 65 0 client = DatastoreFactory.get().create(
+ 66
+ new Builder()
+ 67 0 .dataset(options.projectId())
+ 68 0 .host(options.host())
+ 69 0 .initializer(options.httpRequestInitializer())
+ 70 0 .build());
+ 71 0 }
+ 72
+
+ 73
+ private static DatastoreRpcException translate(DatastoreException exception) {
+ 74 0 String message = exception.getMessage();
+ 75 0 String reasonStr = "" ;
+ 76 0 if (message != null ) {
+ 77
+ try {
+ 78 0 JSONObject json = new JSONObject(new JSONTokener(message));
+ 79 0 JSONObject error = json.getJSONObject("error" ).getJSONArray("errors" ).getJSONObject(0);
+ 80 0 reasonStr = error.getString("reason" );
+ 81 0 message = error.getString("message" );
+ 82 0 } catch (JSONException ignore) {
+ 83
+
+ 84 0 }
+ 85
+ }
+ 86 0 Reason reason = STR_TO_REASON.get(reasonStr);
+ 87 0 if (reason == null ) {
+ 88 0 reason = HTTP_STATUS_TO_REASON.get(exception.getCode());
+ 89
+ }
+ 90 0 return reason != null
+ 91
+ ? new DatastoreRpcException(reason)
+ 92 0 : new DatastoreRpcException("Unknown" , exception.getCode(), false , message);
+ 93
+ }
+ 94
+
+ 95
+ @Override
+ 96
+ public AllocateIdsResponse allocateIds(AllocateIdsRequest request)
+ 97
+ throws DatastoreRpcException {
+ 98
+ try {
+ 99 0 return client.allocateIds(request);
+ 100 0 } catch (DatastoreException ex) {
+ 101 0 throw translate(ex);
+ 102
+ }
+ 103
+ }
+ 104
+
+ 105
+ @Override
+ 106
+ public BeginTransactionResponse beginTransaction(BeginTransactionRequest request)
+ 107
+ throws DatastoreRpcException {
+ 108
+ try {
+ 109 0 return client.beginTransaction(request);
+ 110 0 } catch (DatastoreException ex) {
+ 111 0 throw translate(ex);
+ 112
+ }
+ 113
+ }
+ 114
+
+ 115
+ @Override
+ 116
+ public CommitResponse commit(CommitRequest request) throws DatastoreRpcException {
+ 117
+ try {
+ 118 0 return client.commit(request);
+ 119 0 } catch (DatastoreException ex) {
+ 120 0 throw translate(ex);
+ 121
+ }
+ 122
+ }
+ 123
+
+ 124
+ @Override
+ 125
+ public LookupResponse lookup(LookupRequest request) throws DatastoreRpcException {
+ 126
+ try {
+ 127 0 return client.lookup(request);
+ 128 0 } catch (DatastoreException ex) {
+ 129 0 throw translate(ex);
+ 130
+ }
+ 131
+ }
+ 132
+
+ 133
+ @Override
+ 134
+ public RollbackResponse rollback(RollbackRequest request) throws DatastoreRpcException {
+ 135
+ try {
+ 136 0 return client.rollback(request);
+ 137 0 } catch (DatastoreException ex) {
+ 138 0 throw translate(ex);
+ 139
+ }
+ 140
+ }
+ 141
+
+ 142
+ @Override
+ 143
+ public RunQueryResponse runQuery(RunQueryRequest request) throws DatastoreRpcException {
+ 144
+ try {
+ 145 0 return client.runQuery(request);
+ 146 0 } catch (DatastoreException ex) {
+ 147 0 throw translate(ex);
+ 148
+ }
+ 149
+ }
+ 150
+ }
+ 151
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/css/help.css b/site/0.0.7/gcloud-java-datastore/cobertura/css/help.css
new file mode 100644
index 000000000000..c6fbb28972f1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/css/help.css
@@ -0,0 +1,22 @@
+dl {
+ float: left;
+ width: 100%;
+}
+
+dt {
+ border-top: 1px solid #808080;
+ float: left;
+ font-weight: bold;
+ margin: 0;
+ padding: 1em;
+ width: 20%;
+}
+
+dd {
+ border-top: 1px solid #808080;
+ float: left;
+ font-style: italic;
+ margin: 0;
+ padding: 1em;
+ width: 60%;
+}
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/css/main.css b/site/0.0.7/gcloud-java-datastore/cobertura/css/main.css
new file mode 100644
index 000000000000..9b5b0dc6831d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/css/main.css
@@ -0,0 +1,131 @@
+@import url("help.css");
+@import url("source-viewer.css");
+@import url("tooltip.css");
+
+.hidden {
+ display: none;
+}
+
+a.dfn {
+ border-bottom: 1px dotted #00aa00;
+ cursor: help;
+}
+
+a.dfn:active, a.dfn:link, a.dfn:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.dfn:hover {
+ color: #0000ff;
+ text-decoration: none;
+}
+
+body {
+ font-family: verdana, arial, helvetica;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 0.5em;
+}
+
+h5 {
+ margin-top: 0.5em;
+}
+
+div.footer {
+ font-size: 68%;
+ margin-top: 1.5em;
+}
+
+div.percentgraph
+{
+ background-color: #f02020;
+ border: #808080 1px solid;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+ width: 100px;
+}
+
+div.percentgraph div.greenbar
+{
+ background-color: #00f000;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph div.na
+{
+ background-color: #eaeaea;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph span.text
+{
+ display: block;
+ position: absolute;
+ text-align: center;
+ width: 100px;
+}
+
+div.separator {
+ height: 10px;
+}
+
+table tr td, table tr th {
+ font-size: 68%;
+}
+
+td.value table tr td {
+ font-size: 11px;
+}
+
+table.percentgraph {
+ border: 0px;
+ font-size: 130%;
+ margin: 0px;
+ margin-left: auto;
+ margin-right: 0px;
+ padding: 0px;
+}
+
+table.percentgraph tr.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+}
+
+table.percentgraph td.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ padding-left: 4px;
+}
+
+table.report {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.report td {
+ border: #d0d0d0 1px solid;
+}
+
+table.report td.heading {
+ background: #dcecff;
+ font-weight: bold;
+ text-align: center;
+}
+
+table.report td.heading:hover {
+ background: #c0ffc0;
+ cursor: pointer;
+}
+
+table.report td.value {
+ text-align: right;
+}
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/css/sortabletable.css b/site/0.0.7/gcloud-java-datastore/cobertura/css/sortabletable.css
new file mode 100644
index 000000000000..970e2b55c9b7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/css/sortabletable.css
@@ -0,0 +1,50 @@
+.sort-table {
+ font: Icon;
+ border: 1px Solid ThreeDShadow;
+ background: Window;
+ color: WindowText;
+}
+
+.sort-table thead {
+ background: ButtonFace;
+}
+
+.sort-table td {
+ padding: 2px 5px;
+}
+
+.sort-table thead td {
+ border: 1px solid;
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ cursor: default;
+}
+
+.sort-table thead td:active {
+ border-color: ButtonShadow ButtonHighlight
+ ButtonHighlight ButtonShadow;
+ padding: 3px 4px 1px 6px;
+}
+
+.sort-table thead td[_sortType=None]:active {
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ padding: 2px 5px;
+}
+
+.sort-arrow {
+ width: 11px;
+ height: 11px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ margin: 0 2px;
+}
+
+.sort-arrow.descending {
+ background-image: url("../images/downsimple.png");
+
+}
+
+.sort-arrow.ascending {
+ background-image: url("../images/upsimple.png");
+}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/css/source-viewer.css b/site/0.0.7/gcloud-java-datastore/cobertura/css/source-viewer.css
new file mode 100644
index 000000000000..73797d613eb3
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/css/source-viewer.css
@@ -0,0 +1,73 @@
+pre.src {
+ background: #ffffff;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+table.src {
+ border: #dcdcdc 1px solid;
+ font-size: 16px;
+}
+
+td.numLine {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.numLineCover {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHits {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsCovered {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsUncovered {
+ background: #ff9090;
+ border-right: #dcdcdc 1px solid;
+ font-weight: bold;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.src {
+ width: 100%;
+}
+
+span.comment {
+ color: #b22222;
+ font-style: italic;
+}
+
+span.keyword {
+ color: #2020bf;
+ font-weight: bold;
+}
+
+span.srcUncovered {
+ background: #ff9090;
+}
+
+span.string {
+ color: #2a00ff;
+}
+
+span.text_italic {
+ font-size: 12px;
+ font-style: italic;
+}
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/css/tooltip.css b/site/0.0.7/gcloud-java-datastore/cobertura/css/tooltip.css
new file mode 100644
index 000000000000..c790d8104ebf
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/css/tooltip.css
@@ -0,0 +1,49 @@
+a.hastooltip {
+ border-bottom: 1px dotted #00aa00;
+ color: #000000;
+ cursor: help;
+ font-style: normal;
+ position: relative; /* This is the key */
+ text-decoration: none;
+ z-index: 24; /* What does this do? */
+}
+
+a.hastooltip:active {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:link {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:hover {
+ background-color: #a0b8ff;
+ color: #000000;
+ text-decoration: none;
+ z-index: 25;
+}
+
+a.hastooltip:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip span {
+ display: none;
+}
+
+a.hastooltip:hover span {
+ background-color: #eeeeee;
+ border: 1px solid #000000;
+ color: #000000;
+ display: block;
+ padding: 5px;
+ left: -15.2em;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ top: 2em;
+ width: 20em;
+}
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-packages.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-packages.html
new file mode 100644
index 000000000000..1e6bde41c378
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-packages.html
@@ -0,0 +1,23 @@
+
+
+
+
+Coverage Report
+
+
+
+Packages
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html
new file mode 100644
index 000000000000..6f70531b0ea2
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.datastore.html
@@ -0,0 +1,173 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.datastore
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..4ebd7bff03b2
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
@@ -0,0 +1,29 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.spi
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles.html
new file mode 100644
index 000000000000..1e5fd8e2d9f7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-sourcefiles.html
@@ -0,0 +1,182 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+All Packages
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.datastore.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.datastore.html
new file mode 100644
index 000000000000..29e8fcacf849
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.datastore.html
@@ -0,0 +1,225 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.datastore
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..444014183388
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary-com.google.gcloud.spi.html
@@ -0,0 +1,48 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.spi
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary.html b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary.html
new file mode 100644
index 000000000000..dcfc876a8ad5
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/frame-summary.html
@@ -0,0 +1,31 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - All Packages
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/help.html b/site/0.0.7/gcloud-java-datastore/cobertura/help.html
new file mode 100644
index 000000000000..4c518dcd342d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/help.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+Coverage Report - Help
+
+
+
+
+
+
+Line Coverage
+The percent of lines executed by this test run.
+
+Branch Coverage
+The percent of branches executed by this test run.
+
+Complexity
+Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
+
+N/A
+Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/images/blank.png b/site/0.0.7/gcloud-java-datastore/cobertura/images/blank.png
new file mode 100644
index 000000000000..cee9cd37a10e
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/cobertura/images/blank.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/images/downsimple.png b/site/0.0.7/gcloud-java-datastore/cobertura/images/downsimple.png
new file mode 100644
index 000000000000..4accf927bed9
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/cobertura/images/downsimple.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/images/upsimple.png b/site/0.0.7/gcloud-java-datastore/cobertura/images/upsimple.png
new file mode 100644
index 000000000000..c82b76ffe2c9
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/cobertura/images/upsimple.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/index.html b/site/0.0.7/gcloud-java-datastore/cobertura/index.html
new file mode 100644
index 000000000000..573719b81895
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.
+ Click here to view a non-frame version.
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/js/customsorttypes.js b/site/0.0.7/gcloud-java-datastore/cobertura/js/customsorttypes.js
new file mode 100644
index 000000000000..a16bda216f71
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/js/customsorttypes.js
@@ -0,0 +1,65 @@
+/*
+ * Cobertura - http://cobertura.sourceforge.net/
+ *
+ * Copyright (C) 2005 Mark Doliner
+ * Copyright (C) 2005 Olivier Parent
+ *
+ * Cobertura is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * Cobertura is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cobertura; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+function percentageSortType( s )
+{
+ var ret;
+ var i = s.indexOf( "%" );
+
+ if (i != -1) {
+ s = s.substr( 0, i );
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ ret = -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "Percentage", percentageSortType );
+
+
+
+// This is needed for correctly sorting numbers in different
+// locales. The stock number converter only expects to sort
+// numbers which use a period as a separator instead of a
+// comma (like French).
+function formattedNumberSortType( s )
+{
+ var ret;
+ var i = s.indexOf(';');
+
+ if (i != -1) {
+ s = s.substring(0, i);
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ return -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType );
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/js/popup.js b/site/0.0.7/gcloud-java-datastore/cobertura/js/popup.js
new file mode 100644
index 000000000000..4a09072260dc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/js/popup.js
@@ -0,0 +1,8 @@
+var newwindow;
+function popupwindow(url)
+{
+ newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+ if (window.focus) {
+ newwindow.focus()
+ }
+}
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/js/sortabletable.js b/site/0.0.7/gcloud-java-datastore/cobertura/js/sortabletable.js
new file mode 100644
index 000000000000..0dad657240f8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/js/sortabletable.js
@@ -0,0 +1,455 @@
+
+/*----------------------------------------------------------------------------\
+| Sortable Table 1.12 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1998 - 2004 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version |
+| 2003-01-19 | Minor changes to the date parsing |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText |
+| 2003-07-04 | Added workaround for IE cellIndex bug. |
+| 2003-11-09 | The bDescending argument to sort was not correctly working |
+| | Using onclick DOM0 event if no support for addEventListener |
+| | or attachEvent |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot |
+| | easier to add new, custom sort types. |
+| 2004-01-27 | Switch to use descending = false as the default sort order. |
+| | Change defaultDescending to suit your needs. |
+| 2004-03-14 | Improved sort type None look and feel a bit |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you |
+| | can use another tHead or no tHead, and you can chose some |
+| | other tBody. |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+ this.sortTypes = oSortTypes || [];
+
+ this.sortColumn = null;
+ this.descending = null;
+
+ var oThis = this;
+ this._headerOnclick = function (e) {
+ oThis.headerOnclick(e);
+ };
+
+ if (oTable) {
+ this.setTable( oTable );
+ this.document = oTable.ownerDocument || oTable.document;
+ }
+ else {
+ this.document = document;
+ }
+
+
+ // only IE needs this
+ var win = this.document.defaultView || this.document.parentWindow;
+ this._onunload = function () {
+ oThis.destroy();
+ };
+ if (win && typeof win.attachEvent != "undefined") {
+ win.attachEvent("onunload", this._onunload);
+ }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.element = oTable;
+ this.setTHead( oTable.tHead );
+ this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+ if (this.tHead && this.tHead != oTHead )
+ this.uninitHeader();
+ this.tHead = oTHead;
+ this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+ this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.sortTypes = oSortTypes || [];
+ if ( this.tHead )
+ this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var doc = this.tHead.ownerDocument || this.tHead.document;
+ this.sortTypes = oSortTypes || [];
+ var l = cells.length;
+ var img, c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+ img = doc.createElement("IMG");
+ img.src = "images/blank.png";
+ c.appendChild(img);
+ if (this.sortTypes[i] != null)
+ c._sortType = this.sortTypes[i];
+ if (typeof c.addEventListener != "undefined")
+ c.addEventListener("click", this._headerOnclick, false);
+ else if (typeof c.attachEvent != "undefined")
+ c.attachEvent("onclick", this._headerOnclick);
+ else
+ c.onclick = this._headerOnclick;
+ }
+ else
+ {
+ c.setAttribute( "_sortType", oSortTypes[i] );
+ c._sortType = "None";
+ }
+ }
+ this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (c._sortType != null && c._sortType != "None") {
+ c.removeChild(c.lastChild);
+ if (typeof c.removeEventListener != "undefined")
+ c.removeEventListener("click", this._headerOnclick, false);
+ else if (typeof c.detachEvent != "undefined")
+ c.detachEvent("onclick", this._headerOnclick);
+ c._sortType = null;
+ c.removeAttribute( "_sortType" );
+ }
+ }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var img;
+ for (var i = 0; i < l; i++) {
+ if (cells[i]._sortType != null && cells[i]._sortType != "None") {
+ img = cells[i].lastChild;
+ if (i == this.sortColumn)
+ img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");
+ else
+ img.className = "sort-arrow";
+ }
+ }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+ // find TD element
+ var el = e.target || e.srcElement;
+ while (el.tagName != "TD")
+ el = el.parentNode;
+
+ this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+ var cells = oTd.parentNode.childNodes
+ var l = cells.length;
+ var i;
+ for (i = 0; cells[i] != oTd && i < l; i++)
+ ;
+ return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+ return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+ if (!this.tBody) return;
+ if (sSortType == null)
+ sSortType = this.getSortType(nColumn);
+
+ // exit if None
+ if (sSortType == "None")
+ return;
+
+ if (bDescending == null) {
+ if (this.sortColumn != nColumn)
+ this.descending = this.defaultDescending;
+ else
+ this.descending = !this.descending;
+ }
+ else
+ this.descending = bDescending;
+
+ this.sortColumn = nColumn;
+
+ if (typeof this.onbeforesort == "function")
+ this.onbeforesort();
+
+ var f = this.getSortFunction(sSortType, nColumn);
+ var a = this.getCache(sSortType, nColumn);
+ var tBody = this.tBody;
+
+ a.sort(f);
+
+ if (this.descending)
+ a.reverse();
+
+ if (SortableTable.removeBeforeSort) {
+ // remove from doc
+ var nextSibling = tBody.nextSibling;
+ var p = tBody.parentNode;
+ p.removeChild(tBody);
+ }
+
+ // insert in the new order
+ var l = a.length;
+ for (var i = 0; i < l; i++)
+ tBody.appendChild(a[i].element);
+
+ if (SortableTable.removeBeforeSort) {
+ // insert into doc
+ p.insertBefore(tBody, nextSibling);
+ }
+
+ this.updateHeaderArrows();
+
+ this.destroyCache(a);
+
+ if (typeof this.onsort == "function")
+ this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {
+ var oThis = this;
+ this._asyncsort = function () {
+ oThis.sort(nColumn, bDescending, sSortType);
+ };
+ window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+ if (!this.tBody) return [];
+ var rows = this.tBody.rows;
+ var l = rows.length;
+ var a = new Array(l);
+ var r;
+ for (var i = 0; i < l; i++) {
+ r = rows[i];
+ a[i] = {
+ value: this.getRowValue(r, sType, nColumn),
+ element: r
+ };
+ };
+ return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+ var l = oArray.length;
+ for (var i = 0; i < l; i++) {
+ oArray[i].value = null;
+ oArray[i].element = null;
+ oArray[i] = null;
+ }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+ // if we have defined a custom getRowValue use that
+ if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+ return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+ var s;
+ var c = oRow.cells[nColumn];
+ if (typeof c.innerText != "undefined")
+ s = c.innerText;
+ else
+ s = SortableTable.getInnerText(c);
+ return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+ var s = "";
+ var cs = oNode.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ s += SortableTable.getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ s += cs[i].nodeValue;
+ break;
+ }
+ }
+ return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].getValueFromString( sText );
+ return sText;
+ /*
+ switch (sType) {
+ case "Number":
+ return Number(sText);
+ case "CaseInsensitiveString":
+ return sText.toUpperCase();
+ case "Date":
+ var parts = sText.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+ }
+ return sText;
+ */
+ };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].compare;
+ return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+ this.uninitHeader();
+ var win = this.document.parentWindow;
+ if (win && typeof win.detachEvent != "undefined") { // only IE needs this
+ win.detachEvent("onunload", this._onunload);
+ }
+ this._onunload = null;
+ this.element = null;
+ this.tHead = null;
+ this.tBody = null;
+ this.document = null;
+ this._headerOnclick = null;
+ this.sortTypes = null;
+ this._asyncsort = null;
+ this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+// string and casts it to a desired format. If left out the string is just
+// returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+// compare function. Takes two values and compares them. If left out less than,
+// <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function
+// that takes the row and the column index and returns the value used to compare.
+// If left out then the innerText is first taken for the cell and then the
+// fGetValueFromString is used to convert that string the desired value and type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {
+ this._sortTypeInfo[sType] = {
+ type: sType,
+ getValueFromString: fGetValueFromString || SortableTable.idFunction,
+ compare: fCompareFunction || SortableTable.basicCompare,
+ getRowValue: fGetRowValue
+ };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+ delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+ if (n1.value < n2.value)
+ return -1;
+ if (n2.value < n1.value)
+ return 1;
+ return 0;
+};
+
+SortableTable.idFunction = function (x) {
+ return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+ return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+ var parts = s.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
diff --git a/site/0.0.7/gcloud-java-datastore/cobertura/js/stringbuilder.js b/site/0.0.7/gcloud-java-datastore/cobertura/js/stringbuilder.js
new file mode 100644
index 000000000000..464a1cacb2ba
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/cobertura/js/stringbuilder.js
@@ -0,0 +1,79 @@
+/*----------------------------------------------------------------------------\
+| String Builder 1.02 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1999 - 2002 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version |
+| 2000-10-05 | Added a cache of the string so that it does not need to be |
+| | regenerated every time in toString |
+| 2002-10-03 | Added minor improvement in the toString method |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/ function StringBuilder(sString) {
+
+ // public
+ this.length = 0;
+
+ this.append = function (sString) {
+ // append argument
+ this.length += (this._parts[this._current++] = String(sString)).length;
+
+ // reset cache
+ this._string = null;
+ return this;
+ };
+
+ this.toString = function () {
+ if (this._string != null)
+ return this._string;
+
+ var s = this._parts.join("");
+ this._parts = [s];
+ this._current = 1;
+ this.length = s.length;
+
+ return this._string = s;
+ };
+
+ // private
+ this._current = 0;
+ this._parts = [];
+ this._string = null; // used to cache the string
+
+ // init
+ if (sString != null)
+ this.append(sString);
+}
diff --git a/site/0.0.7/gcloud-java-datastore/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/gcloud-java-datastore/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-datastore/css/print.css b/site/0.0.7/gcloud-java-datastore/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/gcloud-java-datastore/css/site.css b/site/0.0.7/gcloud-java-datastore/css/site.css
new file mode 100644
index 000000000000..055e7e286adc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-datastore/dependencies.html b/site/0.0.7/gcloud-java-datastore/dependencies.html
new file mode 100644
index 000000000000..1e099fdfa439
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/dependencies.html
@@ -0,0 +1,1381 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Project Dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Dependencies
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Transitive Dependencies
+
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+GroupId
+ArtifactId
+Version
+Type
+License
+
+com.fasterxml.jackson.core
+jackson-core
+2.1.3
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client
+1.15.0-rc
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.auth
+google-auth-library-credentials
+0.1.0
+jar
+BSD New license
+
+com.google.auth
+google-auth-library-oauth2-http
+0.1.0
+jar
+BSD New license
+
+com.google.code.findbugs
+jsr305
+1.3.9
+jar
+The Apache Software License, Version 2.0
+
+com.google.guava
+guava
+18.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jdo
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-protobuf
+1.15.0-rc
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.protobuf
+protobuf-java
+2.5.0
+jar
+New BSD license
+
+commons-codec
+commons-codec
+1.3
+jar
+/LICENSE.txt
+
+commons-logging
+commons-logging
+1.1.1
+jar
+The Apache Software License, Version 2.0
+
+javax.jdo
+jdo2-api
+2.3-eb
+jar
+Apache 2
+
+javax.servlet
+servlet-api
+2.5
+jar
+-
+
+javax.transaction
+transaction-api
+1.1
+jar
+-
+
+joda-time
+joda-time
+2.8.2
+jar
+Apache 2
+
+org.apache.httpcomponents
+httpclient
+4.0.1
+jar
+../LICENSE.txt
+
+org.apache.httpcomponents
+httpcore
+4.0.1
+jar
+Apache License
+
+org.codehaus.jackson
+jackson-core-asl
+1.9.11
+jar
+The Apache Software License, Version 2.0
+
+org.json
+json
+20090211
+jar
+provided without support or warranty
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Dependency Graph
+
+
+
Dependency Tree
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.auth:google-auth-library-credentials:jar:0.1.0 (compile)
+com.google.auth:google-auth-library-oauth2-http:jar:0.1.0 (compile)
+
+com.google.http-client:google-http-client-jackson2:jar:1.19.0 (compile)
+
+com.fasterxml.jackson.core:jackson-core:jar:2.1.3 (compile)
+com.google.http-client:google-http-client:jar:1.20.0 (compile)
+
+com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
+org.apache.httpcomponents:httpclient:jar:4.0.1 (compile)
+
+org.apache.httpcomponents:httpcore:jar:4.0.1 (compile)
+commons-logging:commons-logging:jar:1.1.1 (compile)
+commons-codec:commons-codec:jar:1.3 (compile)
+com.google.oauth-client:google-oauth-client:jar:1.20.0 (compile)
+com.google.guava:guava:jar:18.0 (compile)
+com.google.api-client:google-api-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0 (compile)
+
+com.google.http-client:google-http-client-jdo:jar:1.20.0 (compile)
+javax.servlet:servlet-api:jar:2.5 (compile)
+
+
+servlet-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.api-client:google-api-client-servlet:jar:1.20.0 (compile)
+
+javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+JDO2 API
+
+
+Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
+URL: http://db.apache.org/jdo/index.html
+Project License: Apache 2
+
+javax.transaction:transaction-api:jar:1.1 (compile)
+
+
+transaction-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.http-client:google-http-client-appengine:jar:1.20.0 (compile)
+com.google.http-client:google-http-client-jackson:jar:1.20.0 (compile)
+
+org.codehaus.jackson:jackson-core-asl:jar:1.9.11 (compile)
+joda-time:joda-time:jar:2.8.2 (compile)
+org.json:json:jar:20090211 (compile)
+
+
+JSON (JavaScript Object Notation)
+
+
+Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
+URL: http://www.json.org/java/index.html
+Project License: provided without support or warranty
+com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2 (compile)
+
+com.google.protobuf:protobuf-java:jar:2.5.0 (compile)
+com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc (compile)
+com.google.api-client:google-api-client:jar:1.15.0-rc (compile)
+com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0 (compile)
+junit:junit:jar:4.12 (test)
+
+org.hamcrest:hamcrest-core:jar:1.3 (test)
+org.easymock:easymock:jar:3.3 (test)
+
+
+EasyMock
+
+
+Description: EasyMock provides an easy way to create Mock Objects for interfaces and classes generating them on the fly
+URL: http://easymock.org/easymock
+Project License: Apache 2
+
+cglib:cglib-nodep:jar:3.1 (test)
+org.objenesis:objenesis:jar:2.1 (test)
+
+
Licenses
+
Apache 2: EasyMock, JDO2 API, Joda-Time, Objenesis
+
Unknown: google-api-services-datastore-protobuf, servlet-api, transaction-api
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
New BSD license: Protocol Buffer Java API
+
Eclipse Public License 1.0: JUnit
+
Apache License: HttpClient, HttpCore
+
GCloud Java Software License: GCloud Java core, GCloud Java datastore
+
ASF 2.0: Code Generation Library
+
BSD New license: Google Auth Library for Java - Credentials, Google Auth Library for Java - OAuth2 HTTP
+
New BSD License: Hamcrest Core
+
The Apache Software License, Version 2.0: Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google Cloud Datastore API v1beta2-rev23-1.19.0, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Jackson, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson extensions to the Google HTTP Client Library for Java., Jackson-core, Protocol Buffer extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
+
Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+cglib-nodep-3.1.jar
+331.20 kB
+256
+252
+9
+1.2
+Yes
+
+jackson-core-2.1.3.jar
+206.80 kB
+110
+89
+8
+1.5
+Yes
+
+google-api-client-1.15.0-rc.jar
+177.88 kB
+126
+93
+18
+1.5
+Yes
+
+google-api-client-appengine-1.20.0.jar
+9.87 kB
+22
+7
+3
+1.5
+Yes
+
+google-api-client-servlet-1.20.0.jar
+6.72 kB
+14
+4
+1
+1.5
+Yes
+
+google-api-services-datastore-v1beta2-rev23-1.19.0.jar
+49.85 kB
+58
+46
+2
+1.5
+Yes
+
+google-api-services-datastore-protobuf-v1beta2-rev1-2.1.2.jar
+456.59 kB
+190
+177
+2
+1.6
+Yes
+
+google-auth-library-credentials-0.1.0.jar
+2.67 kB
+11
+1
+1
+1.5
+Yes
+
+google-auth-library-oauth2-http-0.1.0.jar
+21.79 kB
+21
+9
+2
+1.5
+Yes
+
+jsr305-1.3.9.jar
+33.01 kB
+72
+35
+3
+1.5
+Yes
+
+gcloud-java-core-0.0.7-SNAPSHOT.jar
+54.53 kB
+40
+27
+2
+1.6
+Yes
+
+guava-18.0.jar
+2.26 MB
+1719
+1690
+17
+1.6
+Yes
+
+google-http-client-1.20.0.jar
+286.72 kB
+247
+213
+20
+1.5
+Yes
+
+google-http-client-appengine-1.20.0.jar
+15.69 kB
+21
+11
+2
+1.5
+Yes
+
+google-http-client-jackson-1.20.0.jar
+6.03 kB
+12
+4
+1
+1.5
+Yes
+
+google-http-client-jackson2-1.19.0.jar
+6.72 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-jdo-1.20.0.jar
+11.34 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-protobuf-1.15.0-rc.jar
+7.09 kB
+19
+5
+2
+1.5
+Yes
+
+google-oauth-client-1.20.0.jar
+61.09 kB
+57
+47
+3
+1.5
+Yes
+
+google-oauth-client-appengine-1.20.0.jar
+7.95 kB
+17
+7
+2
+1.5
+Yes
+
+google-oauth-client-servlet-1.20.0.jar
+22.12 kB
+24
+11
+4
+1.5
+Yes
+
+protobuf-java-2.5.0.jar
+533.46 kB
+256
+246
+1
+1.5
+Yes
+
+commons-codec-1.3.jar
+46.72 kB
+42
+25
+5
+1.2
+Yes
+
+commons-logging-1.1.1.jar
+60.69 kB
+42
+28
+2
+1.1
+Yes
+
+jdo2-api-2.3-eb.jar
+192.70 kB
+226
+182
+7
+1.5
+Yes
+
+servlet-api-2.5.jar
+105.11 kB
+68
+42
+2
+1.5
+Yes
+
+transaction-api-1.1.jar
+15.07 kB
+24
+18
+2
+1.3
+Yes
+
+joda-time-2.8.2.jar
+621.99 kB
+749
+246
+7
+1.5
+Yes
+
+junit-4.12.jar
+314.93 kB
+323
+286
+30
+1.5
+Yes
+
+httpclient-4.0.1.jar
+291.04 kB
+266
+230
+22
+1.5
+Yes
+
+httpcore-4.0.1.jar
+172.89 kB
+181
+158
+10
+1.3
+Yes
+
+jackson-core-asl-1.9.11.jar
+232.13 kB
+137
+121
+8
+1.5
+Yes
+
+easymock-3.3.jar
+126.61 kB
+104
+95
+3
+1.5
+Yes
+
+hamcrest-core-1.3.jar
+45.02 kB
+52
+45
+3
+1.5
+Yes
+
+json-20090211.jar
+45.94 kB
+21
+19
+1
+1.6
+Yes
+
+objenesis-2.1.jar
+41.76 kB
+52
+37
+9
+1.5
+Yes
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+36
+6.88 MB
+5605
+4516
+216
+1.6
+36
+
+compile: 31
+compile: 6.02 MB
+compile: 4818
+compile: 3801
+compile: 162
+-
+compile: 31
+
+test: 5
+test: 859.53 kB
+test: 787
+test: 715
+test: 54
+-
+test: 5
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/dependency-analysis.html b/site/0.0.7/gcloud-java-datastore/dependency-analysis.html
new file mode 100644
index 000000000000..bb30525a474f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/dependency-analysis.html
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Dependencies Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Analysis
+
+
Used and declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.gcloud
+gcloud-java-core
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.apis
+google-api-services-datastore-protobuf
+v1beta2-rev1-2.1.2
+compile
+
+jar
+false
+
+junit
+junit
+4.12
+test
+
+jar
+false
+
+org.easymock
+easymock
+3.3
+test
+
+jar
+false
+
+
Used but undeclared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.protobuf
+protobuf-java
+2.5.0
+compile
+
+jar
+false
+
+joda-time
+joda-time
+2.8.2
+compile
+
+jar
+false
+
+org.json
+json
+20090211
+compile
+
+jar
+false
+
+com.google.guava
+guava
+18.0
+compile
+
+jar
+false
+
+
Unused but declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.apis
+google-api-services-datastore
+v1beta2-rev23-1.19.0
+compile
+
+jar
+false
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/dependency-convergence.html b/site/0.0.7/gcloud-java-datastore/dependency-convergence.html
new file mode 100644
index 000000000000..45f6aa86ab23
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/dependency-convergence.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+50
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 82 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/dependency-info.html b/site/0.0.7/gcloud-java-datastore/dependency-info.html
new file mode 100644
index 000000000000..54e01665f162
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/dependency-info.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java-datastore</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java-datastore" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java-datastore" type="jar" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java-datastore', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java-datastore:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java-datastore "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java-datastore" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/dev-activity.html b/site/0.0.7/gcloud-java-datastore/dev-activity.html
new file mode 100644
index 000000000000..0ac3e38a3e12
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/dev-activity.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/distribution-management.html b/site/0.0.7/gcloud-java-datastore/distribution-management.html
new file mode 100644
index 000000000000..65cbd84ccd34
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/distribution-management.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/gcloud-java-datastore/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/file-activity.html b/site/0.0.7/gcloud-java-datastore/file-activity.html
new file mode 100644
index 000000000000..5f09e1c29c6c
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/file-activity.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Filename
+Number of Times Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/images/accessories-text-editor.png b/site/0.0.7/gcloud-java-datastore/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/add.gif b/site/0.0.7/gcloud-java-datastore/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/add.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/apache-maven-project-2.png b/site/0.0.7/gcloud-java-datastore/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/application-certificate.png b/site/0.0.7/gcloud-java-datastore/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/application-certificate.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/close.gif b/site/0.0.7/gcloud-java-datastore/images/close.gif
new file mode 100644
index 000000000000..1c26bbc5264f
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/close.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/contact-new.png b/site/0.0.7/gcloud-java-datastore/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/contact-new.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/document-properties.png b/site/0.0.7/gcloud-java-datastore/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/document-properties.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/drive-harddisk.png b/site/0.0.7/gcloud-java-datastore/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/drive-harddisk.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/fix.gif b/site/0.0.7/gcloud-java-datastore/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/fix.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/icon_error_sml.gif b/site/0.0.7/gcloud-java-datastore/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/icon_help_sml.gif b/site/0.0.7/gcloud-java-datastore/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/icon_info_sml.gif b/site/0.0.7/gcloud-java-datastore/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/icon_success_sml.gif b/site/0.0.7/gcloud-java-datastore/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/icon_warning_sml.gif b/site/0.0.7/gcloud-java-datastore/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/image-x-generic.png b/site/0.0.7/gcloud-java-datastore/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/image-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/internet-web-browser.png b/site/0.0.7/gcloud-java-datastore/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/internet-web-browser.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-black.png b/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-white.png b/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/logos/maven-feather.png b/site/0.0.7/gcloud-java-datastore/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/network-server.png b/site/0.0.7/gcloud-java-datastore/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/network-server.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/package-x-generic.png b/site/0.0.7/gcloud-java-datastore/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/package-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/profiles/pre-release.png b/site/0.0.7/gcloud-java-datastore/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/profiles/retired.png b/site/0.0.7/gcloud-java-datastore/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/profiles/retired.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/profiles/sandbox.png b/site/0.0.7/gcloud-java-datastore/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/remove.gif b/site/0.0.7/gcloud-java-datastore/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/remove.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/rss.png b/site/0.0.7/gcloud-java-datastore/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/rss.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/update.gif b/site/0.0.7/gcloud-java-datastore/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/update.gif differ
diff --git a/site/0.0.7/gcloud-java-datastore/images/window-new.png b/site/0.0.7/gcloud-java-datastore/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/images/window-new.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings-white.png b/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings.png b/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/gcloud-java-datastore/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/gcloud-java-datastore/index.html b/site/0.0.7/gcloud-java-datastore/index.html
new file mode 100644
index 000000000000..27628d8e4f39
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/index.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About GCloud Java datastore
+
Java idiomatic client for Google Cloud Datastore.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/integration.html b/site/0.0.7/gcloud-java-datastore/integration.html
new file mode 100644
index 000000000000..5ad391e4b495
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/integration.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/issue-tracking.html b/site/0.0.7/gcloud-java-datastore/issue-tracking.html
new file mode 100644
index 000000000000..ae2a06c3492e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/issue-tracking.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/gcloud-java-datastore/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/project-info.html b/site/0.0.7/gcloud-java-datastore/project-info.html
new file mode 100644
index 000000000000..c3b70aca098c
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/project-info.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Java idiomatic client for Google Cloud Datastore.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependencies
+This document lists the project's dependencies and provides information on each dependency.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/project-reports.html b/site/0.0.7/gcloud-java-datastore/project-reports.html
new file mode 100644
index 000000000000..689cdfa3285d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/project-reports.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/project-summary.html b/site/0.0.7/gcloud-java-datastore/project-summary.html
new file mode 100644
index 000000000000..af57da964fb1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/project-summary.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java-datastore
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+jar
+
+Java Version
+1.7
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/source-repository.html b/site/0.0.7/gcloud-java-datastore/source-repository.html
new file mode 100644
index 000000000000..e1cf08f13a64
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/source-repository.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/surefire-report.html b/site/0.0.7/gcloud-java-datastore/surefire-report.html
new file mode 100644
index 000000000000..64d6e6bfccfc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/surefire-report.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-datastore/team-list.html b/site/0.0.7/gcloud-java-datastore/team-list.html
new file mode 100644
index 000000000000..f7fe88337e5b
--- /dev/null
+++ b/site/0.0.7/gcloud-java-datastore/team-list.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+ GCloud Java datastore – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java datastore
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/changelog.html b/site/0.0.7/gcloud-java-examples/changelog.html
new file mode 100644
index 000000000000..874c36c76f01
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/changelog.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Timestamp
+Author
+Details
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/checkstyle.html b/site/0.0.7/gcloud-java-examples/checkstyle.html
new file mode 100644
index 000000000000..94953949471d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/checkstyle.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle 6.8.1 with checkstyle.xml ruleset.
+
+
Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+2
+0
+15
+0
+
+
+
Rules
+
+
+Category
+Rule
+Violations
+Severity
+
+javadoc
+JavadocMethod
+
+scope: "public"
+allowMissingThrowsTags: "true"
+allowThrowsTagsForSubclasses: "true"
+allowMissingReturnTag: "true"
+allowMissingParamTags: "true"
+minLineCount: "2"
+allowedAnnotations: "Override, Test"
+3
+ Warning
+
+
+JavadocParagraph
+5
+ Warning
+
+modifier
+ModifierOrder
+3
+ Warning
+
+sizes
+LineLength
+
+max: "100"
+ignorePattern: "^package.*|^import.*|a href|href|http://|https://|ftp://"
+1
+ Warning
+
+whitespace
+EmptyLineSeparator
+
+allowNoEmptyLineBetweenFields: "true"
+1
+ Warning
+
+
+OperatorWrap
+
+tokens: "BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "
+option: "NL"
+1
+ Warning
+
+
+WhitespaceAround
+
+allowEmptyConstructors: "true"
+allowEmptyMethods: "true"
+allowEmptyLoops: "true"
+allowEmptyTypes: "true"
+1
+ Warning
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/checkstyle.rss b/site/0.0.7/gcloud-java-examples/checkstyle.rss
new file mode 100644
index 000000000000..279d334b8530
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/checkstyle.rss
@@ -0,0 +1,82 @@
+
+
+
+
+ GCloud Java examples - Checkstyle report
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-examples
+ GCloud Java examples - Checkstyle report
+ en-us
+ ©2015 Google
+ -
+
File: 2,
+ Errors: 0,
+ Warnings: 15,
+ Infos: 0
+
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-examples/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/cobertura/index.html b/site/0.0.7/gcloud-java-examples/cobertura/index.html
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/site/0.0.7/gcloud-java-examples/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/gcloud-java-examples/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-examples/css/print.css b/site/0.0.7/gcloud-java-examples/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/gcloud-java-examples/css/site.css b/site/0.0.7/gcloud-java-examples/css/site.css
new file mode 100644
index 000000000000..055e7e286adc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-examples/dependencies.html b/site/0.0.7/gcloud-java-examples/dependencies.html
new file mode 100644
index 000000000000..258cd1f494a8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/dependencies.html
@@ -0,0 +1,1358 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Project Dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Dependencies
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+
Project Transitive Dependencies
+
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+GroupId
+ArtifactId
+Version
+Type
+License
+
+com.fasterxml.jackson.core
+jackson-core
+2.1.3
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.apis
+google-api-services-datastore
+v1beta2-rev23-1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.apis
+google-api-services-datastore-protobuf
+v1beta2-rev1-2.1.2
+jar
+-
+
+com.google.apis
+google-api-services-storage
+v1-rev33-1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.auth
+google-auth-library-credentials
+0.1.0
+jar
+BSD New license
+
+com.google.auth
+google-auth-library-oauth2-http
+0.1.0
+jar
+BSD New license
+
+com.google.code.findbugs
+jsr305
+1.3.9
+jar
+The Apache Software License, Version 2.0
+
+com.google.gcloud
+gcloud-java-core
+0.0.7-SNAPSHOT
+jar
+GCloud Java Software License
+
+com.google.gcloud
+gcloud-java-datastore
+0.0.7-SNAPSHOT
+jar
+GCloud Java Software License
+
+com.google.gcloud
+gcloud-java-storage
+0.0.7-SNAPSHOT
+jar
+GCloud Java Software License
+
+com.google.guava
+guava
+18.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jdo
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-protobuf
+1.15.0-rc
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.protobuf
+protobuf-java
+2.5.0
+jar
+New BSD license
+
+commons-codec
+commons-codec
+1.3
+jar
+/LICENSE.txt
+
+commons-logging
+commons-logging
+1.1.1
+jar
+The Apache Software License, Version 2.0
+
+javax.jdo
+jdo2-api
+2.3-eb
+jar
+Apache 2
+
+javax.servlet
+servlet-api
+2.5
+jar
+-
+
+javax.transaction
+transaction-api
+1.1
+jar
+-
+
+joda-time
+joda-time
+2.8.2
+jar
+Apache 2
+
+org.apache.httpcomponents
+httpclient
+4.0.1
+jar
+../LICENSE.txt
+
+org.apache.httpcomponents
+httpcore
+4.0.1
+jar
+Apache License
+
+org.codehaus.jackson
+jackson-core-asl
+1.9.11
+jar
+The Apache Software License, Version 2.0
+
+org.json
+json
+20090211
+jar
+provided without support or warranty
+
+
Project Dependency Graph
+
+
+
Dependency Tree
+
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT
+
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.auth:google-auth-library-credentials:jar:0.1.0 (compile)
+com.google.auth:google-auth-library-oauth2-http:jar:0.1.0 (compile)
+
+com.google.http-client:google-http-client-jackson2:jar:1.19.0 (compile)
+
+com.fasterxml.jackson.core:jackson-core:jar:2.1.3 (compile)
+com.google.http-client:google-http-client:jar:1.20.0 (compile)
+
+com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
+org.apache.httpcomponents:httpclient:jar:4.0.1 (compile)
+
+org.apache.httpcomponents:httpcore:jar:4.0.1 (compile)
+commons-logging:commons-logging:jar:1.1.1 (compile)
+commons-codec:commons-codec:jar:1.3 (compile)
+com.google.oauth-client:google-oauth-client:jar:1.20.0 (compile)
+com.google.guava:guava:jar:18.0 (compile)
+com.google.api-client:google-api-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0 (compile)
+
+com.google.http-client:google-http-client-jdo:jar:1.20.0 (compile)
+javax.servlet:servlet-api:jar:2.5 (compile)
+
+
+servlet-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.api-client:google-api-client:jar:1.20.0 (compile)
+com.google.api-client:google-api-client-servlet:jar:1.20.0 (compile)
+
+javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+JDO2 API
+
+
+Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
+URL: http://db.apache.org/jdo/index.html
+Project License: Apache 2
+
+javax.transaction:transaction-api:jar:1.1 (compile)
+
+
+transaction-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.http-client:google-http-client-appengine:jar:1.20.0 (compile)
+com.google.http-client:google-http-client-jackson:jar:1.20.0 (compile)
+
+org.codehaus.jackson:jackson-core-asl:jar:1.9.11 (compile)
+joda-time:joda-time:jar:2.8.2 (compile)
+org.json:json:jar:20090211 (compile)
+
+
+JSON (JavaScript Object Notation)
+
+
+Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
+URL: http://www.json.org/java/index.html
+Project License: provided without support or warranty
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2 (compile)
+
+com.google.protobuf:protobuf-java:jar:2.5.0 (compile)
+com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc (compile)
+com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0 (compile)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0 (compile)
+
+
Licenses
+
Apache 2: JDO2 API, Joda-Time
+
Unknown: google-api-services-datastore-protobuf, servlet-api, transaction-api
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
New BSD license: Protocol Buffer Java API
+
Apache License: HttpClient, HttpCore
+
GCloud Java Software License: GCloud Java, GCloud Java core, GCloud Java datastore, GCloud Java examples, GCloud Java storage
+
BSD New license: Google Auth Library for Java - Credentials, Google Auth Library for Java - OAuth2 HTTP
+
The Apache Software License, Version 2.0: Cloud Storage API v1-rev33-1.20.0, Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google Cloud Datastore API v1beta2-rev23-1.19.0, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Jackson, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson extensions to the Google HTTP Client Library for Java., Jackson-core, Protocol Buffer extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
+
Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+jackson-core-2.1.3.jar
+206.80 kB
+110
+89
+8
+1.5
+Yes
+
+google-api-client-1.20.0.jar
+194.26 kB
+137
+106
+22
+1.5
+Yes
+
+google-api-client-appengine-1.20.0.jar
+9.87 kB
+22
+7
+3
+1.5
+Yes
+
+google-api-client-servlet-1.20.0.jar
+6.72 kB
+14
+4
+1
+1.5
+Yes
+
+google-api-services-datastore-v1beta2-rev23-1.19.0.jar
+49.85 kB
+58
+46
+2
+1.5
+Yes
+
+google-api-services-datastore-protobuf-v1beta2-rev1-2.1.2.jar
+456.59 kB
+190
+177
+2
+1.6
+Yes
+
+google-api-services-storage-v1-rev33-1.20.0.jar
+97.82 kB
+83
+71
+2
+1.5
+Yes
+
+google-auth-library-credentials-0.1.0.jar
+2.67 kB
+11
+1
+1
+1.5
+Yes
+
+google-auth-library-oauth2-http-0.1.0.jar
+21.79 kB
+21
+9
+2
+1.5
+Yes
+
+jsr305-1.3.9.jar
+33.01 kB
+72
+35
+3
+1.5
+Yes
+
+gcloud-java-0.0.7-SNAPSHOT.jar
+2.41 kB
+9
+0
+0
+-
+No
+
+gcloud-java-core-0.0.7-SNAPSHOT.jar
+54.53 kB
+40
+27
+2
+1.6
+Yes
+
+gcloud-java-datastore-0.0.7-SNAPSHOT.jar
+275.99 kB
+153
+139
+2
+1.6
+Yes
+
+gcloud-java-storage-0.0.7-SNAPSHOT.jar
+213.74 kB
+126
+112
+2
+1.6
+Yes
+
+guava-18.0.jar
+2.26 MB
+1719
+1690
+17
+1.6
+Yes
+
+google-http-client-1.20.0.jar
+286.72 kB
+247
+213
+20
+1.5
+Yes
+
+google-http-client-appengine-1.20.0.jar
+15.69 kB
+21
+11
+2
+1.5
+Yes
+
+google-http-client-jackson-1.20.0.jar
+6.03 kB
+12
+4
+1
+1.5
+Yes
+
+google-http-client-jackson2-1.19.0.jar
+6.72 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-jdo-1.20.0.jar
+11.34 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-protobuf-1.15.0-rc.jar
+7.09 kB
+19
+5
+2
+1.5
+Yes
+
+google-oauth-client-1.20.0.jar
+61.09 kB
+57
+47
+3
+1.5
+Yes
+
+google-oauth-client-appengine-1.20.0.jar
+7.95 kB
+17
+7
+2
+1.5
+Yes
+
+google-oauth-client-servlet-1.20.0.jar
+22.12 kB
+24
+11
+4
+1.5
+Yes
+
+protobuf-java-2.5.0.jar
+533.46 kB
+256
+246
+1
+1.5
+Yes
+
+commons-codec-1.3.jar
+46.72 kB
+42
+25
+5
+1.2
+Yes
+
+commons-logging-1.1.1.jar
+60.69 kB
+42
+28
+2
+1.1
+Yes
+
+jdo2-api-2.3-eb.jar
+192.70 kB
+226
+182
+7
+1.5
+Yes
+
+servlet-api-2.5.jar
+105.11 kB
+68
+42
+2
+1.5
+Yes
+
+transaction-api-1.1.jar
+15.07 kB
+24
+18
+2
+1.3
+Yes
+
+joda-time-2.8.2.jar
+621.99 kB
+749
+246
+7
+1.5
+Yes
+
+httpclient-4.0.1.jar
+291.04 kB
+266
+230
+22
+1.5
+Yes
+
+httpcore-4.0.1.jar
+172.89 kB
+181
+158
+10
+1.3
+Yes
+
+jackson-core-asl-1.9.11.jar
+232.13 kB
+137
+121
+8
+1.5
+Yes
+
+json-20090211.jar
+45.94 kB
+21
+19
+1
+1.6
+Yes
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+35
+6.62 MB
+5200
+4136
+172
+1.6
+34
+
+compile: 35
+compile: 6.62 MB
+compile: 5200
+compile: 4136
+compile: 172
+-
+compile: 34
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/dependency-analysis.html b/site/0.0.7/gcloud-java-examples/dependency-analysis.html
new file mode 100644
index 000000000000..76047d83bdbc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/dependency-analysis.html
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Dependencies Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Analysis
+
+
Used and declared dependencies
+
None
+
+
Used but undeclared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.gcloud
+gcloud-java-core
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.gcloud
+gcloud-java-storage
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.gcloud
+gcloud-java-datastore
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+
Unused but declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.gcloud
+gcloud-java
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/dependency-convergence.html b/site/0.0.7/gcloud-java-examples/dependency-convergence.html
new file mode 100644
index 000000000000..24f8aee7a6a4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/dependency-convergence.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+50
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 82 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/dependency-info.html b/site/0.0.7/gcloud-java-examples/dependency-info.html
new file mode 100644
index 000000000000..d19ea2170ff1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/dependency-info.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java-examples</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java-examples" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java-examples" type="jar" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java-examples', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java-examples:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java-examples "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java-examples" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/dev-activity.html b/site/0.0.7/gcloud-java-examples/dev-activity.html
new file mode 100644
index 000000000000..b98589e3aed2
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/dev-activity.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/distribution-management.html b/site/0.0.7/gcloud-java-examples/distribution-management.html
new file mode 100644
index 000000000000..9072da328a53
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/distribution-management.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/gcloud-java-examples/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/file-activity.html b/site/0.0.7/gcloud-java-examples/file-activity.html
new file mode 100644
index 000000000000..86b35267ee09
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/file-activity.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Filename
+Number of Times Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/images/accessories-text-editor.png b/site/0.0.7/gcloud-java-examples/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/add.gif b/site/0.0.7/gcloud-java-examples/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/add.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/apache-maven-project-2.png b/site/0.0.7/gcloud-java-examples/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/application-certificate.png b/site/0.0.7/gcloud-java-examples/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/application-certificate.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/close.gif b/site/0.0.7/gcloud-java-examples/images/close.gif
new file mode 100644
index 000000000000..1c26bbc5264f
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/close.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/contact-new.png b/site/0.0.7/gcloud-java-examples/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/contact-new.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/document-properties.png b/site/0.0.7/gcloud-java-examples/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/document-properties.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/drive-harddisk.png b/site/0.0.7/gcloud-java-examples/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/drive-harddisk.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/fix.gif b/site/0.0.7/gcloud-java-examples/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/fix.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/icon_error_sml.gif b/site/0.0.7/gcloud-java-examples/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/icon_help_sml.gif b/site/0.0.7/gcloud-java-examples/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/icon_info_sml.gif b/site/0.0.7/gcloud-java-examples/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/icon_success_sml.gif b/site/0.0.7/gcloud-java-examples/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/icon_warning_sml.gif b/site/0.0.7/gcloud-java-examples/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/image-x-generic.png b/site/0.0.7/gcloud-java-examples/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/image-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/internet-web-browser.png b/site/0.0.7/gcloud-java-examples/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/internet-web-browser.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-black.png b/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-white.png b/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/logos/maven-feather.png b/site/0.0.7/gcloud-java-examples/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/network-server.png b/site/0.0.7/gcloud-java-examples/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/network-server.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/package-x-generic.png b/site/0.0.7/gcloud-java-examples/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/package-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/profiles/pre-release.png b/site/0.0.7/gcloud-java-examples/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/profiles/retired.png b/site/0.0.7/gcloud-java-examples/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/profiles/retired.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/profiles/sandbox.png b/site/0.0.7/gcloud-java-examples/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/remove.gif b/site/0.0.7/gcloud-java-examples/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/remove.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/rss.png b/site/0.0.7/gcloud-java-examples/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/rss.png differ
diff --git a/site/0.0.7/gcloud-java-examples/images/update.gif b/site/0.0.7/gcloud-java-examples/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/update.gif differ
diff --git a/site/0.0.7/gcloud-java-examples/images/window-new.png b/site/0.0.7/gcloud-java-examples/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/images/window-new.png differ
diff --git a/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings-white.png b/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings.png b/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/gcloud-java-examples/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/gcloud-java-examples/index.html b/site/0.0.7/gcloud-java-examples/index.html
new file mode 100644
index 000000000000..c463b118e934
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/index.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About GCloud Java examples
+
Examples for gcloud-java.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/integration.html b/site/0.0.7/gcloud-java-examples/integration.html
new file mode 100644
index 000000000000..c3ac14aa614d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/integration.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/issue-tracking.html b/site/0.0.7/gcloud-java-examples/issue-tracking.html
new file mode 100644
index 000000000000..f20908bcf627
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/issue-tracking.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/gcloud-java-examples/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/project-info.html b/site/0.0.7/gcloud-java-examples/project-info.html
new file mode 100644
index 000000000000..5d893a2b2239
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/project-info.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Examples for gcloud-java.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependencies
+This document lists the project's dependencies and provides information on each dependency.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/project-reports.html b/site/0.0.7/gcloud-java-examples/project-reports.html
new file mode 100644
index 000000000000..a6a433c489b0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/project-reports.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/project-summary.html b/site/0.0.7/gcloud-java-examples/project-summary.html
new file mode 100644
index 000000000000..57258f1df506
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/project-summary.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java-examples
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+jar
+
+Java Version
+1.7
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/source-repository.html b/site/0.0.7/gcloud-java-examples/source-repository.html
new file mode 100644
index 000000000000..6b3ef70df287
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/source-repository.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/surefire-report.html b/site/0.0.7/gcloud-java-examples/surefire-report.html
new file mode 100644
index 000000000000..36128af356bc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/surefire-report.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-examples/team-list.html b/site/0.0.7/gcloud-java-examples/team-list.html
new file mode 100644
index 000000000000..d35412f9605f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-examples/team-list.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+ GCloud Java examples – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java examples
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/changelog.html b/site/0.0.7/gcloud-java-storage/changelog.html
new file mode 100644
index 000000000000..f23b13476e2e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/changelog.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/checkstyle.html b/site/0.0.7/gcloud-java-storage/checkstyle.html
new file mode 100644
index 000000000000..0528b1238afd
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/checkstyle.html
@@ -0,0 +1,712 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Checkstyle Results
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Checkstyle Results
+
The following document contains the results of Checkstyle 6.8.1 with checkstyle.xml ruleset.
+
+
Summary
+
+
+Files
+ Info
+ Warnings
+ Errors
+
+22
+0
+40
+0
+
+
+
Rules
+
+
+Category
+Rule
+Violations
+Severity
+
+coding
+OverloadMethodsDeclarationOrder
+2
+ Warning
+
+
+VariableDeclarationUsageDistance
+1
+ Warning
+
+indentation
+Indentation
+
+throwsIndent: "4"
+arrayInitIndent: "2"
+caseIndent: "2"
+basicOffset: "2"
+braceAdjustment: "0"
+lineWrappingIndentation: "4"
+1
+ Warning
+
+javadoc
+JavadocMethod
+
+scope: "public"
+allowMissingThrowsTags: "true"
+allowThrowsTagsForSubclasses: "true"
+allowMissingReturnTag: "true"
+allowMissingParamTags: "true"
+minLineCount: "2"
+allowedAnnotations: "Override, Test"
+11
+ Warning
+
+
+JavadocParagraph
+3
+ Warning
+
+modifier
+ModifierOrder
+4
+ Warning
+
+naming
+MemberName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9]*$"
+3
+ Warning
+
+
+MethodName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9_]*$"
+2
+ Warning
+
+
+ParameterName
+
+format: "^[a-z][a-z0-9][a-zA-Z0-9]*$"
+9
+ Warning
+
+sizes
+LineLength
+
+max: "100"
+ignorePattern: "^package.*|^import.*|a href|href|http://|https://|ftp://"
+2
+ Warning
+
+whitespace
+OperatorWrap
+
+tokens: "BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR "
+option: "NL"
+1
+ Warning
+
+
Details
+
+
+
+
+
com/google/gcloud/storage/BatchResponse.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+116
+
+
com/google/gcloud/storage/BlobInfo.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+224
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+344
+
+
com/google/gcloud/storage/BlobReadChannel.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+26
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+28
+
+
com/google/gcloud/storage/BlobWriteChannel.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocParagraph
+Empty line should be followed by <p> tag on the next line.
+25
+
+
com/google/gcloud/storage/BucketInfo.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+modifier
+ModifierOrder
+'abstract' modifier out of order with the JLS suggestions.
+89
+
+ Warning
+modifier
+ModifierOrder
+'static' modifier out of order with the JLS suggestions.
+399
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+589
+
+
com/google/gcloud/storage/Cors.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+76
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+84
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+171
+
+
com/google/gcloud/storage/ListResult.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+40
+
+
com/google/gcloud/storage/Option.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+SummaryJavadoc
+First sentence should be present.
+27
+
+
com/google/gcloud/storage/StorageException.java
+
+
+Severity
+Category
+Rule
+Message
+Line
+
+ Warning
+javadoc
+JavadocMethod
+Missing a Javadoc comment.
+32
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/checkstyle.rss b/site/0.0.7/gcloud-java-storage/checkstyle.rss
new file mode 100644
index 000000000000..ad5de2858414
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/checkstyle.rss
@@ -0,0 +1,362 @@
+
+
+
+
+ GCloud Java storage - Checkstyle report
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-storage
+ GCloud Java storage - Checkstyle report
+ en-us
+ ©2015 Google
+ -
+
File: 22,
+ Errors: 0,
+ Warnings: 40,
+ Infos: 0
+
+ https://github.com/GoogleCloudPlatform/gcloud-java/gcloud-java-storage/checkstyle.html
+
+ Click here for the full Checkstyle report.
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html
new file mode 100644
index 000000000000..04594c9e0d86
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.DefaultStorageRpc.html
@@ -0,0 +1,796 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.DefaultStorageRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+ package com.google.gcloud.spi;
+ 16
+
+ 17
+ import static com.google.gcloud.spi.StorageRpc.Option.DELIMITER;
+ 18
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_MATCH;
+ 19
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_NOT_MATCH;
+ 20
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_MATCH;
+ 21
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_NOT_MATCH;
+ 22
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_MATCH;
+ 23
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_NOT_MATCH;
+ 24
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_MATCH;
+ 25
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_NOT_MATCH;
+ 26
+ import static com.google.gcloud.spi.StorageRpc.Option.MAX_RESULTS;
+ 27
+ import static com.google.gcloud.spi.StorageRpc.Option.PAGE_TOKEN;
+ 28
+ import static com.google.gcloud.spi.StorageRpc.Option.PREDEFINED_ACL;
+ 29
+ import static com.google.gcloud.spi.StorageRpc.Option.PREDEFINED_DEFAULT_OBJECT_ACL;
+ 30
+ import static com.google.gcloud.spi.StorageRpc.Option.PREFIX;
+ 31
+ import static com.google.gcloud.spi.StorageRpc.Option.VERSIONS;
+ 32
+
+ 33
+ import com.google.api.client.googleapis.batch.json.JsonBatchCallback;
+ 34
+ import com.google.api.client.googleapis.json.GoogleJsonError;
+ 35
+ import com.google.api.client.googleapis.json.GoogleJsonResponseException;
+ 36
+ import com.google.api.client.googleapis.media.MediaHttpDownloader;
+ 37
+ import com.google.api.client.http.ByteArrayContent;
+ 38
+ import com.google.api.client.http.GenericUrl;
+ 39
+ import com.google.api.client.http.HttpHeaders;
+ 40
+ import com.google.api.client.http.HttpRequest;
+ 41
+ import com.google.api.client.http.HttpRequestFactory;
+ 42
+ import com.google.api.client.http.HttpRequestInitializer;
+ 43
+ import com.google.api.client.http.HttpResponse;
+ 44
+ import com.google.api.client.http.HttpResponseException;
+ 45
+ import com.google.api.client.http.HttpTransport;
+ 46
+ import com.google.api.client.http.json.JsonHttpContent;
+ 47
+ import com.google.api.client.json.JsonFactory;
+ 48
+ import com.google.api.client.json.jackson.JacksonFactory;
+ 49
+ import com.google.api.services.storage.Storage;
+ 50
+ import com.google.api.services.storage.Storage.Objects.Get;
+ 51
+ import com.google.api.services.storage.Storage.Objects.Insert;
+ 52
+ import com.google.api.services.storage.model.Bucket;
+ 53
+ import com.google.api.services.storage.model.Buckets;
+ 54
+ import com.google.api.services.storage.model.ComposeRequest;
+ 55
+ import com.google.api.services.storage.model.ComposeRequest.SourceObjects.ObjectPreconditions;
+ 56
+ import com.google.api.services.storage.model.Objects;
+ 57
+ import com.google.api.services.storage.model.StorageObject;
+ 58
+ import com.google.common.base.MoreObjects;
+ 59
+ import com.google.common.collect.ImmutableSet;
+ 60
+ import com.google.common.collect.Maps;
+ 61
+ import com.google.gcloud.storage.StorageException;
+ 62
+ import com.google.gcloud.storage.StorageOptions;
+ 63
+
+ 64
+ import java.io.ByteArrayOutputStream;
+ 65
+ import java.io.IOException;
+ 66
+ import java.util.ArrayList;
+ 67
+ import java.util.List;
+ 68
+ import java.util.Map;
+ 69
+ import java.util.Set;
+ 70
+
+ 71 0 public class DefaultStorageRpc implements StorageRpc {
+ 72
+
+ 73
+ public static final String DEFAULT_PROJECTION = "full" ;
+ 74
+ private final StorageOptions options;
+ 75
+ private final Storage storage;
+ 76
+
+ 77
+
+ 78 0 private static final Set<Integer> RETRYABLE_CODES = ImmutableSet.of(504, 503, 502, 500, 408);
+ 79
+
+ 80 0 public DefaultStorageRpc(StorageOptions options) {
+ 81 0 HttpTransport transport = options.httpTransportFactory().create();
+ 82 0 HttpRequestInitializer initializer = options.httpRequestInitializer();
+ 83 0 this .options = options;
+ 84 0 storage = new Storage.Builder(transport, new JacksonFactory(), initializer)
+ 85 0 .setRootUrl(options.host())
+ 86 0 .setApplicationName("gcloud-java" )
+ 87 0 .build();
+ 88 0 }
+ 89
+
+ 90
+ private static StorageException translate(IOException exception) {
+ 91
+ StorageException translated;
+ 92 0 if (exception instanceof GoogleJsonResponseException) {
+ 93 0 translated = translate(((GoogleJsonResponseException) exception).getDetails());
+ 94
+ } else {
+ 95 0 translated = new StorageException(0, exception.getMessage(), false );
+ 96
+ }
+ 97 0 translated.initCause(exception);
+ 98 0 return translated;
+ 99
+ }
+ 100
+
+ 101
+ private static StorageException translate(GoogleJsonError exception) {
+ 102 0 boolean retryable = RETRYABLE_CODES.contains(exception.getCode())
+ 103 0 || "InternalError" .equals(exception.getMessage());
+ 104 0 return new StorageException(exception.getCode(), exception.getMessage(), retryable);
+ 105
+ }
+ 106
+
+ 107
+ @Override
+ 108
+ public Bucket create(Bucket bucket, Map<Option, ?> options) throws StorageException {
+ 109
+ try {
+ 110 0 return storage.buckets()
+ 111 0 .insert(this .options.projectId(), bucket)
+ 112 0 .setProjection(DEFAULT_PROJECTION)
+ 113 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 114 0 .setPredefinedDefaultObjectAcl(PREDEFINED_DEFAULT_OBJECT_ACL.getString(options))
+ 115 0 .execute();
+ 116 0 } catch (IOException ex) {
+ 117 0 throw translate(ex);
+ 118
+ }
+ 119
+ }
+ 120
+
+ 121
+ @Override
+ 122
+ public StorageObject create(StorageObject storageObject, final byte [] content,
+ 123
+ Map<Option, ?> options) throws StorageException {
+ 124
+ try {
+ 125 0 return storage.objects()
+ 126 0 .insert(storageObject.getBucket(), storageObject,
+ 127 0 new ByteArrayContent(storageObject.getContentType(), content))
+ 128 0 .setProjection(DEFAULT_PROJECTION)
+ 129 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 130 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 131 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 132 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 133 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options))
+ 134 0 .execute();
+ 135 0 } catch (IOException ex) {
+ 136 0 throw translate(ex);
+ 137
+ }
+ 138
+ }
+ 139
+
+ 140
+ @Override
+ 141
+ public Tuple<String, Iterable<Bucket>> list(Map<Option, ?> options) {
+ 142
+ try {
+ 143 0 Buckets buckets = storage.buckets()
+ 144 0 .list(this .options.projectId())
+ 145 0 .setProjection(DEFAULT_PROJECTION)
+ 146 0 .setPrefix(PREFIX.getString(options))
+ 147 0 .setMaxResults(MAX_RESULTS.getLong(options))
+ 148 0 .setPageToken(PAGE_TOKEN.getString(options))
+ 149 0 .execute();
+ 150 0 return Tuple.<String, Iterable<Bucket>>of(buckets.getNextPageToken(), buckets.getItems());
+ 151 0 } catch (IOException ex) {
+ 152 0 throw translate(ex);
+ 153
+ }
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ public Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?> options) {
+ 158
+ try {
+ 159 0 Objects objects = storage.objects()
+ 160 0 .list(bucket)
+ 161 0 .setProjection(DEFAULT_PROJECTION)
+ 162 0 .setVersions(VERSIONS.getBoolean(options))
+ 163 0 .setDelimiter(DELIMITER.getString(options))
+ 164 0 .setPrefix(PREFIX.getString(options))
+ 165 0 .setMaxResults(MAX_RESULTS.getLong(options))
+ 166 0 .setPageToken(PAGE_TOKEN.getString(options))
+ 167 0 .execute();
+ 168 0 return Tuple.<String, Iterable<StorageObject>>of(
+ 169 0 objects.getNextPageToken(), objects.getItems());
+ 170 0 } catch (IOException ex) {
+ 171 0 throw translate(ex);
+ 172
+ }
+ 173
+ }
+ 174
+
+ 175
+ @Override
+ 176
+ public Bucket get(Bucket bucket, Map<Option, ?> options) {
+ 177
+ try {
+ 178 0 return storage.buckets()
+ 179 0 .get(bucket.getName())
+ 180 0 .setProjection(DEFAULT_PROJECTION)
+ 181 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 182 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 183 0 .execute();
+ 184 0 } catch (IOException ex) {
+ 185 0 throw translate(ex);
+ 186
+ }
+ 187
+ }
+ 188
+
+ 189
+ @Override
+ 190
+ public StorageObject get(StorageObject object, Map<Option, ?> options) {
+ 191
+ try {
+ 192 0 return getRequest(object, options).execute();
+ 193 0 } catch (IOException ex) {
+ 194 0 throw translate(ex);
+ 195
+ }
+ 196
+ }
+ 197
+
+ 198
+ private Storage.Objects.Get getRequest(StorageObject object, Map<Option, ?> options)
+ 199
+ throws IOException {
+ 200 0 return storage.objects()
+ 201 0 .get(object.getBucket(), object.getName())
+ 202 0 .setProjection(DEFAULT_PROJECTION)
+ 203 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 204 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 205 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 206 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 207
+ }
+ 208
+
+ 209
+ @Override
+ 210
+ public Bucket patch(Bucket bucket, Map<Option, ?> options) {
+ 211
+ try {
+ 212 0 return storage.buckets()
+ 213 0 .patch(bucket.getName(), bucket)
+ 214 0 .setProjection(DEFAULT_PROJECTION)
+ 215 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 216 0 .setPredefinedDefaultObjectAcl(PREDEFINED_DEFAULT_OBJECT_ACL.getString(options))
+ 217 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 218 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 219 0 .execute();
+ 220 0 } catch (IOException ex) {
+ 221 0 throw translate(ex);
+ 222
+ }
+ 223
+ }
+ 224
+
+ 225
+ @Override
+ 226
+ public StorageObject patch(StorageObject storageObject, Map<Option, ?> options) {
+ 227
+ try {
+ 228 0 return patchRequest(storageObject, options).execute();
+ 229 0 } catch (IOException ex) {
+ 230 0 throw translate(ex);
+ 231
+ }
+ 232
+ }
+ 233
+
+ 234
+ private Storage.Objects.Patch patchRequest(StorageObject storageObject, Map<Option, ?> options)
+ 235
+ throws IOException {
+ 236 0 return storage.objects()
+ 237 0 .patch(storageObject.getBucket(), storageObject.getName(), storageObject)
+ 238 0 .setProjection(DEFAULT_PROJECTION)
+ 239 0 .setPredefinedAcl(PREDEFINED_ACL.getString(options))
+ 240 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 241 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 242 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 243 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 244
+ }
+ 245
+
+ 246
+ @Override
+ 247
+ public boolean delete(Bucket bucket, Map<Option, ?> options) {
+ 248
+ try {
+ 249 0 storage.buckets()
+ 250 0 .delete(bucket.getName())
+ 251 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 252 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 253 0 .execute();
+ 254 0 return true ;
+ 255 0 } catch (IOException ex) {
+ 256 0 StorageException serviceException = translate(ex);
+ 257 0 if (serviceException.code() == 404) {
+ 258 0 return false ;
+ 259
+ }
+ 260 0 throw serviceException;
+ 261
+ }
+ 262
+ }
+ 263
+
+ 264
+ @Override
+ 265
+ public boolean delete(StorageObject blob, Map<Option, ?> options) {
+ 266
+ try {
+ 267 0 deleteRequest(blob, options).execute();
+ 268 0 return true ;
+ 269 0 } catch (IOException ex) {
+ 270 0 StorageException serviceException = translate(ex);
+ 271 0 if (serviceException.code() == 404) {
+ 272 0 return false ;
+ 273
+ }
+ 274 0 throw serviceException;
+ 275
+ }
+ 276
+ }
+ 277
+
+ 278
+ private Storage.Objects.Delete deleteRequest(StorageObject blob, Map<Option, ?> options)
+ 279
+ throws IOException {
+ 280 0 return storage.objects()
+ 281 0 .delete(blob.getBucket(), blob.getName())
+ 282 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 283 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 284 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 285 0 .setIfGenerationMatch(100L)
+ 286 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 287
+ }
+ 288
+
+ 289
+ @Override
+ 290
+ public StorageObject compose(Iterable<StorageObject> sources, StorageObject target,
+ 291
+ Map<Option, ?> targetOptions) throws StorageException {
+ 292 0 ComposeRequest request = new ComposeRequest();
+ 293 0 if (target.getContentType() == null ) {
+ 294
+
+ 295 0 target.setContentType("application/octet-stream" );
+ 296
+ }
+ 297 0 request.setDestination(target);
+ 298 0 List<ComposeRequest.SourceObjects> sourceObjects = new ArrayList<>();
+ 299 0 for (StorageObject source : sources) {
+ 300 0 ComposeRequest.SourceObjects sourceObject = new ComposeRequest.SourceObjects();
+ 301 0 sourceObject.setName(source.getName());
+ 302 0 Long generation = source.getGeneration();
+ 303 0 if (generation != null ) {
+ 304 0 sourceObject.setGeneration(generation);
+ 305 0 sourceObject.setObjectPreconditions(
+ 306 0 new ObjectPreconditions().setIfGenerationMatch(generation));
+ 307
+ }
+ 308 0 sourceObjects.add(sourceObject);
+ 309 0 }
+ 310 0 request.setSourceObjects(sourceObjects);
+ 311
+ try {
+ 312
+
+ 313 0 return storage.objects()
+ 314 0 .compose(target.getBucket(), target.getName(), request)
+ 315 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions))
+ 316 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions))
+ 317 0 .execute();
+ 318 0 } catch (IOException ex) {
+ 319 0 throw translate(ex);
+ 320
+ }
+ 321
+ }
+ 322
+
+ 323
+ @Override
+ 324
+ public StorageObject copy(StorageObject source, Map<Option, ?> sourceOptions,
+ 325
+ StorageObject target, Map<Option, ?> targetOptions) throws StorageException {
+ 326
+ try {
+ 327 0 return storage
+ 328 0 .objects()
+ 329 0 .copy(source.getBucket(), source.getName(), target.getBucket(), target.getName(),
+ 330 0 target.getContentType() != null ? target : null )
+ 331 0 .setProjection(DEFAULT_PROJECTION)
+ 332 0 .setIfMetagenerationMatch(IF_SOURCE_METAGENERATION_MATCH.getLong(sourceOptions))
+ 333 0 .setIfMetagenerationNotMatch(IF_SOURCE_METAGENERATION_NOT_MATCH.getLong(sourceOptions))
+ 334 0 .setIfGenerationMatch(IF_SOURCE_GENERATION_MATCH.getLong(sourceOptions))
+ 335 0 .setIfGenerationNotMatch(IF_SOURCE_GENERATION_NOT_MATCH.getLong(sourceOptions))
+ 336 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(targetOptions))
+ 337 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(targetOptions))
+ 338 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(targetOptions))
+ 339 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(targetOptions))
+ 340 0 .execute();
+ 341 0 } catch (IOException ex) {
+ 342 0 throw translate(ex);
+ 343
+ }
+ 344
+ }
+ 345
+
+ 346
+ @Override
+ 347
+ public byte [] load(StorageObject from, Map<Option, ?> options)
+ 348
+ throws StorageException {
+ 349
+ try {
+ 350 0 Storage.Objects.Get getRequest = storage.objects()
+ 351 0 .get(from.getBucket(), from.getName())
+ 352 0 .setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 353 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 354 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 355 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 356 0 ByteArrayOutputStream out = new ByteArrayOutputStream();
+ 357 0 getRequest.getMediaHttpDownloader().setDirectDownloadEnabled(true );
+ 358 0 getRequest.executeMediaAndDownloadTo(out);
+ 359 0 return out.toByteArray();
+ 360 0 } catch (IOException ex) {
+ 361 0 throw translate(ex);
+ 362
+ }
+ 363
+ }
+ 364
+
+ 365
+ @Override
+ 366
+ public BatchResponse batch(BatchRequest request) throws StorageException {
+ 367 0 com.google.api.client.googleapis.batch.BatchRequest batch = storage.batch();
+ 368
+ final Map<StorageObject, Tuple<Boolean, StorageException>> deletes =
+ 369 0 Maps.newConcurrentMap();
+ 370
+ final Map<StorageObject, Tuple<StorageObject, StorageException>> updates =
+ 371 0 Maps.newConcurrentMap();
+ 372
+ final Map<StorageObject, Tuple<StorageObject, StorageException>> gets =
+ 373 0 Maps.newConcurrentMap();
+ 374
+ try {
+ 375 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toDelete) {
+ 376 0 deleteRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<Void>() {
+ 377
+ @Override
+ 378
+ public void onSuccess(Void ignore, HttpHeaders responseHeaders) {
+ 379 0 deletes.put(tuple.x(), Tuple.<Boolean, StorageException>of(Boolean.TRUE, null ));
+ 380 0 }
+ 381
+
+ 382
+ @Override
+ 383
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 384 0 deletes.put(tuple.x(), Tuple.<Boolean, StorageException>of(null , translate(e)));
+ 385 0 }
+ 386
+ });
+ 387 0 }
+ 388 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toUpdate) {
+ 389 0 patchRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<StorageObject>() {
+ 390
+ @Override
+ 391
+ public void onSuccess(StorageObject storageObject, HttpHeaders responseHeaders) {
+ 392 0 updates.put(tuple.x(),
+ 393 0 Tuple.<StorageObject, StorageException>of(storageObject, null ));
+ 394 0 }
+ 395
+
+ 396
+ @Override
+ 397
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 398 0 updates.put(tuple.x(),
+ 399 0 Tuple.<StorageObject, StorageException>of(null , translate(e)));
+ 400 0 }
+ 401
+ });
+ 402 0 }
+ 403 0 for (final Tuple<StorageObject, Map<Option, ?>> tuple : request.toGet) {
+ 404 0 getRequest(tuple.x(), tuple.y()).queue(batch, new JsonBatchCallback<StorageObject>() {
+ 405
+ @Override
+ 406
+ public void onSuccess(StorageObject storageObject, HttpHeaders responseHeaders) {
+ 407 0 gets.put(tuple.x(),
+ 408 0 Tuple.<StorageObject, StorageException>of(storageObject, null ));
+ 409 0 }
+ 410
+
+ 411
+ @Override
+ 412
+ public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) {
+ 413 0 gets.put(tuple.x(),
+ 414 0 Tuple.<StorageObject, StorageException>of(null , translate(e)));
+ 415 0 }
+ 416
+ });
+ 417 0 }
+ 418 0 batch.execute();
+ 419 0 } catch (IOException ex) {
+ 420 0 throw translate(ex);
+ 421 0 }
+ 422 0 return new BatchResponse(deletes, updates, gets);
+ 423
+ }
+ 424
+
+ 425
+ @Override
+ 426
+ public byte [] read(StorageObject from, Map<Option, ?> options, long position, int bytes)
+ 427
+ throws StorageException {
+ 428
+ try {
+ 429 0 Get req = storage.objects().get(from.getBucket(), from.getName());
+ 430 0 req.setIfMetagenerationMatch(IF_METAGENERATION_MATCH.getLong(options))
+ 431 0 .setIfMetagenerationNotMatch(IF_METAGENERATION_NOT_MATCH.getLong(options))
+ 432 0 .setIfGenerationMatch(IF_GENERATION_MATCH.getLong(options))
+ 433 0 .setIfGenerationNotMatch(IF_GENERATION_NOT_MATCH.getLong(options));
+ 434 0 MediaHttpDownloader downloader = req.getMediaHttpDownloader();
+ 435
+
+ 436 0 downloader.setContentRange(position, (int ) position + bytes);
+ 437 0 downloader.setDirectDownloadEnabled(true );
+ 438 0 ByteArrayOutputStream output = new ByteArrayOutputStream();
+ 439 0 req.executeMediaAndDownloadTo(output);
+ 440 0 return output.toByteArray();
+ 441 0 } catch (IOException ex) {
+ 442 0 throw translate(ex);
+ 443
+ }
+ 444
+ }
+ 445
+
+ 446
+ @Override
+ 447
+ public void write(String uploadId, byte [] toWrite, int toWriteOffset, StorageObject dest,
+ 448
+ long destOffset, int length, boolean last) throws StorageException {
+ 449
+ try {
+ 450 0 GenericUrl url = new GenericUrl(uploadId);
+ 451 0 HttpRequest httpRequest = storage.getRequestFactory().buildPostRequest(url,
+ 452
+ new ByteArrayContent(null , toWrite, toWriteOffset, length));
+ 453 0 long limit = destOffset + length;
+ 454 0 StringBuilder range = new StringBuilder("bytes " );
+ 455 0 range.append(destOffset).append('-' ).append(limit - 1).append('/' );
+ 456 0 if (last) {
+ 457 0 range.append(limit);
+ 458
+ } else {
+ 459 0 range.append('*' );
+ 460
+ }
+ 461 0 httpRequest.getHeaders().setContentRange(range.toString());
+ 462
+ int code;
+ 463
+ String message;
+ 464 0 IOException exception = null ;
+ 465
+ try {
+ 466 0 HttpResponse response = httpRequest.execute();
+ 467 0 code = response.getStatusCode();
+ 468 0 message = response.getStatusMessage();
+ 469 0 } catch (HttpResponseException ex) {
+ 470 0 exception = ex;
+ 471 0 code = ex.getStatusCode();
+ 472 0 message = ex.getStatusMessage();
+ 473 0 }
+ 474 0 if (!last && code != 308 || last && !(code == 200 || code == 201)) {
+ 475 0 if (exception != null ) {
+ 476 0 throw exception;
+ 477
+ }
+ 478 0 GoogleJsonError error = new GoogleJsonError();
+ 479 0 error.setCode(code);
+ 480 0 error.setMessage(message);
+ 481 0 throw translate(error);
+ 482
+ }
+ 483 0 } catch (IOException ex) {
+ 484 0 throw translate(ex);
+ 485 0 }
+ 486 0 }
+ 487
+
+ 488
+ @Override
+ 489
+ public String open(StorageObject object, Map<Option, ?> options)
+ 490
+ throws StorageException {
+ 491
+ try {
+ 492 0 Insert req = storage.objects().insert(object.getBucket(), object);
+ 493 0 GenericUrl url = req.buildHttpRequest().getUrl();
+ 494 0 String scheme = url.getScheme();
+ 495 0 String host = url.getHost();
+ 496 0 String path = "/upload" + url.getRawPath();
+ 497 0 url = new GenericUrl(scheme + "://" + host + path);
+ 498 0 url.set("uploadType" , "resumable" );
+ 499 0 url.set("name" , object.getName());
+ 500 0 for (Option option : options.keySet()) {
+ 501 0 Object content = option.get(options);
+ 502 0 if (content != null ) {
+ 503 0 url.set(option.value(), content.toString());
+ 504
+ }
+ 505 0 }
+ 506 0 JsonFactory jsonFactory = storage.getJsonFactory();
+ 507 0 HttpRequestFactory requestFactory = storage.getRequestFactory();
+ 508 0 HttpRequest httpRequest =
+ 509 0 requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, object));
+ 510 0 httpRequest.getHeaders().set("X-Upload-Content-Type" ,
+ 511 0 MoreObjects.firstNonNull(object.getContentType(), "application/octet-stream" ));
+ 512 0 HttpResponse response = httpRequest.execute();
+ 513 0 if (response.getStatusCode() != 200) {
+ 514 0 GoogleJsonError error = new GoogleJsonError();
+ 515 0 error.setCode(response.getStatusCode());
+ 516 0 error.setMessage(response.getStatusMessage());
+ 517 0 throw translate(error);
+ 518
+ }
+ 519 0 return response.getHeaders().getLocation();
+ 520 0 } catch (IOException ex) {
+ 521 0 throw translate(ex);
+ 522
+ }
+ 523
+ }
+ 524
+ }
+ 525
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpc.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpc.html
new file mode 100644
index 000000000000..35452fd7c908
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpc.html
@@ -0,0 +1,336 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.StorageRpc
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.api.services.storage.model.Bucket;
+ 20
+ import com.google.api.services.storage.model.StorageObject;
+ 21
+ import com.google.common.collect.ImmutableList;
+ 22
+ import com.google.common.collect.ImmutableMap;
+ 23
+ import com.google.gcloud.storage.StorageException;
+ 24
+
+ 25
+ import java.util.List;
+ 26
+ import java.util.Map;
+ 27
+
+ 28
+ public interface StorageRpc {
+ 29
+
+ 30
+
+ 31 0 enum Option {
+ 32 0 PREDEFINED_ACL("predefinedAcl" ),
+ 33 0 PREDEFINED_DEFAULT_OBJECT_ACL("predefinedDefaultObjectAcl" ),
+ 34 0 IF_METAGENERATION_MATCH("ifMetagenerationMatch" ),
+ 35 0 IF_METAGENERATION_NOT_MATCH("ifMetagenerationNotMatch" ),
+ 36 0 IF_GENERATION_NOT_MATCH("ifGenerationMatch" ),
+ 37 0 IF_GENERATION_MATCH("ifGenerationNotMatch" ),
+ 38 0 IF_SOURCE_METAGENERATION_MATCH("ifSourceMetagenerationMatch" ),
+ 39 0 IF_SOURCE_METAGENERATION_NOT_MATCH("ifSourceMetagenerationNotMatch" ),
+ 40 0 IF_SOURCE_GENERATION_MATCH("ifSourceGenerationMatch" ),
+ 41 0 IF_SOURCE_GENERATION_NOT_MATCH("ifSourceGenerationNotMatch" ),
+ 42 0 PREFIX("prefix" ),
+ 43 0 MAX_RESULTS("maxResults" ),
+ 44 0 PAGE_TOKEN("pageToken" ),
+ 45 0 DELIMITER("delimiter" ),
+ 46 0 VERSIONS("versions" );
+ 47
+
+ 48
+ private final String value;
+ 49
+
+ 50
+ Option(String value) {
+ 51
+ this .value = value;
+ 52
+ }
+ 53
+
+ 54
+ public String value() {
+ 55 0 return value;
+ 56
+ }
+ 57
+
+ 58
+ @SuppressWarnings("unchecked" )
+ 59
+ <T> T get(Map<Option, ?> options) {
+ 60 0 return (T) options.get(this );
+ 61
+ }
+ 62
+
+ 63
+ String getString(Map<Option, ?> options) {
+ 64 0 return get(options);
+ 65
+ }
+ 66
+
+ 67
+ Long getLong(Map<Option, ?> options) {
+ 68 0 return get(options);
+ 69
+ }
+ 70
+
+ 71
+ Boolean getBoolean(Map<Option, ?> options) {
+ 72 0 return get(options);
+ 73
+ }
+ 74
+ }
+ 75
+
+ 76
+ class Tuple<X, Y> {
+ 77
+
+ 78
+ private final X x;
+ 79
+ private final Y y;
+ 80
+
+ 81
+ private Tuple(X x, Y y) {
+ 82
+ this .x = x;
+ 83
+ this .y = y;
+ 84
+ }
+ 85
+
+ 86
+ public static <X, Y> Tuple<X, Y> of(X x, Y y) {
+ 87 0 return new Tuple<>(x, y);
+ 88
+ }
+ 89
+
+ 90
+ public X x() {
+ 91 0 return x;
+ 92
+ }
+ 93
+
+ 94
+ public Y y() {
+ 95 0 return y;
+ 96
+ }
+ 97
+ }
+ 98
+
+ 99
+ class BatchRequest {
+ 100
+
+ 101
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toDelete;
+ 102
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toUpdate;
+ 103
+ public final List<Tuple<StorageObject, Map<Option, ?>>> toGet;
+ 104
+
+ 105
+ public BatchRequest(Iterable<Tuple<StorageObject, Map<Option, ?>>> toDelete,
+ 106
+ Iterable<Tuple<StorageObject, Map<Option, ?>>> toUpdate,
+ 107 0 Iterable<Tuple<StorageObject, Map<Option, ?>>> toGet) {
+ 108 0 this .toDelete = ImmutableList.copyOf(toDelete);
+ 109 0 this .toUpdate = ImmutableList.copyOf(toUpdate);
+ 110 0 this .toGet = ImmutableList.copyOf(toGet);
+ 111 0 }
+ 112
+ }
+ 113
+
+ 114
+ class BatchResponse {
+ 115
+
+ 116
+ public final Map<StorageObject, Tuple<Boolean, StorageException>> deletes;
+ 117
+ public final Map<StorageObject, Tuple<StorageObject, StorageException>> updates;
+ 118
+ public final Map<StorageObject, Tuple<StorageObject, StorageException>> gets;
+ 119
+
+ 120
+ public BatchResponse(Map<StorageObject, Tuple<Boolean, StorageException>> deletes,
+ 121
+ Map<StorageObject, Tuple<StorageObject, StorageException>> updates,
+ 122 0 Map<StorageObject, Tuple<StorageObject, StorageException>> gets) {
+ 123 0 this .deletes = ImmutableMap.copyOf(deletes);
+ 124 0 this .updates = ImmutableMap.copyOf(updates);
+ 125 0 this .gets = ImmutableMap.copyOf(gets);
+ 126 0 }
+ 127
+ }
+ 128
+
+ 129
+ Bucket create(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 130
+
+ 131
+ StorageObject create(StorageObject object, byte [] content, Map<Option, ?> options)
+ 132
+ throws StorageException;
+ 133
+
+ 134
+ Tuple<String, Iterable<Bucket>> list(Map<Option, ?> options) throws StorageException;
+ 135
+
+ 136
+ Tuple<String, Iterable<StorageObject>> list(String bucket, Map<Option, ?> options)
+ 137
+ throws StorageException;
+ 138
+
+ 139
+ Bucket get(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 140
+
+ 141
+ StorageObject get(StorageObject object, Map<Option, ?> options)
+ 142
+ throws StorageException;
+ 143
+
+ 144
+ Bucket patch(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 145
+
+ 146
+ StorageObject patch(StorageObject storageObject, Map<Option, ?> options)
+ 147
+ throws StorageException;
+ 148
+
+ 149
+ boolean delete(Bucket bucket, Map<Option, ?> options) throws StorageException;
+ 150
+
+ 151
+ boolean delete(StorageObject object, Map<Option, ?> options) throws StorageException;
+ 152
+
+ 153
+ BatchResponse batch(BatchRequest request) throws StorageException;
+ 154
+
+ 155
+ StorageObject compose(Iterable<StorageObject> sources, StorageObject target,
+ 156
+ Map<Option, ?> targetOptions) throws StorageException;
+ 157
+
+ 158
+ StorageObject copy(StorageObject source, Map<Option, ?> sourceOptions,
+ 159
+ StorageObject target, Map<Option, ?> targetOptions) throws StorageException;
+ 160
+
+ 161
+ byte [] load(StorageObject storageObject, Map<Option, ?> options)
+ 162
+ throws StorageException;
+ 163
+
+ 164
+ byte [] read(StorageObject from, Map<Option, ?> options, long position, int bytes)
+ 165
+ throws StorageException;
+ 166
+
+ 167
+ String open(StorageObject object, Map<Option, ?> options) throws StorageException;
+ 168
+
+ 169
+ void write(String uploadId, byte [] toWrite, int toWriteOffset, StorageObject dest,
+ 170
+ long destOffset, int length, boolean last) throws StorageException;
+ 171
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpcFactory.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpcFactory.html
new file mode 100644
index 000000000000..cb76dc24a650
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.spi.StorageRpcFactory.html
@@ -0,0 +1,78 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.spi.StorageRpcFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.spi;
+ 18
+
+ 19
+ import com.google.gcloud.storage.StorageOptions;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public interface StorageRpcFactory extends ServiceRpcFactory<StorageRpc, StorageOptions> {
+ 26
+ }
+ 27
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Acl.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Acl.html
new file mode 100644
index 000000000000..5b5198c9c645
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Acl.html
@@ -0,0 +1,497 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Acl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.api.services.storage.model.BucketAccessControl;
+ 20
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.Objects;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class Acl implements Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = 6435575339887912222L;
+ 31
+
+ 32
+ private final Entity entity;
+ 33
+ private final Role role;
+ 34
+
+ 35 0 public enum Role {
+ 36 0 OWNER, READER, WRITER
+ 37
+ }
+ 38
+
+ 39
+ public static abstract class Entity implements Serializable {
+ 40
+
+ 41
+ private static final long serialVersionUID = -2707407252771255840L;
+ 42
+
+ 43
+ private final Type type;
+ 44
+ private final String value;
+ 45
+
+ 46 0 public enum Type {
+ 47 0 DOMAIN, GROUP, USER, PROJECT, UNKNOWN
+ 48
+ }
+ 49
+
+ 50
+ Entity(Type type, String value) {
+ 51
+ this .type = type;
+ 52
+ this .value = value;
+ 53
+ }
+ 54
+
+ 55
+ public Type type() {
+ 56 0 return type;
+ 57
+ }
+ 58
+
+ 59
+ protected String value() {
+ 60 0 return value;
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public boolean equals(Object o) {
+ 65 0 if (this == o) {
+ 66 0 return true ;
+ 67
+ }
+ 68 0 if (o == null || getClass() != o.getClass()) {
+ 69 0 return false ;
+ 70
+ }
+ 71 0 Entity entity = (Entity) o;
+ 72 0 return Objects.equals(type, entity.type) &&
+ 73 0 Objects.equals(value, entity.value);
+ 74
+ }
+ 75
+
+ 76
+ @Override
+ 77
+ public int hashCode() {
+ 78 0 return Objects.hash(type, value);
+ 79
+ }
+ 80
+
+ 81
+ @Override
+ 82
+ public String toString() {
+ 83 0 return toPb();
+ 84
+ }
+ 85
+
+ 86
+ String toPb() {
+ 87 0 return type.name().toLowerCase() + "-" + value();
+ 88
+ }
+ 89
+
+ 90
+ static Entity fromPb(String entity) {
+ 91 0 if (entity.startsWith("user-" )) {
+ 92 0 return new User(entity.substring(5));
+ 93
+ }
+ 94 0 if (entity.equals(User.ALL_USERS)) {
+ 95 0 return User.ofAllUsers();
+ 96
+ }
+ 97 0 if (entity.equals(User.ALL_AUTHENTICATED_USERS)) {
+ 98 0 return User.ofAllAuthenticatedUsers();
+ 99
+ }
+ 100 0 if (entity.startsWith("group-" )) {
+ 101 0 return new Group(entity.substring(6));
+ 102
+ }
+ 103 0 if (entity.startsWith("domain-" )) {
+ 104 0 return new Domain(entity.substring(7));
+ 105
+ }
+ 106 0 if (entity.startsWith("project-" )) {
+ 107 0 int idx = entity.indexOf('-' , 8);
+ 108 0 String team = entity.substring(8, idx);
+ 109 0 String projectId = entity.substring(idx + 1);
+ 110 0 return new Project(Project.ProjectRole.valueOf(team.toUpperCase()), projectId);
+ 111
+ }
+ 112 0 return new RawEntity(entity);
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public static final class Domain extends Entity {
+ 117
+
+ 118
+ private static final long serialVersionUID = -3033025857280447253L;
+ 119
+
+ 120
+ public Domain(String domain) {
+ 121 0 super (Type.DOMAIN, domain);
+ 122 0 }
+ 123
+
+ 124
+ public String domain() {
+ 125 0 return value();
+ 126
+ }
+ 127
+ }
+ 128
+
+ 129
+ public static final class Group extends Entity {
+ 130
+
+ 131
+ private static final long serialVersionUID = -1660987136294408826L;
+ 132
+
+ 133
+ public Group(String email) {
+ 134 0 super (Type.GROUP, email);
+ 135 0 }
+ 136
+
+ 137
+ public String email() {
+ 138 0 return value();
+ 139
+ }
+ 140
+ }
+ 141
+
+ 142
+ public static final class User extends Entity {
+ 143
+
+ 144
+ private static final long serialVersionUID = 3076518036392737008L;
+ 145
+ private static final String ALL_USERS = "allUsers" ;
+ 146
+ private static final String ALL_AUTHENTICATED_USERS = "allAuthenticatedUsers" ;
+ 147
+
+ 148
+ public User(String email) {
+ 149 0 super (Type.USER, email);
+ 150 0 }
+ 151
+
+ 152
+ public String email() {
+ 153 0 return value();
+ 154
+ }
+ 155
+
+ 156
+ @Override
+ 157
+ String toPb() {
+ 158 0 switch (value()) {
+ 159
+ case ALL_AUTHENTICATED_USERS:
+ 160 0 return ALL_AUTHENTICATED_USERS;
+ 161
+ case ALL_USERS:
+ 162 0 return ALL_USERS;
+ 163
+ default :
+ 164
+ break ;
+ 165
+ }
+ 166 0 return super .toPb();
+ 167
+ }
+ 168
+
+ 169
+ public static User ofAllUsers() {
+ 170 0 return new User(ALL_USERS);
+ 171
+ }
+ 172
+
+ 173
+ public static User ofAllAuthenticatedUsers() {
+ 174 0 return new User(ALL_AUTHENTICATED_USERS);
+ 175
+ }
+ 176
+ }
+ 177
+
+ 178
+ public static final class Project extends Entity {
+ 179
+
+ 180
+ private static final long serialVersionUID = 7933776866530023027L;
+ 181
+
+ 182
+ private final ProjectRole pRole;
+ 183
+ private final String projectId;
+ 184
+
+ 185 0 public enum ProjectRole {
+ 186 0 OWNERS, EDITORS, VIEWERS
+ 187
+ }
+ 188
+
+ 189
+ public Project(ProjectRole pRole, String projectId) {
+ 190 0 super (Type.PROJECT, pRole.name().toLowerCase() + "-" + projectId);
+ 191 0 this .pRole = pRole;
+ 192 0 this .projectId = projectId;
+ 193 0 }
+ 194
+
+ 195
+ public ProjectRole projectRole() {
+ 196 0 return pRole;
+ 197
+ }
+ 198
+
+ 199
+ public String projectId() {
+ 200 0 return projectId;
+ 201
+ }
+ 202
+ }
+ 203
+
+ 204
+ public static final class RawEntity extends Entity {
+ 205
+
+ 206
+ private static final long serialVersionUID = 3966205614223053950L;
+ 207
+
+ 208
+ RawEntity(String entity) {
+ 209 0 super (Type.UNKNOWN, entity);
+ 210 0 }
+ 211
+
+ 212
+ @Override
+ 213
+ String toPb() {
+ 214 0 return value();
+ 215
+ }
+ 216
+ }
+ 217
+
+ 218
+ public Acl(Entity entity, Role role) {
+ 219
+ this .entity = entity;
+ 220
+ this .role = role;
+ 221
+ }
+ 222
+
+ 223
+ public Entity entity() {
+ 224 0 return entity;
+ 225
+ }
+ 226
+
+ 227
+ public Role role() {
+ 228 0 return role;
+ 229
+ }
+ 230
+
+ 231
+ @Override
+ 232
+ public int hashCode() {
+ 233 0 return Objects.hash(entity, role);
+ 234
+ }
+ 235
+
+ 236
+ @Override
+ 237
+ public boolean equals(Object obj) {
+ 238 0 if (this == obj) {
+ 239 0 return true ;
+ 240
+ }
+ 241 0 if (obj == null || getClass() != obj.getClass()) {
+ 242 0 return false ;
+ 243
+ }
+ 244 0 final Acl other = (Acl) obj;
+ 245 0 return Objects.equals(this .entity, other.entity)
+ 246 0 && Objects.equals(this .role, other.role);
+ 247
+ }
+ 248
+
+ 249
+ BucketAccessControl toBucketPb() {
+ 250 0 BucketAccessControl bucketPb = new BucketAccessControl();
+ 251 0 bucketPb.setRole(role().toString());
+ 252 0 bucketPb.setEntity(entity().toString());
+ 253 0 return bucketPb;
+ 254
+ }
+ 255
+
+ 256
+ ObjectAccessControl toObjectPb() {
+ 257 0 ObjectAccessControl objectPb = new ObjectAccessControl();
+ 258 0 objectPb.setRole(role().name());
+ 259 0 objectPb.setEntity(entity().toPb());
+ 260 0 return objectPb;
+ 261
+ }
+ 262
+
+ 263
+ static Acl fromPb(ObjectAccessControl objectAccessControl) {
+ 264 0 Role role = Role.valueOf(objectAccessControl.getRole());
+ 265 0 return new Acl(Entity.fromPb(objectAccessControl.getEntity()), role);
+ 266
+ }
+ 267
+
+ 268
+ static Acl fromPb(BucketAccessControl bucketAccessControl) {
+ 269 0 Role role = Role.valueOf(bucketAccessControl.getRole());
+ 270 0 return new Acl(Entity.fromPb(bucketAccessControl.getEntity()), role);
+ 271
+ }
+ 272
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchRequest.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchRequest.html
new file mode 100644
index 000000000000..187375aac5fc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchRequest.html
@@ -0,0 +1,225 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BatchRequest
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.collect.ImmutableMap;
+ 20
+ import com.google.common.collect.Lists;
+ 21
+ import com.google.gcloud.storage.Storage.BlobSourceOption;
+ 22
+ import com.google.gcloud.storage.Storage.BlobTargetOption;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.LinkedHashMap;
+ 26
+ import java.util.Map;
+ 27
+ import java.util.Objects;
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32 0 public final class BatchRequest implements Serializable {
+ 33
+
+ 34
+ private static final long serialVersionUID = -1527992265939800345L;
+ 35
+
+ 36
+ private final Map<BlobInfo, Iterable<BlobSourceOption>> toDelete;
+ 37
+ private final Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate;
+ 38
+ private final Map<BlobInfo, Iterable<BlobSourceOption>> toGet;
+ 39
+
+ 40 0 public static class Builder {
+ 41
+
+ 42 0 private Map<BlobInfo, Iterable<BlobSourceOption>> toDelete = new LinkedHashMap<>();
+ 43 0 private Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate = new LinkedHashMap<>();
+ 44 0 private Map<BlobInfo, Iterable<BlobSourceOption>> toGet = new LinkedHashMap<>();
+ 45
+
+ 46 0 private Builder() {}
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ public Builder delete(String bucket, String blob, BlobSourceOption... options) {
+ 52 0 toDelete.put(BlobInfo.of(bucket, blob), Lists.newArrayList(options));
+ 53 0 return this ;
+ 54
+ }
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+ public Builder update(BlobInfo blobInfo, BlobTargetOption... options) {
+ 60 0 toUpdate.put(blobInfo, Lists.newArrayList(options));
+ 61 0 return this ;
+ 62
+ }
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ public Builder get(String bucket, String blob, BlobSourceOption... options) {
+ 68 0 toGet.put(BlobInfo.of(bucket, blob), Lists.newArrayList(options));
+ 69 0 return this ;
+ 70
+ }
+ 71
+
+ 72
+ public BatchRequest build() {
+ 73 0 return new BatchRequest(this );
+ 74
+ }
+ 75
+ }
+ 76
+
+ 77 0 private BatchRequest(Builder builder) {
+ 78 0 toDelete = ImmutableMap.copyOf(builder.toDelete);
+ 79 0 toUpdate = ImmutableMap.copyOf(builder.toUpdate);
+ 80 0 toGet = ImmutableMap.copyOf(builder.toGet);
+ 81 0 }
+ 82
+
+ 83
+ @Override
+ 84
+ public int hashCode() {
+ 85 0 return Objects.hash(toDelete, toUpdate, toGet);
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ public boolean equals(Object obj) {
+ 90 0 if (!(obj instanceof BatchRequest)) {
+ 91 0 return false ;
+ 92
+ }
+ 93 0 BatchRequest other = (BatchRequest) obj;
+ 94 0 return Objects.equals(toDelete, other.toDelete)
+ 95 0 && Objects.equals(toUpdate, other.toUpdate)
+ 96 0 && Objects.equals(toGet, other.toGet);
+ 97
+ }
+ 98
+
+ 99
+ public Map<BlobInfo, Iterable<BlobSourceOption>> toDelete() {
+ 100 0 return toDelete;
+ 101
+ }
+ 102
+
+ 103
+ public Map<BlobInfo, Iterable<BlobTargetOption>> toUpdate() {
+ 104 0 return toUpdate;
+ 105
+ }
+ 106
+
+ 107
+ public Map<BlobInfo, Iterable<BlobSourceOption>> toGet() {
+ 108 0 return toGet;
+ 109
+ }
+ 110
+
+ 111
+ public static Builder builder() {
+ 112 0 return new Builder();
+ 113
+ }
+ 114
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchResponse.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchResponse.html
new file mode 100644
index 000000000000..9caed1d636ee
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BatchResponse.html
@@ -0,0 +1,310 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BatchResponse
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableList;
+ 21
+
+ 22
+ import java.io.Serializable;
+ 23
+ import java.util.List;
+ 24
+ import java.util.Objects;
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+ public final class BatchResponse implements Serializable {
+ 30
+
+ 31
+ private static final long serialVersionUID = 1057416839397037706L;
+ 32
+
+ 33
+ private final List<Result<Boolean>> deleteResult;
+ 34
+ private final List<Result<BlobInfo>> updateResult;
+ 35
+ private final List<Result<BlobInfo>> getResult;
+ 36
+
+ 37
+ public static class Result<T extends Serializable> implements Serializable {
+ 38
+
+ 39
+ private static final long serialVersionUID = -1946539570170529094L;
+ 40 0 private static final Result<Serializable> EMPTY = Result.of(null );
+ 41
+
+ 42
+ private final T value;
+ 43
+ private final StorageException exception;
+ 44
+
+ 45
+
+ 46
+ public Result(T value) {
+ 47
+ this .value = value;
+ 48
+ this .exception = null ;
+ 49
+ }
+ 50
+
+ 51
+ public Result(StorageException exception) {
+ 52
+ this .exception = exception;
+ 53
+ this .value = null ;
+ 54
+ }
+ 55
+
+ 56
+ static <T extends Serializable> Result<T> of(T value) {
+ 57 0 return new Result<>(value);
+ 58
+ }
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ public T get() throws StorageException {
+ 66 0 if (failed()) {
+ 67 0 throw failure();
+ 68
+ }
+ 69 0 return value;
+ 70
+ }
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+ public StorageException failure() {
+ 76 0 return exception;
+ 77
+ }
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public boolean failed() {
+ 83 0 return exception != null ;
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public int hashCode() {
+ 88 0 return Objects.hash(value, exception);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public boolean equals(Object obj) {
+ 93 0 if (!(obj instanceof Result)) {
+ 94 0 return false ;
+ 95
+ }
+ 96 0 Result<?> other = (Result<?>) obj;
+ 97 0 return Objects.equals(value, other.value)
+ 98 0 && Objects.equals(exception, other.exception);
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public String toString() {
+ 103 0 return MoreObjects.toStringHelper(this )
+ 104 0 .add("value" , value)
+ 105 0 .add("exception" , exception)
+ 106 0 .toString();
+ 107
+ }
+ 108
+
+ 109
+ static <T extends Serializable> Result<T> empty() {
+ 110
+ @SuppressWarnings("unchecked" )
+ 111 0 Result<T> result = (Result<T>) EMPTY;
+ 112 0 return result;
+ 113
+ }
+ 114
+ }
+ 115
+
+ 116
+ public BatchResponse(List<Result<Boolean>> deleteResult, List<Result<BlobInfo>> updateResult,
+ 117 0 List<Result<BlobInfo>> getResult) {
+ 118 0 this .deleteResult = ImmutableList.copyOf(deleteResult);
+ 119 0 this .updateResult = ImmutableList.copyOf(updateResult);
+ 120 0 this .getResult = ImmutableList.copyOf(getResult);
+ 121 0 }
+ 122
+
+ 123
+ @Override
+ 124
+ public int hashCode() {
+ 125 0 return Objects.hash(deleteResult, updateResult, getResult);
+ 126
+ }
+ 127
+
+ 128
+ @Override
+ 129
+ public boolean equals(Object obj) {
+ 130 0 if (!(obj instanceof BatchResponse)) {
+ 131 0 return false ;
+ 132
+ }
+ 133 0 BatchResponse other = (BatchResponse) obj;
+ 134 0 return Objects.equals(deleteResult, other.deleteResult)
+ 135 0 && Objects.equals(updateResult, other.updateResult)
+ 136 0 && Objects.equals(updateResult, other.updateResult);
+ 137
+ }
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+ public List<Result<Boolean>> deletes() {
+ 143 0 return deleteResult;
+ 144
+ }
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+ public List<Result<BlobInfo>> updates() {
+ 150 0 return updateResult;
+ 151
+ }
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+ public List<Result<BlobInfo>> gets() {
+ 157
+ return getResult;
+ 158
+ }
+ 159
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobInfo.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobInfo.html
new file mode 100644
index 000000000000..42e14b63b848
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobInfo.html
@@ -0,0 +1,812 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.api.client.util.Data;
+ 23
+ import com.google.api.client.util.DateTime;
+ 24
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 25
+ import com.google.api.services.storage.model.StorageObject;
+ 26
+ import com.google.api.services.storage.model.StorageObject.Owner;
+ 27
+ import com.google.common.base.Function;
+ 28
+ import com.google.common.base.MoreObjects;
+ 29
+ import com.google.common.collect.ImmutableList;
+ 30
+ import com.google.common.collect.ImmutableMap;
+ 31
+ import com.google.common.collect.Lists;
+ 32
+
+ 33
+ import java.io.Serializable;
+ 34
+ import java.math.BigInteger;
+ 35
+ import java.util.List;
+ 36
+ import java.util.Map;
+ 37
+ import java.util.Objects;
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 0 public final class BlobInfo implements Serializable {
+ 45
+
+ 46
+ private static final long serialVersionUID = 2228487739943277159L;
+ 47
+
+ 48 0 static final Function<StorageObject, BlobInfo> FROM_PB_FUNCTION =
+ 49 0 new Function<StorageObject, BlobInfo>() {
+ 50
+ @Override
+ 51
+ public BlobInfo apply(StorageObject pb) {
+ 52 0 return BlobInfo.fromPb(pb);
+ 53
+ }
+ 54
+ };
+ 55
+
+ 56 0 static final Function<BlobInfo, StorageObject> TO_PB_FUNCTION =
+ 57 0 new Function<BlobInfo, StorageObject>() {
+ 58
+ @Override
+ 59
+ public StorageObject apply(BlobInfo blobInfo) {
+ 60 0 return blobInfo.toPb();
+ 61
+ }
+ 62
+ };
+ 63
+
+ 64
+ private final String bucket;
+ 65
+ private final String id;
+ 66
+ private final String name;
+ 67
+ private final String selfLink;
+ 68
+ private final String cacheControl;
+ 69
+ private final List<Acl> acl;
+ 70
+ private final Acl.Entity owner;
+ 71
+ private final Long size;
+ 72
+ private final String etag;
+ 73
+ private final String md5;
+ 74
+ private final String crc32c;
+ 75
+ private final String mediaLink;
+ 76
+ private final Map<String, String> metadata;
+ 77
+ private final Long generation;
+ 78
+ private final Long metageneration;
+ 79
+ private final Long deleteTime;
+ 80
+ private final Long updateTime;
+ 81
+ private final String contentType;
+ 82
+ private final String contentEncoding;
+ 83
+ private final String contentDisposition;
+ 84
+ private final String contentLanguage;
+ 85
+ private final Integer componentCount;
+ 86
+
+ 87 0 public static final class Builder {
+ 88
+
+ 89
+ private String bucket;
+ 90
+ private String id;
+ 91
+ private String name;
+ 92
+ private String contentType;
+ 93
+ private String contentEncoding;
+ 94
+ private String contentDisposition;
+ 95
+ private String contentLanguage;
+ 96
+ private Integer componentCount;
+ 97
+ private String cacheControl;
+ 98
+ private ImmutableList<Acl> acl;
+ 99
+ private Acl.Entity owner;
+ 100
+ private Long size;
+ 101
+ private String etag;
+ 102
+ private String selfLink;
+ 103
+ private String md5;
+ 104
+ private String crc32c;
+ 105
+ private String mediaLink;
+ 106
+ private ImmutableMap<String, String> metadata;
+ 107
+ private Long generation;
+ 108
+ private Long metageneration;
+ 109
+ private Long deleteTime;
+ 110
+ private Long updateTime;
+ 111
+
+ 112
+ private Builder() {}
+ 113
+
+ 114
+ public Builder bucket(String bucket) {
+ 115 0 this .bucket = checkNotNull(bucket);
+ 116 0 return this ;
+ 117
+ }
+ 118
+
+ 119
+ Builder id(String id) {
+ 120 0 this .id = id;
+ 121 0 return this ;
+ 122
+ }
+ 123
+
+ 124
+ public Builder name(String name) {
+ 125 0 this .name = checkNotNull(name);
+ 126 0 return this ;
+ 127
+ }
+ 128
+
+ 129
+ public Builder contentType(String contentType) {
+ 130 0 this .contentType = firstNonNull(contentType, Data.<String>nullOf(String.class ));
+ 131 0 return this ;
+ 132
+ }
+ 133
+
+ 134
+ public Builder contentDisposition(String contentDisposition) {
+ 135 0 this .contentDisposition = firstNonNull(contentDisposition, Data.<String>nullOf(String.class ));
+ 136 0 return this ;
+ 137
+ }
+ 138
+
+ 139
+ public Builder contentLanguage(String contentLanguage) {
+ 140 0 this .contentLanguage = firstNonNull(contentLanguage, Data.<String>nullOf(String.class ));
+ 141 0 return this ;
+ 142
+ }
+ 143
+
+ 144
+ public Builder contentEncoding(String contentEncoding) {
+ 145 0 this .contentEncoding = firstNonNull(contentEncoding, Data.<String>nullOf(String.class ));
+ 146 0 return this ;
+ 147
+ }
+ 148
+
+ 149
+ Builder componentCount(Integer componentCount) {
+ 150 0 this .componentCount = componentCount;
+ 151 0 return this ;
+ 152
+ }
+ 153
+
+ 154
+ public Builder cacheControl(String cacheControl) {
+ 155 0 this .cacheControl = firstNonNull(cacheControl, Data.<String>nullOf(String.class ));
+ 156 0 return this ;
+ 157
+ }
+ 158
+
+ 159
+ public Builder acl(List<Acl> acl) {
+ 160 0 this .acl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 161 0 return this ;
+ 162
+ }
+ 163
+
+ 164
+ Builder owner(Acl.Entity owner) {
+ 165 0 this .owner = owner;
+ 166 0 return this ;
+ 167
+ }
+ 168
+
+ 169
+ Builder size(Long size) {
+ 170 0 this .size = size;
+ 171 0 return this ;
+ 172
+ }
+ 173
+
+ 174
+ Builder etag(String etag) {
+ 175 0 this .etag = etag;
+ 176 0 return this ;
+ 177
+ }
+ 178
+
+ 179
+ Builder selfLink(String selfLink) {
+ 180 0 this .selfLink = selfLink;
+ 181 0 return this ;
+ 182
+ }
+ 183
+
+ 184
+ public Builder md5(String md5) {
+ 185 0 this .md5 = firstNonNull(md5, Data.<String>nullOf(String.class ));
+ 186 0 return this ;
+ 187
+ }
+ 188
+
+ 189
+ public Builder crc32c(String crc32c) {
+ 190 0 this .crc32c = firstNonNull(crc32c, Data.<String>nullOf(String.class ));
+ 191 0 return this ;
+ 192
+ }
+ 193
+
+ 194
+ Builder mediaLink(String mediaLink) {
+ 195 0 this .mediaLink = mediaLink;
+ 196 0 return this ;
+ 197
+ }
+ 198
+
+ 199
+ public Builder metadata(Map<String, String> metadata) {
+ 200 0 this .metadata = metadata != null ? ImmutableMap.copyOf(metadata) : null ;
+ 201 0 return this ;
+ 202
+ }
+ 203
+
+ 204
+ Builder generation(Long generation) {
+ 205 0 this .generation = generation;
+ 206 0 return this ;
+ 207
+ }
+ 208
+
+ 209
+ Builder metageneration(Long metageneration) {
+ 210 0 this .metageneration = metageneration;
+ 211 0 return this ;
+ 212
+ }
+ 213
+
+ 214
+ Builder deleteTime(Long deleteTime) {
+ 215 0 this .deleteTime = deleteTime;
+ 216 0 return this ;
+ 217
+ }
+ 218
+
+ 219
+ Builder updateTime(Long updateTime) {
+ 220 0 this .updateTime = updateTime;
+ 221 0 return this ;
+ 222
+ }
+ 223
+
+ 224
+ public BlobInfo build() {
+ 225 0 checkNotNull(bucket);
+ 226 0 checkNotNull(name);
+ 227 0 return new BlobInfo(this );
+ 228
+ }
+ 229
+ }
+ 230
+
+ 231 0 private BlobInfo(Builder builder) {
+ 232 0 bucket = builder.bucket;
+ 233 0 name = builder.name;
+ 234 0 id = builder.id;
+ 235 0 cacheControl = builder.cacheControl;
+ 236 0 contentEncoding = builder.contentEncoding;
+ 237 0 contentType = builder.contentType;
+ 238 0 contentDisposition = builder.contentDisposition;
+ 239 0 contentLanguage = builder.contentLanguage;
+ 240 0 componentCount = builder.componentCount;
+ 241 0 acl = builder.acl;
+ 242 0 owner = builder.owner;
+ 243 0 size = builder.size;
+ 244 0 etag = builder.etag;
+ 245 0 selfLink = builder.selfLink;
+ 246 0 md5 = builder.md5;
+ 247 0 crc32c = builder.crc32c;
+ 248 0 mediaLink = builder.mediaLink;
+ 249 0 metadata = builder.metadata;
+ 250 0 generation = builder.generation;
+ 251 0 metageneration = builder.metageneration;
+ 252 0 deleteTime = builder.deleteTime;
+ 253 0 updateTime = builder.updateTime;
+ 254 0 }
+ 255
+
+ 256
+ public String bucket() {
+ 257 0 return bucket;
+ 258
+ }
+ 259
+
+ 260
+ public String id() {
+ 261 0 return id;
+ 262
+ }
+ 263
+
+ 264
+ public String name() {
+ 265 0 return name;
+ 266
+ }
+ 267
+
+ 268
+ public String cacheControl() {
+ 269 0 return Data.isNull(cacheControl) ? null : cacheControl;
+ 270
+ }
+ 271
+
+ 272
+ public List<Acl> acl() {
+ 273 0 return acl;
+ 274
+ }
+ 275
+
+ 276
+ public Acl.Entity owner() {
+ 277 0 return owner;
+ 278
+ }
+ 279
+
+ 280
+ public Long size() {
+ 281 0 return size;
+ 282
+ }
+ 283
+
+ 284
+ public String contentType() {
+ 285 0 return Data.isNull(contentType) ? null : contentType;
+ 286
+ }
+ 287
+
+ 288
+ public String contentEncoding() {
+ 289 0 return Data.isNull(contentEncoding) ? null : contentEncoding;
+ 290
+ }
+ 291
+
+ 292
+ public String contentDisposition() {
+ 293 0 return Data.isNull(contentDisposition) ? null : contentDisposition;
+ 294
+ }
+ 295
+
+ 296
+ public String contentLanguage() {
+ 297 0 return Data.isNull(contentLanguage) ? null : contentLanguage;
+ 298
+ }
+ 299
+
+ 300
+ public Integer componentCount() {
+ 301 0 return componentCount;
+ 302
+ }
+ 303
+
+ 304
+ public String etag() {
+ 305 0 return etag;
+ 306
+ }
+ 307
+
+ 308
+ public String selfLink() {
+ 309 0 return selfLink;
+ 310
+ }
+ 311
+
+ 312
+ public String md5() {
+ 313 0 return Data.isNull(md5) ? null : md5;
+ 314
+ }
+ 315
+
+ 316
+ public String crc32c() {
+ 317 0 return Data.isNull(crc32c) ? null : crc32c;
+ 318
+ }
+ 319
+
+ 320
+ public String mediaLink() {
+ 321 0 return mediaLink;
+ 322
+ }
+ 323
+
+ 324
+ public Map<String, String> metadata() {
+ 325 0 return metadata;
+ 326
+ }
+ 327
+
+ 328
+ public Long generation() {
+ 329 0 return generation;
+ 330
+ }
+ 331
+
+ 332
+ public Long metageneration() {
+ 333 0 return metageneration;
+ 334
+ }
+ 335
+
+ 336
+ public Long deleteTime() {
+ 337 0 return deleteTime;
+ 338
+ }
+ 339
+
+ 340
+ public Long updateTime() {
+ 341 0 return updateTime;
+ 342
+ }
+ 343
+
+ 344
+ public Builder toBuilder() {
+ 345 0 return new Builder()
+ 346 0 .bucket(bucket)
+ 347 0 .name(name)
+ 348 0 .id(id)
+ 349 0 .generation(generation)
+ 350 0 .cacheControl(cacheControl)
+ 351 0 .contentEncoding(contentEncoding)
+ 352 0 .contentType(contentType)
+ 353 0 .contentDisposition(contentDisposition)
+ 354 0 .contentLanguage(contentLanguage)
+ 355 0 .componentCount(componentCount)
+ 356 0 .crc32c(crc32c)
+ 357 0 .md5(md5)
+ 358 0 .deleteTime(deleteTime)
+ 359 0 .updateTime(updateTime)
+ 360 0 .mediaLink(mediaLink)
+ 361 0 .metadata(metadata)
+ 362 0 .metageneration(metageneration)
+ 363 0 .acl(acl)
+ 364 0 .owner(owner)
+ 365 0 .size(size)
+ 366 0 .etag(etag)
+ 367 0 .selfLink(selfLink);
+ 368
+ }
+ 369
+
+ 370
+ @Override
+ 371
+ public String toString() {
+ 372 0 return MoreObjects.toStringHelper(this )
+ 373 0 .add("bucket" , bucket())
+ 374 0 .add("name" , name())
+ 375 0 .add("size" , size())
+ 376 0 .add("content-type" , contentType())
+ 377 0 .add("metadata" , metadata())
+ 378 0 .toString();
+ 379
+ }
+ 380
+
+ 381
+ public static BlobInfo of(String bucket, String name) {
+ 382 0 return builder(bucket, name).build();
+ 383
+ }
+ 384
+
+ 385
+ public static Builder builder(BucketInfo bucketInfo, String name) {
+ 386 0 return builder(bucketInfo.name(), name);
+ 387
+ }
+ 388
+
+ 389
+ public static Builder builder(String bucket, String name) {
+ 390 0 return new Builder().bucket(bucket).name(name);
+ 391
+ }
+ 392
+
+ 393
+ @Override
+ 394
+ public int hashCode() {
+ 395 0 return Objects.hash(bucket, name);
+ 396
+ }
+ 397
+
+ 398
+ @Override
+ 399
+ public boolean equals(Object obj) {
+ 400 0 if (!(obj instanceof BlobInfo)) {
+ 401 0 return false ;
+ 402
+ }
+ 403 0 return Objects.equals(toPb(), ((BlobInfo) obj).toPb());
+ 404
+ }
+ 405
+
+ 406
+ StorageObject toPb() {
+ 407 0 StorageObject storageObject = new StorageObject();
+ 408 0 if (acl != null ) {
+ 409 0 storageObject.setAcl(Lists.transform(acl, new Function<Acl, ObjectAccessControl>() {
+ 410
+ @Override
+ 411
+ public ObjectAccessControl apply(Acl acl) {
+ 412 0 return acl.toObjectPb();
+ 413
+ }
+ 414
+ }));
+ 415
+ }
+ 416 0 if (deleteTime != null ) {
+ 417 0 storageObject.setTimeDeleted(new DateTime(deleteTime));
+ 418
+ }
+ 419 0 if (updateTime != null ) {
+ 420 0 storageObject.setUpdated(new DateTime(updateTime));
+ 421
+ }
+ 422 0 if (size != null ) {
+ 423 0 storageObject.setSize(BigInteger.valueOf(size));
+ 424
+ }
+ 425 0 if (owner != null ) {
+ 426 0 storageObject.setOwner(new Owner().setEntity(owner.toPb()));
+ 427
+ }
+ 428 0 storageObject.setBucket(bucket);
+ 429 0 storageObject.setCacheControl(cacheControl);
+ 430 0 storageObject.setContentEncoding(contentEncoding);
+ 431 0 storageObject.setCrc32c(crc32c);
+ 432 0 storageObject.setContentType(contentType);
+ 433 0 storageObject.setGeneration(generation);
+ 434 0 storageObject.setMd5Hash(md5);
+ 435 0 storageObject.setMediaLink(mediaLink);
+ 436 0 storageObject.setMetadata(metadata);
+ 437 0 storageObject.setMetageneration(metageneration);
+ 438 0 storageObject.setName(name);
+ 439 0 storageObject.setContentDisposition(contentDisposition);
+ 440 0 storageObject.setComponentCount(componentCount);
+ 441 0 storageObject.setContentLanguage(contentLanguage);
+ 442 0 storageObject.setEtag(etag);
+ 443 0 storageObject.setId(id);
+ 444 0 storageObject.setSelfLink(selfLink);
+ 445 0 return storageObject;
+ 446
+ }
+ 447
+
+ 448
+ static BlobInfo fromPb(StorageObject storageObject) {
+ 449 0 Builder builder = new Builder()
+ 450 0 .bucket(storageObject.getBucket())
+ 451 0 .cacheControl(storageObject.getCacheControl())
+ 452 0 .contentEncoding(storageObject.getContentEncoding())
+ 453 0 .crc32c(storageObject.getCrc32c())
+ 454 0 .contentType(storageObject.getContentType())
+ 455 0 .generation(storageObject.getGeneration())
+ 456 0 .md5(storageObject.getMd5Hash())
+ 457 0 .mediaLink(storageObject.getMediaLink())
+ 458 0 .metageneration(storageObject.getMetageneration())
+ 459 0 .name(storageObject.getName())
+ 460 0 .contentDisposition(storageObject.getContentDisposition())
+ 461 0 .componentCount(storageObject.getComponentCount())
+ 462 0 .contentLanguage(storageObject.getContentLanguage())
+ 463 0 .etag(storageObject.getEtag())
+ 464 0 .id(storageObject.getId())
+ 465 0 .selfLink(storageObject.getSelfLink());
+ 466 0 if (storageObject.getMetadata() != null ) {
+ 467 0 builder.metadata(storageObject.getMetadata());
+ 468
+ }
+ 469 0 if (storageObject.getTimeDeleted() != null ) {
+ 470 0 builder.deleteTime(storageObject.getTimeDeleted().getValue());
+ 471
+ }
+ 472 0 if (storageObject.getUpdated() != null ) {
+ 473 0 builder.updateTime(storageObject.getUpdated().getValue());
+ 474
+ }
+ 475 0 if (storageObject.getSize() != null ) {
+ 476 0 builder.size(storageObject.getSize().longValue());
+ 477
+ }
+ 478 0 if (storageObject.getOwner() != null ) {
+ 479 0 builder.owner(Acl.Entity.fromPb(storageObject.getOwner().getEntity()));
+ 480
+ }
+ 481 0 if (storageObject.getAcl() != null ) {
+ 482 0 builder.acl(Lists.transform(storageObject.getAcl(), new Function<ObjectAccessControl, Acl>() {
+ 483
+ @Override
+ 484
+ public Acl apply(ObjectAccessControl objectAccessControl) {
+ 485 0 return Acl.fromPb(objectAccessControl);
+ 486
+ }
+ 487
+ }));
+ 488
+ }
+ 489 0 return builder.build();
+ 490
+ }
+ 491
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannel.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannel.html
new file mode 100644
index 000000000000..0d54166e5c27
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannel.html
@@ -0,0 +1,122 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobReadChannel
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import java.io.Closeable;
+ 20
+ import java.io.IOException;
+ 21
+ import java.io.Serializable;
+ 22
+ import java.nio.channels.ReadableByteChannel;
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ public interface BlobReadChannel extends ReadableByteChannel, Serializable, Closeable {
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+ @Override
+ 39
+ void close();
+ 40
+
+ 41
+ void seek(int position) throws IOException;
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ void chunkSize(int chunkSize);
+ 48
+
+ 49
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html
new file mode 100644
index 000000000000..4e6d92f8aa3a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobReadChannelImpl.html
@@ -0,0 +1,259 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobReadChannelImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 20
+
+ 21
+ import com.google.api.services.storage.model.StorageObject;
+ 22
+ import com.google.gcloud.spi.StorageRpc;
+ 23
+
+ 24
+ import java.io.IOException;
+ 25
+ import java.io.ObjectInputStream;
+ 26
+ import java.io.ObjectOutputStream;
+ 27
+ import java.nio.ByteBuffer;
+ 28
+ import java.util.Map;
+ 29
+ import java.util.concurrent.Callable;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34 0 class BlobReadChannelImpl implements BlobReadChannel {
+ 35
+
+ 36
+ private static final int DEFAULT_CHUNK_SIZE = 2 * 1024 * 1024;
+ 37
+ private static final long serialVersionUID = 4821762590742862669L;
+ 38
+
+ 39
+ private final StorageOptions serviceOptions;
+ 40
+ private final BlobInfo blobInfo;
+ 41
+ private final Map<StorageRpc.Option, ?> requestOptions;
+ 42
+ private int position;
+ 43
+ private boolean isOpen;
+ 44
+ private boolean endOfStream;
+ 45 0 private int chunkSize = DEFAULT_CHUNK_SIZE;
+ 46
+
+ 47
+ private transient StorageRpc storageRpc;
+ 48
+ private transient StorageObject storageObject;
+ 49
+ private transient int bufferPos;
+ 50
+ private transient byte [] buffer;
+ 51
+
+ 52
+ BlobReadChannelImpl(StorageOptions serviceOptions, BlobInfo blobInfo,
+ 53 0 Map<StorageRpc.Option, ?> requestOptions) {
+ 54 0 this .serviceOptions = serviceOptions;
+ 55 0 this .blobInfo = blobInfo;
+ 56 0 this .requestOptions = requestOptions;
+ 57 0 isOpen = true ;
+ 58 0 initTransients();
+ 59 0 }
+ 60
+
+ 61
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 62 0 if (buffer != null ) {
+ 63 0 position += bufferPos;
+ 64 0 buffer = null ;
+ 65 0 bufferPos = 0;
+ 66 0 endOfStream = false ;
+ 67
+ }
+ 68 0 out.defaultWriteObject();
+ 69 0 }
+ 70
+
+ 71
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 72 0 in.defaultReadObject();
+ 73 0 initTransients();
+ 74 0 }
+ 75
+
+ 76
+ private void initTransients() {
+ 77 0 storageRpc = serviceOptions.storageRpc();
+ 78 0 storageObject = blobInfo.toPb();
+ 79 0 }
+ 80
+
+ 81
+ @Override
+ 82
+ public boolean isOpen() {
+ 83
+ return isOpen;
+ 84
+ }
+ 85
+
+ 86
+ @Override
+ 87
+ public void close() {
+ 88 0 if (isOpen) {
+ 89 0 buffer = null ;
+ 90 0 isOpen = false ;
+ 91
+ }
+ 92 0 }
+ 93
+
+ 94
+ private void validateOpen() throws IOException {
+ 95 0 if (!isOpen) {
+ 96 0 throw new IOException("stream is closed" );
+ 97
+ }
+ 98 0 }
+ 99
+
+ 100
+ @Override
+ 101
+ public void seek(int position) throws IOException {
+ 102 0 validateOpen();
+ 103 0 this .position = position;
+ 104 0 buffer = null ;
+ 105 0 bufferPos = 0;
+ 106 0 endOfStream = false ;
+ 107 0 }
+ 108
+
+ 109
+ @Override
+ 110
+ public void chunkSize(int chunkSize) {
+ 111 0 this .chunkSize = chunkSize <= 0 ? DEFAULT_CHUNK_SIZE : chunkSize;
+ 112 0 }
+ 113
+
+ 114
+ @Override
+ 115
+ public int read(ByteBuffer byteBuffer) throws IOException {
+ 116 0 validateOpen();
+ 117 0 if (buffer == null ) {
+ 118 0 if (endOfStream) {
+ 119 0 return -1;
+ 120
+ }
+ 121 0 final int toRead = Math.max(byteBuffer.remaining(), chunkSize);
+ 122 0 buffer = runWithRetries(new Callable<byte []>() {
+ 123
+ @Override
+ 124
+ public byte [] call() {
+ 125 0 return storageRpc.read(storageObject, requestOptions, position, toRead);
+ 126
+ }
+ 127 0 }, serviceOptions.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 128 0 if (toRead > buffer.length) {
+ 129 0 endOfStream = true ;
+ 130 0 if (buffer.length == 0) {
+ 131 0 buffer = null ;
+ 132 0 return -1;
+ 133
+ }
+ 134
+ }
+ 135
+ }
+ 136 0 int toWrite = Math.min(buffer.length - bufferPos, byteBuffer.remaining());
+ 137 0 byteBuffer.put(buffer, bufferPos, toWrite);
+ 138 0 bufferPos += toWrite;
+ 139 0 if (bufferPos >= buffer.length) {
+ 140 0 position += buffer.length;
+ 141 0 buffer = null ;
+ 142 0 bufferPos = 0;
+ 143
+ }
+ 144 0 return toWrite;
+ 145
+ }
+ 146
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriteChannel.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriteChannel.html
new file mode 100644
index 000000000000..15bb8e480453
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriteChannel.html
@@ -0,0 +1,98 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobWriteChannel
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import java.io.Closeable;
+ 20
+ import java.io.Serializable;
+ 21
+ import java.nio.channels.WritableByteChannel;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ public interface BlobWriteChannel extends WritableByteChannel, Serializable, Closeable {
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ void chunkSize(int chunkSize);
+ 37
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html
new file mode 100644
index 000000000000..b4d9446f0cb8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BlobWriterChannelImpl.html
@@ -0,0 +1,256 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BlobWriterChannelImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 20
+ import static java.util.concurrent.Executors.callable;
+ 21
+
+ 22
+ import com.google.api.services.storage.model.StorageObject;
+ 23
+ import com.google.gcloud.spi.StorageRpc;
+ 24
+
+ 25
+ import java.io.IOException;
+ 26
+ import java.io.ObjectInputStream;
+ 27
+ import java.io.ObjectOutputStream;
+ 28
+ import java.nio.ByteBuffer;
+ 29
+ import java.util.Arrays;
+ 30
+ import java.util.Map;
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35 0 class BlobWriterChannelImpl implements BlobWriteChannel {
+ 36
+
+ 37
+ private static final long serialVersionUID = 8675286882724938737L;
+ 38
+ private static final int MIN_CHUNK_SIZE = 256 * 1024;
+ 39
+ private static final int DEFAULT_CHUNK_SIZE = 8 * MIN_CHUNK_SIZE;
+ 40
+
+ 41
+ private final StorageOptions options;
+ 42
+ private final BlobInfo blobInfo;
+ 43
+ private final String uploadId;
+ 44
+ private int position;
+ 45 0 private byte [] buffer = new byte [0];
+ 46
+ private int limit;
+ 47 0 private boolean isOpen = true ;
+ 48 0 private int chunkSize = DEFAULT_CHUNK_SIZE;
+ 49
+
+ 50
+ private transient StorageRpc storageRpc;
+ 51
+ private transient StorageObject storageObject;
+ 52
+
+ 53
+ BlobWriterChannelImpl(StorageOptions options, BlobInfo blobInfo,
+ 54 0 Map<StorageRpc.Option, ?> optionsMap) {
+ 55 0 this .options = options;
+ 56 0 this .blobInfo = blobInfo;
+ 57 0 initTransients();
+ 58 0 uploadId = options.storageRpc().open(storageObject, optionsMap);
+ 59 0 }
+ 60
+
+ 61
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 62 0 if (isOpen) {
+ 63 0 flush(true );
+ 64
+ }
+ 65 0 out.defaultWriteObject();
+ 66 0 }
+ 67
+
+ 68
+ private void flush(boolean compact) {
+ 69 0 if (limit >= chunkSize || compact && limit >= MIN_CHUNK_SIZE) {
+ 70 0 final int length = limit - limit % MIN_CHUNK_SIZE;
+ 71 0 runWithRetries(callable(new Runnable() {
+ 72
+ @Override
+ 73
+ public void run() {
+ 74 0 storageRpc.write(uploadId, buffer, 0, storageObject, position, length, false );
+ 75 0 }
+ 76 0 }), options.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 77 0 position += length;
+ 78 0 limit -= length;
+ 79 0 byte [] temp = new byte [compact ? limit : chunkSize];
+ 80 0 System.arraycopy(buffer, length, temp, 0, limit);
+ 81 0 buffer = temp;
+ 82
+ }
+ 83 0 }
+ 84
+
+ 85
+ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+ 86 0 in.defaultReadObject();
+ 87 0 if (isOpen) {
+ 88 0 initTransients();
+ 89
+ }
+ 90 0 }
+ 91
+
+ 92
+ private void initTransients() {
+ 93 0 storageRpc = options.storageRpc();
+ 94 0 storageObject = blobInfo.toPb();
+ 95 0 }
+ 96
+
+ 97
+ private void validateOpen() throws IOException {
+ 98 0 if (!isOpen) {
+ 99 0 throw new IOException("stream is closed" );
+ 100
+ }
+ 101 0 }
+ 102
+
+ 103
+ @Override
+ 104
+ public int write(ByteBuffer byteBuffer) throws IOException {
+ 105 0 validateOpen();
+ 106 0 int toWrite = byteBuffer.remaining();
+ 107 0 int spaceInBuffer = buffer.length - limit;
+ 108 0 if (spaceInBuffer >= toWrite) {
+ 109 0 byteBuffer.get(buffer, limit, toWrite);
+ 110
+ } else {
+ 111 0 buffer = Arrays.copyOf(buffer, Math.max(chunkSize, buffer.length + toWrite - spaceInBuffer));
+ 112 0 byteBuffer.get(buffer, limit, toWrite);
+ 113
+ }
+ 114 0 limit += toWrite;
+ 115 0 flush(false );
+ 116 0 return toWrite;
+ 117
+ }
+ 118
+
+ 119
+ @Override
+ 120
+ public boolean isOpen() {
+ 121
+ return isOpen;
+ 122
+ }
+ 123
+
+ 124
+ @Override
+ 125
+ public void close() throws IOException {
+ 126 0 if (isOpen) {
+ 127 0 runWithRetries(callable(new Runnable() {
+ 128
+ @Override
+ 129
+ public void run() {
+ 130 0 storageRpc.write(uploadId, buffer, 0, storageObject, position, limit, true );
+ 131 0 }
+ 132 0 }), options.retryParams(), StorageImpl.EXCEPTION_HANDLER);
+ 133 0 position += buffer.length;
+ 134 0 isOpen = false ;
+ 135 0 buffer = null ;
+ 136
+ }
+ 137 0 }
+ 138
+
+ 139
+ @Override
+ 140
+ public void chunkSize(int chunkSize) {
+ 141 0 chunkSize = (chunkSize / MIN_CHUNK_SIZE) * MIN_CHUNK_SIZE;
+ 142 0 this .chunkSize = Math.max(MIN_CHUNK_SIZE, chunkSize);
+ 143 0 }
+ 144
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BucketInfo.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BucketInfo.html
new file mode 100644
index 000000000000..76e1a9e63781
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.BucketInfo.html
@@ -0,0 +1,1266 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.BucketInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 21
+ import static com.google.common.collect.Lists.transform;
+ 22
+
+ 23
+ import com.google.api.client.json.jackson2.JacksonFactory;
+ 24
+ import com.google.api.client.util.Data;
+ 25
+ import com.google.api.client.util.DateTime;
+ 26
+ import com.google.api.services.storage.model.Bucket.Lifecycle;
+ 27
+ import com.google.api.services.storage.model.Bucket.Lifecycle.Rule;
+ 28
+ import com.google.api.services.storage.model.Bucket.Owner;
+ 29
+ import com.google.api.services.storage.model.Bucket.Versioning;
+ 30
+ import com.google.api.services.storage.model.Bucket.Website;
+ 31
+ import com.google.api.services.storage.model.BucketAccessControl;
+ 32
+ import com.google.api.services.storage.model.ObjectAccessControl;
+ 33
+ import com.google.common.base.Function;
+ 34
+ import com.google.common.base.MoreObjects;
+ 35
+ import com.google.common.collect.ImmutableList;
+ 36
+ import com.google.common.collect.ImmutableMap;
+ 37
+ import com.google.gcloud.storage.Acl.Entity;
+ 38
+
+ 39
+ import java.io.IOException;
+ 40
+ import java.io.ObjectInputStream;
+ 41
+ import java.io.ObjectOutputStream;
+ 42
+ import java.io.Serializable;
+ 43
+ import java.util.List;
+ 44
+ import java.util.Objects;
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52 0 public final class BucketInfo implements Serializable {
+ 53
+
+ 54
+ private static final long serialVersionUID = -3946094202176916586L;
+ 55
+
+ 56
+ private final String id;
+ 57
+ private final String name;
+ 58
+ private final Acl.Entity owner;
+ 59
+ private final String selfLink;
+ 60
+ private final Boolean versioningEnabled;
+ 61
+ private final String indexPage;
+ 62
+ private final String notFoundPage;
+ 63
+ private final List<DeleteRule> deleteRules;
+ 64
+ private final String etag;
+ 65
+ private final Long createTime;
+ 66
+ private final Long metageneration;
+ 67
+ private final List<Cors> cors;
+ 68
+ private final List<Acl> acl;
+ 69
+ private final List<Acl> defaultAcl;
+ 70
+ private final Location location;
+ 71
+ private final StorageClass storageClass;
+ 72
+
+ 73 0 static final Function<com.google.api.services.storage.model.Bucket, BucketInfo> FROM_PB_FUNCTION =
+ 74 0 new Function<com.google.api.services.storage.model.Bucket, BucketInfo>() {
+ 75
+ @Override
+ 76
+ public BucketInfo apply(com.google.api.services.storage.model.Bucket pb) {
+ 77 0 return BucketInfo.fromPb(pb);
+ 78
+ }
+ 79
+ };
+ 80
+
+ 81 0 static final Function<BucketInfo, com.google.api.services.storage.model.Bucket> TO_PB_FUNCTION =
+ 82 0 new Function<BucketInfo, com.google.api.services.storage.model.Bucket>() {
+ 83
+ @Override
+ 84
+ public com.google.api.services.storage.model.Bucket apply(BucketInfo bucketInfo) {
+ 85 0 return bucketInfo.toPb();
+ 86
+ }
+ 87
+ };
+ 88
+
+ 89
+ public static abstract class DeleteRule implements Serializable {
+ 90
+
+ 91
+ private static final long serialVersionUID = 3137971668395933033L;
+ 92
+ private final Type type;
+ 93
+ private static final String SUPPORTED_ACTION = "Delete" ;
+ 94
+
+ 95 0 public enum Type {
+ 96 0 AGE, CREATE_BEFORE, NUM_NEWER_VERSIONS, IS_LIVE, UNKNOWN
+ 97
+ }
+ 98
+
+ 99
+ DeleteRule(Type type) {
+ 100
+ this .type = type;
+ 101
+ }
+ 102
+
+ 103
+ public Type type() {
+ 104 0 return type;
+ 105
+ }
+ 106
+
+ 107
+ @Override
+ 108
+ public int hashCode() {
+ 109 0 return Objects.hash(type);
+ 110
+ }
+ 111
+
+ 112
+ @Override
+ 113
+ public boolean equals(Object obj) {
+ 114 0 if (this == obj) {
+ 115 0 return true ;
+ 116
+ }
+ 117 0 if (obj == null || getClass() != obj.getClass()) {
+ 118 0 return false ;
+ 119
+ }
+ 120 0 final DeleteRule other = (DeleteRule) obj;
+ 121 0 return Objects.equals(toPb(), other.toPb());
+ 122
+ }
+ 123
+
+ 124
+ Rule toPb() {
+ 125 0 Rule rule = new Rule();
+ 126 0 rule.setAction(new Rule.Action().setType(SUPPORTED_ACTION));
+ 127 0 Rule.Condition condition = new Rule.Condition();
+ 128 0 populateCondition(condition);
+ 129 0 rule.setCondition(condition);
+ 130 0 return rule;
+ 131
+ }
+ 132
+
+ 133
+ abstract void populateCondition(Rule.Condition condition);
+ 134
+
+ 135
+ static DeleteRule fromPb(Rule rule) {
+ 136 0 if (rule.getAction() != null && SUPPORTED_ACTION.endsWith(rule.getAction().getType())) {
+ 137 0 Rule.Condition condition = rule.getCondition();
+ 138 0 Integer age = condition.getAge();
+ 139 0 if (age != null ) {
+ 140 0 return new AgeDeleteRule(age);
+ 141
+ }
+ 142 0 DateTime dateTime = condition.getCreatedBefore();
+ 143 0 if (dateTime != null ) {
+ 144 0 return new CreatedBeforeDeleteRule(dateTime.getValue());
+ 145
+ }
+ 146 0 Integer numNewerVersions = condition.getNumNewerVersions();
+ 147 0 if (numNewerVersions != null ) {
+ 148 0 return new NumNewerVersionsDeleteRule(numNewerVersions);
+ 149
+ }
+ 150 0 Boolean isLive = condition.getIsLive();
+ 151 0 if (isLive != null ) {
+ 152 0 return new IsLiveDeleteRule(isLive);
+ 153
+ }
+ 154
+ }
+ 155 0 return new RawDeleteRule(rule);
+ 156
+ }
+ 157
+ }
+ 158
+
+ 159
+ public static class AgeDeleteRule extends DeleteRule {
+ 160
+
+ 161
+ private static final long serialVersionUID = 5697166940712116380L;
+ 162
+ private final int daysToLive;
+ 163
+
+ 164
+ public AgeDeleteRule(int daysToLive) {
+ 165 0 super (Type.AGE);
+ 166 0 this .daysToLive = daysToLive;
+ 167 0 }
+ 168
+
+ 169
+ public int daysToLive() {
+ 170 0 return daysToLive;
+ 171
+ }
+ 172
+
+ 173
+ @Override
+ 174
+ void populateCondition(Rule.Condition condition) {
+ 175 0 condition.setAge(daysToLive);
+ 176 0 }
+ 177
+ }
+ 178
+
+ 179
+ static class RawDeleteRule extends DeleteRule {
+ 180
+
+ 181
+ private static final long serialVersionUID = -7166938278642301933L;
+ 182
+
+ 183
+ private transient Rule rule;
+ 184
+
+ 185
+ RawDeleteRule(Rule rule) {
+ 186 0 super (Type.UNKNOWN);
+ 187 0 this .rule = rule;
+ 188 0 }
+ 189
+
+ 190
+ @Override
+ 191
+ void populateCondition(Rule.Condition condition) {
+ 192 0 throw new UnsupportedOperationException();
+ 193
+ }
+ 194
+
+ 195
+ private void writeObject(ObjectOutputStream out) throws IOException {
+ 196 0 out.defaultWriteObject();
+ 197 0 out.writeUTF(rule.toString());
+ 198 0 }
+ 199
+
+ 200
+ private void readObject(ObjectInputStream in) throws IOException,
+ 201
+ ClassNotFoundException {
+ 202 0 in.defaultReadObject();
+ 203 0 rule = new JacksonFactory().fromString(in.readUTF(), Rule.class );
+ 204 0 }
+ 205
+
+ 206
+ Rule toPb() {
+ 207 0 return rule;
+ 208
+ }
+ 209
+ }
+ 210
+
+ 211
+ public static class CreatedBeforeDeleteRule extends DeleteRule {
+ 212
+
+ 213
+ private static final long serialVersionUID = 881692650279195867L;
+ 214
+ private final long timeMillis;
+ 215
+
+ 216
+ public CreatedBeforeDeleteRule(long timeMillis) {
+ 217 0 super (Type.CREATE_BEFORE);
+ 218 0 this .timeMillis = timeMillis;
+ 219 0 }
+ 220
+
+ 221
+ public long timeMillis() {
+ 222 0 return timeMillis;
+ 223
+ }
+ 224
+
+ 225
+ @Override
+ 226
+ void populateCondition(Rule.Condition condition) {
+ 227 0 condition.setCreatedBefore(new DateTime(timeMillis));
+ 228 0 }
+ 229
+ }
+ 230
+
+ 231
+ public static class NumNewerVersionsDeleteRule extends DeleteRule {
+ 232
+
+ 233
+ private static final long serialVersionUID = -1955554976528303894L;
+ 234
+ private final int numNewerVersions;
+ 235
+
+ 236
+ public NumNewerVersionsDeleteRule(int numNewerVersions) {
+ 237 0 super (Type.NUM_NEWER_VERSIONS);
+ 238 0 this .numNewerVersions = numNewerVersions;
+ 239 0 }
+ 240
+
+ 241
+ public int numNewerVersions() {
+ 242 0 return numNewerVersions;
+ 243
+ }
+ 244
+
+ 245
+ @Override
+ 246
+ void populateCondition(Rule.Condition condition) {
+ 247 0 condition.setNumNewerVersions(numNewerVersions);
+ 248 0 }
+ 249
+ }
+ 250
+
+ 251
+ public static class IsLiveDeleteRule extends DeleteRule {
+ 252
+
+ 253
+ private static final long serialVersionUID = -3502994563121313364L;
+ 254
+ private final boolean isLive;
+ 255
+
+ 256
+ public IsLiveDeleteRule(boolean isLive) {
+ 257 0 super (Type.IS_LIVE);
+ 258 0 this .isLive = isLive;
+ 259 0 }
+ 260
+
+ 261
+ public boolean isLive() {
+ 262
+ return isLive;
+ 263
+ }
+ 264
+
+ 265
+ @Override
+ 266
+ void populateCondition(Rule.Condition condition) {
+ 267 0 condition.setIsLive(isLive);
+ 268 0 }
+ 269
+ }
+ 270
+
+ 271 0 public static final class StorageClass implements Serializable {
+ 272
+
+ 273
+ private static final long serialVersionUID = 374002156285326563L;
+ 274
+ private static final ImmutableMap<String, Option> STRING_TO_OPTION;
+ 275 0 private static final StorageClass NULL_VALUE =
+ 276 0 new StorageClass(Data.<String>nullOf(String.class ));
+ 277
+
+ 278
+ private final String value;
+ 279
+
+ 280 0 public enum Option {
+ 281 0 DURABLE_REDUCED_AVAILABILITY, STANDARD;
+ 282
+
+ 283
+ private final StorageClass storageClass;
+ 284
+
+ 285 0 Option() {
+ 286 0 storageClass = new StorageClass(name());
+ 287 0 }
+ 288
+ }
+ 289
+
+ 290
+ static {
+ 291 0 ImmutableMap.Builder<String, Option> map = ImmutableMap.builder();
+ 292 0 for (Option option : Option.values()) {
+ 293 0 map.put(option.name(), option);
+ 294
+ }
+ 295 0 STRING_TO_OPTION = map.build();
+ 296 0 }
+ 297
+
+ 298 0 private StorageClass(String value) {
+ 299 0 this .value = checkNotNull(value);
+ 300 0 }
+ 301
+
+ 302
+ public static StorageClass standard() {
+ 303 0 return Option.STANDARD.storageClass;
+ 304
+ }
+ 305
+
+ 306
+ public static StorageClass durableReducedAvailability() {
+ 307 0 return Option.DURABLE_REDUCED_AVAILABILITY.storageClass;
+ 308
+ }
+ 309
+
+ 310
+ public static StorageClass of(String value) {
+ 311 0 Option option = STRING_TO_OPTION.get(value.toUpperCase());
+ 312 0 return option == null ? new StorageClass(value) : option.storageClass;
+ 313
+ }
+ 314
+
+ 315
+ @Override
+ 316
+ public String toString() {
+ 317 0 return value();
+ 318
+ }
+ 319
+
+ 320
+ public String value() {
+ 321 0 return value;
+ 322
+ }
+ 323
+ }
+ 324
+
+ 325 0 public static final class Location implements Serializable {
+ 326
+
+ 327
+ private static final long serialVersionUID = 9073107666838637662L;
+ 328
+ private static final ImmutableMap<String, Option> STRING_TO_OPTION;
+ 329 0 private static final Location NULL_VALUE = new Location(Data.<String>nullOf(String.class ));
+ 330
+
+ 331
+ private final String value;
+ 332
+
+ 333 0 public enum Option {
+ 334 0 US, EU, ASIA;
+ 335
+
+ 336
+ private final Location location;
+ 337
+
+ 338 0 Option() {
+ 339 0 location = new Location(name());
+ 340 0 }
+ 341
+ }
+ 342
+
+ 343
+ static {
+ 344 0 ImmutableMap.Builder<String, Option> map = ImmutableMap.builder();
+ 345 0 for (Option option : Option.values()) {
+ 346 0 map.put(option.name(), option);
+ 347
+ }
+ 348 0 STRING_TO_OPTION = map.build();
+ 349 0 }
+ 350
+
+ 351 0 private Location(String value) {
+ 352 0 this .value = checkNotNull(value);
+ 353 0 }
+ 354
+
+ 355
+ public static Location us() {
+ 356 0 return Option.US.location;
+ 357
+ }
+ 358
+
+ 359
+ public static Location eu() {
+ 360 0 return Option.EU.location;
+ 361
+ }
+ 362
+
+ 363
+ public static Location asia() {
+ 364 0 return Option.ASIA.location;
+ 365
+ }
+ 366
+
+ 367
+ public static Location of(String value) {
+ 368 0 Option option = STRING_TO_OPTION.get(value.toUpperCase());
+ 369 0 return option == null ? new Location(value) : option.location;
+ 370
+ }
+ 371
+
+ 372
+ @Override
+ 373
+ public int hashCode() {
+ 374 0 return Objects.hash(value);
+ 375
+ }
+ 376
+
+ 377
+ @Override
+ 378
+ public boolean equals(Object obj) {
+ 379 0 if (this == obj) {
+ 380 0 return true ;
+ 381
+ }
+ 382 0 if (obj == null || getClass() != obj.getClass()) {
+ 383 0 return false ;
+ 384
+ }
+ 385 0 final Location other = (Location) obj;
+ 386 0 return Objects.equals(this .value, other.value);
+ 387
+ }
+ 388
+
+ 389
+ @Override
+ 390
+ public String toString() {
+ 391 0 return value();
+ 392
+ }
+ 393
+
+ 394
+ public String value() {
+ 395 0 return value;
+ 396
+ }
+ 397
+ }
+ 398
+
+ 399 0 public final static class Builder {
+ 400
+
+ 401
+ private String id;
+ 402
+ private String name;
+ 403
+ private Acl.Entity owner;
+ 404
+ private String selfLink;
+ 405
+ private Boolean versioningEnabled;
+ 406
+ private String indexPage;
+ 407
+ private String notFoundPage;
+ 408
+ private ImmutableList<DeleteRule> deleteRules;
+ 409
+ private StorageClass storageClass;
+ 410
+ private Location location;
+ 411
+ private String etag;
+ 412
+ private Long createTime;
+ 413
+ private Long metageneration;
+ 414
+ private ImmutableList<Cors> cors;
+ 415
+ private ImmutableList<Acl> acl;
+ 416
+ private ImmutableList<Acl> defaultAcl;
+ 417
+
+ 418
+ private Builder() {}
+ 419
+
+ 420
+ public Builder name(String name) {
+ 421 0 this .name = checkNotNull(name);
+ 422 0 return this ;
+ 423
+ }
+ 424
+
+ 425
+ Builder id(String id) {
+ 426 0 this .id = id;
+ 427 0 return this ;
+ 428
+ }
+ 429
+
+ 430
+ Builder owner(Acl.Entity owner) {
+ 431 0 this .owner = owner;
+ 432 0 return this ;
+ 433
+ }
+ 434
+
+ 435
+ Builder selfLink(String selfLink) {
+ 436 0 this .selfLink = selfLink;
+ 437 0 return this ;
+ 438
+ }
+ 439
+
+ 440
+ public Builder versioningEnabled(Boolean enable) {
+ 441 0 this .versioningEnabled = firstNonNull(enable, Data.<Boolean>nullOf(Boolean.class ));
+ 442 0 return this ;
+ 443
+ }
+ 444
+
+ 445
+ public Builder indexPage(String indexPage) {
+ 446 0 this .indexPage = indexPage;
+ 447 0 return this ;
+ 448
+ }
+ 449
+
+ 450
+ public Builder notFoundPage(String notFoundPage) {
+ 451 0 this .notFoundPage = notFoundPage;
+ 452 0 return this ;
+ 453
+ }
+ 454
+
+ 455
+ public Builder deleteRules(Iterable<? extends DeleteRule> rules) {
+ 456 0 this .deleteRules = ImmutableList.copyOf(rules);
+ 457 0 return this ;
+ 458
+ }
+ 459
+
+ 460
+ public Builder storageClass(StorageClass storageClass) {
+ 461 0 this .storageClass = firstNonNull(storageClass, StorageClass.NULL_VALUE);
+ 462 0 return this ;
+ 463
+ }
+ 464
+
+ 465
+ public Builder location(Location location) {
+ 466 0 this .location = firstNonNull(location, Location.NULL_VALUE);
+ 467 0 return this ;
+ 468
+ }
+ 469
+
+ 470
+ Builder etag(String etag) {
+ 471 0 this .etag = etag;
+ 472 0 return this ;
+ 473
+ }
+ 474
+
+ 475
+ Builder createTime(Long createTime) {
+ 476 0 this .createTime = createTime;
+ 477 0 return this ;
+ 478
+ }
+ 479
+
+ 480
+ Builder metageneration(Long metageneration) {
+ 481 0 this .metageneration = metageneration;
+ 482 0 return this ;
+ 483
+ }
+ 484
+
+ 485
+ public Builder cors(Iterable<Cors> cors) {
+ 486 0 this .cors = cors != null ? ImmutableList.copyOf(cors) : null ;
+ 487 0 return this ;
+ 488
+ }
+ 489
+
+ 490
+ public Builder acl(Iterable<Acl> acl) {
+ 491 0 this .acl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 492 0 return this ;
+ 493
+ }
+ 494
+
+ 495
+ public Builder defaultAcl(Iterable<Acl> acl) {
+ 496 0 this .defaultAcl = acl != null ? ImmutableList.copyOf(acl) : null ;
+ 497 0 return this ;
+ 498
+ }
+ 499
+
+ 500
+ public BucketInfo build() {
+ 501 0 checkNotNull(name);
+ 502 0 return new BucketInfo(this );
+ 503
+ }
+ 504
+ }
+ 505
+
+ 506 0 private BucketInfo(Builder builder) {
+ 507 0 id = builder.id;
+ 508 0 name = builder.name;
+ 509 0 etag = builder.etag;
+ 510 0 createTime = builder.createTime;
+ 511 0 metageneration = builder.metageneration;
+ 512 0 location = builder.location;
+ 513 0 storageClass = builder.storageClass;
+ 514 0 cors = builder.cors;
+ 515 0 acl = builder.acl;
+ 516 0 defaultAcl = builder.defaultAcl;
+ 517 0 owner = builder.owner;
+ 518 0 selfLink = builder.selfLink;
+ 519 0 versioningEnabled = builder.versioningEnabled;
+ 520 0 indexPage = builder.indexPage;
+ 521 0 notFoundPage = builder.notFoundPage;
+ 522 0 deleteRules = builder.deleteRules;
+ 523 0 }
+ 524
+
+ 525
+ public String id() {
+ 526 0 return id;
+ 527
+ }
+ 528
+
+ 529
+ public String name() {
+ 530 0 return name;
+ 531
+ }
+ 532
+
+ 533
+ public Entity owner() {
+ 534 0 return owner;
+ 535
+ }
+ 536
+
+ 537
+ public String selfLink() {
+ 538 0 return selfLink;
+ 539
+ }
+ 540
+
+ 541
+ public Boolean versioningEnabled() {
+ 542 0 return Data.isNull(versioningEnabled) ? null : versioningEnabled;
+ 543
+ }
+ 544
+
+ 545
+ public String indexPage() {
+ 546 0 return indexPage;
+ 547
+ }
+ 548
+
+ 549
+ public String notFoundPage() {
+ 550 0 return notFoundPage;
+ 551
+ }
+ 552
+
+ 553
+ public List<? extends DeleteRule> deleteRules() {
+ 554 0 return deleteRules;
+ 555
+ }
+ 556
+
+ 557
+ public String etag() {
+ 558 0 return etag;
+ 559
+ }
+ 560
+
+ 561
+ public Long createTime() {
+ 562 0 return createTime;
+ 563
+ }
+ 564
+
+ 565
+ public Long metageneration() {
+ 566 0 return metageneration;
+ 567
+ }
+ 568
+
+ 569
+ public Location location() {
+ 570 0 return location == null || Data.isNull(location.value) ? null : location;
+ 571
+ }
+ 572
+
+ 573
+ public StorageClass storageClass() {
+ 574 0 return storageClass == null || Data.isNull(storageClass.value) ? null : storageClass;
+ 575
+ }
+ 576
+
+ 577
+ public List<Cors> cors() {
+ 578 0 return cors;
+ 579
+ }
+ 580
+
+ 581
+ public List<Acl> acl() {
+ 582 0 return acl;
+ 583
+ }
+ 584
+
+ 585
+ public List<Acl> defaultAcl() {
+ 586 0 return defaultAcl;
+ 587
+ }
+ 588
+
+ 589
+ public Builder toBuilder() {
+ 590 0 return new Builder()
+ 591 0 .name(name)
+ 592 0 .id(id)
+ 593 0 .createTime(createTime)
+ 594 0 .etag(etag)
+ 595 0 .metageneration(metageneration)
+ 596 0 .cors(cors)
+ 597 0 .acl(acl)
+ 598 0 .defaultAcl(defaultAcl)
+ 599 0 .location(location)
+ 600 0 .storageClass(storageClass)
+ 601 0 .owner(owner)
+ 602 0 .selfLink(selfLink)
+ 603 0 .versioningEnabled(versioningEnabled)
+ 604 0 .indexPage(indexPage)
+ 605 0 .notFoundPage(notFoundPage)
+ 606 0 .deleteRules(deleteRules);
+ 607
+ }
+ 608
+
+ 609
+ @Override
+ 610
+ public int hashCode() {
+ 611 0 return Objects.hash(name);
+ 612
+ }
+ 613
+
+ 614
+ @Override
+ 615
+ public boolean equals(Object obj) {
+ 616 0 if (!(obj instanceof BucketInfo)) {
+ 617 0 return false ;
+ 618
+ }
+ 619 0 return Objects.equals(toPb(), ((BucketInfo) obj).toPb());
+ 620
+ }
+ 621
+
+ 622
+ @Override
+ 623
+ public String toString() {
+ 624 0 return MoreObjects.toStringHelper(this )
+ 625 0 .add("name" , name())
+ 626 0 .toString();
+ 627
+ }
+ 628
+
+ 629
+ public static BucketInfo of(String name) {
+ 630 0 return builder(name).build();
+ 631
+ }
+ 632
+
+ 633
+ public static Builder builder(String name) {
+ 634 0 return new Builder().name(name);
+ 635
+ }
+ 636
+
+ 637
+ com.google.api.services.storage.model.Bucket toPb() {
+ 638 0 com.google.api.services.storage.model.Bucket bucketPb =
+ 639
+ new com.google.api.services.storage.model.Bucket();
+ 640 0 bucketPb.setId(id);
+ 641 0 bucketPb.setName(name);
+ 642 0 bucketPb.setEtag(etag);
+ 643 0 if (createTime != null ) {
+ 644 0 bucketPb.setTimeCreated(new DateTime(createTime));
+ 645
+ }
+ 646 0 if (metageneration != null ) {
+ 647 0 bucketPb.setMetageneration(metageneration);
+ 648
+ }
+ 649 0 if (location != null ) {
+ 650 0 bucketPb.setLocation(location.value());
+ 651
+ }
+ 652 0 if (storageClass != null ) {
+ 653 0 bucketPb.setStorageClass(storageClass.value());
+ 654
+ }
+ 655 0 if (cors != null ) {
+ 656 0 bucketPb.setCors(transform(cors, Cors.TO_PB_FUNCTION));
+ 657
+ }
+ 658 0 if (acl != null ) {
+ 659 0 bucketPb.setAcl(transform(acl, new Function<Acl, BucketAccessControl>() {
+ 660
+ @Override
+ 661
+ public BucketAccessControl apply(Acl acl) {
+ 662 0 return acl.toBucketPb();
+ 663
+ }
+ 664
+ }));
+ 665
+ }
+ 666 0 if (defaultAcl != null ) {
+ 667 0 bucketPb.setDefaultObjectAcl(transform(defaultAcl, new Function<Acl, ObjectAccessControl>() {
+ 668
+ @Override
+ 669
+ public ObjectAccessControl apply(Acl acl) {
+ 670 0 return acl.toObjectPb();
+ 671
+ }
+ 672
+ }));
+ 673
+ }
+ 674 0 if (owner != null ) {
+ 675 0 bucketPb.setOwner(new Owner().setEntity(owner.toPb()));
+ 676
+ }
+ 677 0 bucketPb.setSelfLink(selfLink);
+ 678 0 if (versioningEnabled != null ) {
+ 679 0 bucketPb.setVersioning(new Versioning().setEnabled(versioningEnabled));
+ 680
+ }
+ 681 0 if (indexPage != null || notFoundPage != null ) {
+ 682 0 Website website = new Website();
+ 683 0 website.setMainPageSuffix(indexPage);
+ 684 0 website.setNotFoundPage(notFoundPage);
+ 685 0 bucketPb.setWebsite(website);
+ 686
+ }
+ 687 0 if (deleteRules != null ) {
+ 688 0 Lifecycle lifecycle = new Lifecycle();
+ 689 0 lifecycle.setRule(transform(deleteRules, new Function<DeleteRule, Rule>() {
+ 690
+ @Override
+ 691
+ public Rule apply(DeleteRule deleteRule) {
+ 692 0 return deleteRule.toPb();
+ 693
+ }
+ 694
+ }));
+ 695 0 bucketPb.setLifecycle(lifecycle);
+ 696
+ }
+ 697 0 return bucketPb;
+ 698
+ }
+ 699
+
+ 700
+ static BucketInfo fromPb(com.google.api.services.storage.model.Bucket bucketPb) {
+ 701 0 Builder builder = new Builder()
+ 702 0 .name(bucketPb.getName())
+ 703 0 .id(bucketPb.getId())
+ 704 0 .etag(bucketPb.getEtag())
+ 705 0 .metageneration(bucketPb.getMetageneration())
+ 706 0 .createTime(bucketPb.getTimeCreated().getValue())
+ 707 0 .location(Location.of(bucketPb.getLocation()))
+ 708 0 .selfLink(bucketPb.getSelfLink());
+ 709 0 if (bucketPb.getStorageClass() != null ) {
+ 710 0 builder.storageClass(StorageClass.of(bucketPb.getStorageClass()));
+ 711
+ }
+ 712 0 if (bucketPb.getCors() != null ) {
+ 713 0 builder.cors(transform(bucketPb.getCors(), Cors.FROM_PB_FUNCTION));
+ 714
+ }
+ 715 0 if (bucketPb.getAcl() != null ) {
+ 716 0 builder.acl(transform(bucketPb.getAcl(), new Function<BucketAccessControl, Acl>() {
+ 717
+ @Override
+ 718
+ public Acl apply(BucketAccessControl bucketAccessControl) {
+ 719 0 return Acl.fromPb(bucketAccessControl);
+ 720
+ }
+ 721
+ }));
+ 722
+ }
+ 723 0 if (bucketPb.getDefaultObjectAcl() != null ) {
+ 724 0 builder.defaultAcl(transform(bucketPb.getDefaultObjectAcl(),
+ 725 0 new Function<ObjectAccessControl, Acl>() {
+ 726
+ @Override
+ 727
+ public Acl apply(ObjectAccessControl objectAccessControl) {
+ 728 0 return Acl.fromPb(objectAccessControl);
+ 729
+ }
+ 730
+ }));
+ 731
+ }
+ 732 0 if (bucketPb.getOwner() != null ) {
+ 733 0 builder.owner(Entity.fromPb(bucketPb.getOwner().getEntity()));
+ 734
+ }
+ 735 0 if (bucketPb.getVersioning() != null ) {
+ 736 0 builder.versioningEnabled(bucketPb.getVersioning().getEnabled());
+ 737
+ }
+ 738 0 Website website = bucketPb.getWebsite();
+ 739 0 if (website != null ) {
+ 740 0 builder.indexPage(website.getMainPageSuffix());
+ 741 0 builder.notFoundPage(website.getNotFoundPage());
+ 742
+ }
+ 743 0 if (bucketPb.getLifecycle() != null && bucketPb.getLifecycle().getRule() != null ) {
+ 744 0 builder.deleteRules(transform(bucketPb.getLifecycle().getRule(),
+ 745 0 new Function<Rule, DeleteRule>() {
+ 746
+ @Override
+ 747
+ public DeleteRule apply(Rule rule) {
+ 748 0 return DeleteRule.fromPb(rule);
+ 749
+ }
+ 750
+ }));
+ 751
+ }
+ 752 0 return builder.build();
+ 753
+ }
+ 754
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Cors.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Cors.html
new file mode 100644
index 000000000000..fe5f804d5263
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Cors.html
@@ -0,0 +1,425 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Cors
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+ import static com.google.common.collect.Iterables.transform;
+ 21
+ import static com.google.common.collect.Lists.newArrayList;
+ 22
+
+ 23
+ import com.google.api.services.storage.model.Bucket;
+ 24
+ import com.google.common.base.Function;
+ 25
+ import com.google.common.base.Functions;
+ 26
+ import com.google.common.collect.ImmutableList;
+ 27
+
+ 28
+ import java.io.Serializable;
+ 29
+ import java.net.URI;
+ 30
+ import java.net.URISyntaxException;
+ 31
+ import java.util.List;
+ 32
+ import java.util.Objects;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37 0 public final class Cors implements Serializable {
+ 38
+
+ 39
+ private static final long serialVersionUID = -8637770919343335655L;
+ 40
+
+ 41 0 static final Function<Bucket.Cors, Cors> FROM_PB_FUNCTION = new Function<Bucket.Cors, Cors>() {
+ 42
+ @Override
+ 43
+ public Cors apply(Bucket.Cors pb) {
+ 44 0 return Cors.fromPb(pb);
+ 45
+ }
+ 46
+ };
+ 47
+
+ 48 0 static final Function<Cors, Bucket.Cors> TO_PB_FUNCTION = new Function<Cors, Bucket.Cors>() {
+ 49
+ @Override
+ 50
+ public Bucket.Cors apply(Cors cors) {
+ 51 0 return cors.toPb();
+ 52
+ }
+ 53
+ };
+ 54
+
+ 55
+ private final Integer maxAgeSeconds;
+ 56
+ private final ImmutableList<HttpMethod> methods;
+ 57
+ private final ImmutableList<Origin> origins;
+ 58
+ private final ImmutableList<String> responseHeaders;
+ 59
+
+ 60
+ public static final class Origin implements Serializable {
+ 61
+
+ 62
+ private static final long serialVersionUID = -4447958124895577993L;
+ 63
+ private static final String ANY_URI = "*" ;
+ 64
+ private final String value;
+ 65
+
+ 66 0 private static final Origin ANY = new Origin(ANY_URI);
+ 67
+
+ 68 0 private Origin(String value) {
+ 69 0 this .value = checkNotNull(value);
+ 70 0 }
+ 71
+
+ 72
+ public static Origin any() {
+ 73 0 return ANY;
+ 74
+ }
+ 75
+
+ 76
+ public static Origin of(String scheme, String host, int port) {
+ 77
+ try {
+ 78 0 return of(new URI(scheme, null , host, port, null , null , null ).toString());
+ 79 0 } catch (URISyntaxException e) {
+ 80 0 throw new IllegalArgumentException(e);
+ 81
+ }
+ 82
+ }
+ 83
+
+ 84
+ public static Origin of(String value) {
+ 85 0 if (ANY_URI.equals(value)) {
+ 86 0 return any();
+ 87
+ }
+ 88 0 return new Origin(value);
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public int hashCode() {
+ 93 0 return value.hashCode();
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public boolean equals(Object obj) {
+ 98 0 if (!(obj instanceof Origin)) {
+ 99 0 return false ;
+ 100
+ }
+ 101 0 return value.equals(((Origin)obj).value);
+ 102
+ }
+ 103
+
+ 104
+ @Override
+ 105
+ public String toString() {
+ 106 0 return value();
+ 107
+ }
+ 108
+
+ 109
+ public String value() {
+ 110 0 return value;
+ 111
+ }
+ 112
+ }
+ 113
+
+ 114 0 public static final class Builder {
+ 115
+
+ 116
+ private Integer maxAgeSeconds;
+ 117
+ private ImmutableList<HttpMethod> methods;
+ 118
+ private ImmutableList<Origin> origins;
+ 119
+ private ImmutableList<String> responseHeaders;
+ 120
+
+ 121
+ private Builder() {}
+ 122
+
+ 123
+ public Builder maxAgeSeconds(Integer maxAgeSeconds) {
+ 124 0 this .maxAgeSeconds = maxAgeSeconds;
+ 125 0 return this ;
+ 126
+ }
+ 127
+
+ 128
+ public Builder methods(Iterable<HttpMethod> methods) {
+ 129 0 this .methods = methods != null ? ImmutableList.copyOf(methods) : null ;
+ 130 0 return this ;
+ 131
+ }
+ 132
+
+ 133
+ public Builder origins(Iterable<Origin> origins) {
+ 134 0 this .origins = origins != null ? ImmutableList.copyOf(origins) : null ;
+ 135 0 return this ;
+ 136
+ }
+ 137
+
+ 138
+ public Builder responseHeaders(Iterable<String> headers) {
+ 139 0 this .responseHeaders = headers != null ? ImmutableList.copyOf(headers) : null ;
+ 140 0 return this ;
+ 141
+ }
+ 142
+
+ 143
+ public Cors build() {
+ 144 0 return new Cors(this );
+ 145
+ }
+ 146
+ }
+ 147
+
+ 148 0 private Cors(Builder builder) {
+ 149 0 this .maxAgeSeconds = builder.maxAgeSeconds;
+ 150 0 this .methods = builder.methods;
+ 151 0 this .origins = builder.origins;
+ 152 0 this .responseHeaders = builder.responseHeaders;
+ 153 0 }
+ 154
+
+ 155
+ public Integer maxAgeSeconds() {
+ 156 0 return maxAgeSeconds;
+ 157
+ }
+ 158
+
+ 159
+ public List<HttpMethod> methods() {
+ 160 0 return methods;
+ 161
+ }
+ 162
+
+ 163
+ public List<Origin> origins() {
+ 164 0 return origins;
+ 165
+ }
+ 166
+
+ 167
+ public List<String> responseHeaders() {
+ 168 0 return responseHeaders;
+ 169
+ }
+ 170
+
+ 171
+ public Builder toBuilder() {
+ 172 0 return builder()
+ 173 0 .maxAgeSeconds(maxAgeSeconds)
+ 174 0 .methods(methods)
+ 175 0 .origins(origins)
+ 176 0 .responseHeaders(responseHeaders);
+ 177
+ }
+ 178
+
+ 179
+ @Override
+ 180
+ public int hashCode() {
+ 181 0 return Objects.hash(maxAgeSeconds, methods, origins, responseHeaders);
+ 182
+ }
+ 183
+
+ 184
+ @Override
+ 185
+ public boolean equals(Object obj) {
+ 186 0 if (!(obj instanceof Cors)) {
+ 187 0 return false ;
+ 188
+ }
+ 189 0 Cors other = (Cors) obj;
+ 190 0 return Objects.equals(maxAgeSeconds, other.maxAgeSeconds)
+ 191 0 && Objects.equals(methods, other.methods)
+ 192 0 && Objects.equals(origins, other.origins)
+ 193 0 && Objects.equals(responseHeaders, other.responseHeaders);
+ 194
+ }
+ 195
+
+ 196
+ public static Builder builder() {
+ 197 0 return new Builder();
+ 198
+ }
+ 199
+
+ 200
+ Bucket.Cors toPb() {
+ 201 0 Bucket.Cors pb = new Bucket.Cors();
+ 202 0 pb.setMaxAgeSeconds(maxAgeSeconds);
+ 203 0 pb.setResponseHeader(responseHeaders);
+ 204 0 if (methods != null ) {
+ 205 0 pb.setMethod(newArrayList(transform(methods, Functions.toStringFunction())));
+ 206
+ }
+ 207 0 if (origins != null ) {
+ 208 0 pb.setOrigin(newArrayList(transform(origins, Functions.toStringFunction())));
+ 209
+ }
+ 210 0 return pb;
+ 211
+ }
+ 212
+
+ 213
+ static Cors fromPb(Bucket.Cors cors) {
+ 214 0 Builder builder = builder().maxAgeSeconds(cors.getMaxAgeSeconds());
+ 215 0 if (cors.getMethod() != null ) {
+ 216 0 builder.methods(transform(cors.getMethod(), new Function<String, HttpMethod>() {
+ 217
+ @Override
+ 218
+ public HttpMethod apply(String name) {
+ 219 0 return HttpMethod.valueOf(name.toUpperCase());
+ 220
+ }
+ 221
+ }));
+ 222
+ }
+ 223 0 if (cors.getOrigin() != null ) {
+ 224 0 builder.origins(transform(cors.getOrigin(), new Function<String, Origin>() {
+ 225
+ @Override
+ 226
+ public Origin apply(String value) {
+ 227 0 return Origin.of(value);
+ 228
+ }
+ 229
+ }));
+ 230
+ }
+ 231 0 builder.responseHeaders(cors.getResponseHeader());
+ 232 0 return builder.build();
+ 233
+ }
+ 234
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.HttpMethod.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.HttpMethod.html
new file mode 100644
index 000000000000..27104b3938e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.HttpMethod.html
@@ -0,0 +1,70 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.HttpMethod
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22 0 public enum HttpMethod {
+ 23 0 GET, HEAD, PUT, POST, DELETE
+ 24
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.ListResult.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.ListResult.html
new file mode 100644
index 000000000000..4b85fabc3957
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.ListResult.html
@@ -0,0 +1,178 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.ListResult
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+ import java.io.Serializable;
+ 21
+ import java.util.Collections;
+ 22
+ import java.util.Iterator;
+ 23
+ import java.util.Objects;
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public final class ListResult<T extends Serializable> implements Iterable<T>, Serializable {
+ 29
+
+ 30
+ private static final long serialVersionUID = -6937287874908527950L;
+ 31
+
+ 32
+ private final String cursor;
+ 33
+ private final Iterable<T> results;
+ 34
+ private final NextPageFetcher<T> pageFetcher;
+ 35
+
+ 36
+ public interface NextPageFetcher<T extends Serializable> extends Serializable {
+ 37
+ ListResult<T> nextPage();
+ 38
+ }
+ 39
+
+ 40
+ public ListResult(NextPageFetcher<T> pageFetcher, String cursor, Iterable<T> results) {
+ 41
+ this .pageFetcher = pageFetcher;
+ 42
+ this .cursor = cursor;
+ 43
+ this .results = results;
+ 44
+ }
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ public String nextPageCursor() {
+ 50 0 return cursor;
+ 51
+ }
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+ public ListResult<T> nextPage() {
+ 57 0 if (cursor == null || pageFetcher == null ) {
+ 58 0 return null ;
+ 59
+ }
+ 60 0 return pageFetcher.nextPage();
+ 61
+ }
+ 62
+
+ 63
+ @Override
+ 64
+ public Iterator<T> iterator() {
+ 65 0 return results == null ? Collections.<T>emptyIterator() : results.iterator();
+ 66
+ }
+ 67
+
+ 68
+ @Override
+ 69
+ public int hashCode() {
+ 70 0 return Objects.hash(cursor, results);
+ 71
+ }
+ 72
+
+ 73
+ @Override
+ 74
+ public boolean equals(Object obj) {
+ 75 0 if (!(obj instanceof ListResult)) {
+ 76 0 return false ;
+ 77
+ }
+ 78 0 ListResult<?> other = (ListResult<?>) obj;
+ 79 0 return Objects.equals(cursor, other.cursor)
+ 80 0 && Objects.equals(results, other.results);
+ 81
+ }
+ 82
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Option.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Option.html
new file mode 100644
index 000000000000..0b50581e4893
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Option.html
@@ -0,0 +1,152 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Option
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 20
+
+ 21
+ import com.google.common.base.MoreObjects;
+ 22
+ import com.google.gcloud.spi.StorageRpc;
+ 23
+
+ 24
+ import java.io.Serializable;
+ 25
+ import java.util.Objects;
+ 26
+
+ 27
+
+ 28
+
+ 29
+
+ 30
+ class Option implements Serializable {
+ 31
+
+ 32
+ private static final long serialVersionUID = -73199088766477208L;
+ 33
+
+ 34
+ private final StorageRpc.Option rpcOption;
+ 35
+ private final Object value;
+ 36
+
+ 37 0 Option(StorageRpc.Option rpcOption, Object value) {
+ 38 0 this .rpcOption = checkNotNull(rpcOption);
+ 39 0 this .value = value;
+ 40 0 }
+ 41
+
+ 42
+ StorageRpc.Option rpcOption() {
+ 43 0 return rpcOption;
+ 44
+ }
+ 45
+
+ 46
+ Object value() {
+ 47 0 return value;
+ 48
+ }
+ 49
+
+ 50
+ @Override
+ 51
+ public boolean equals(Object obj) {
+ 52 0 if (!(obj instanceof Option)) {
+ 53 0 return false ;
+ 54
+ }
+ 55 0 Option other = (Option) obj;
+ 56 0 return Objects.equals(rpcOption, other.rpcOption)
+ 57 0 && Objects.equals(value, other.value);
+ 58
+ }
+ 59
+
+ 60
+ @Override
+ 61
+ public int hashCode() {
+ 62 0 return Objects.hash(rpcOption, value);
+ 63
+ }
+ 64
+
+ 65
+ @Override
+ 66
+ public String toString() {
+ 67 0 return MoreObjects.toStringHelper(this )
+ 68 0 .add("name" , rpcOption.value())
+ 69 0 .add("value" , value)
+ 70 0 .toString();
+ 71
+ }
+ 72
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Storage.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Storage.html
new file mode 100644
index 000000000000..b997017c1087
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.Storage.html
@@ -0,0 +1,1131 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.Storage
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.Preconditions.checkArgument;
+ 20
+ import static com.google.common.base.Preconditions.checkNotNull;
+ 21
+
+ 22
+ import com.google.common.collect.ImmutableList;
+ 23
+ import com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials;
+ 24
+ import com.google.gcloud.Service;
+ 25
+ import com.google.gcloud.spi.StorageRpc;
+ 26
+
+ 27
+ import java.io.Serializable;
+ 28
+ import java.net.URL;
+ 29
+ import java.util.Arrays;
+ 30
+ import java.util.Collections;
+ 31
+ import java.util.LinkedHashSet;
+ 32
+ import java.util.LinkedList;
+ 33
+ import java.util.List;
+ 34
+ import java.util.Set;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public interface Storage extends Service<StorageOptions> {
+ 42
+
+ 43 0 enum PredefinedAcl {
+ 44 0 AUTHENTICATED_READ("authenticatedRead" ),
+ 45 0 ALL_AUTHENTICATED_USERS("allAuthenticatedUsers" ),
+ 46 0 PRIVATE("private" ),
+ 47 0 PROJECT_PRIVATE("projectPrivate" ),
+ 48 0 PUBLIC_READ("publicRead" ),
+ 49 0 PUBLIC_READ_WRITE("publicReadWrite" ),
+ 50 0 BUCKET_OWNER_READ("bucketOwnerRead" ),
+ 51 0 BUCKET_OWNER_FULL_CONTROL("bucketOwnerFullControl" );
+ 52
+
+ 53
+ private final String entry;
+ 54
+
+ 55
+ PredefinedAcl(String entry) {
+ 56
+ this .entry = entry;
+ 57
+ }
+ 58
+
+ 59
+ String entry() {
+ 60 0 return entry;
+ 61
+ }
+ 62
+ }
+ 63
+
+ 64 0 class BucketTargetOption extends Option {
+ 65
+
+ 66
+ private static final long serialVersionUID = -5880204616982900975L;
+ 67
+
+ 68
+ private BucketTargetOption(StorageRpc.Option rpcOption, Object value) {
+ 69
+ super (rpcOption, value);
+ 70
+ }
+ 71
+
+ 72
+ private BucketTargetOption(StorageRpc.Option rpcOption) {
+ 73 0 this (rpcOption, null );
+ 74 0 }
+ 75
+
+ 76
+ public static BucketTargetOption predefinedAcl(PredefinedAcl acl) {
+ 77 0 return new BucketTargetOption(StorageRpc.Option.PREDEFINED_ACL, acl.entry());
+ 78
+ }
+ 79
+
+ 80
+ public static BucketTargetOption predefinedDefaultObjectAcl(PredefinedAcl acl) {
+ 81 0 return new BucketTargetOption(StorageRpc.Option.PREDEFINED_DEFAULT_OBJECT_ACL, acl.entry());
+ 82
+ }
+ 83
+
+ 84
+ public static BucketTargetOption metagenerationMatch() {
+ 85 0 return new BucketTargetOption(StorageRpc.Option.IF_METAGENERATION_MATCH);
+ 86
+ }
+ 87
+
+ 88
+ public static BucketTargetOption metagenerationNotMatch() {
+ 89 0 return new BucketTargetOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH);
+ 90
+ }
+ 91
+ }
+ 92
+
+ 93 0 class BucketSourceOption extends Option {
+ 94
+
+ 95
+ private static final long serialVersionUID = 5185657617120212117L;
+ 96
+
+ 97
+ private BucketSourceOption(StorageRpc.Option rpcOption, long metageneration) {
+ 98 0 super (rpcOption, metageneration);
+ 99 0 }
+ 100
+
+ 101
+ public static BucketSourceOption metagenerationMatch(long metageneration) {
+ 102 0 return new BucketSourceOption(StorageRpc.Option.IF_METAGENERATION_MATCH, metageneration);
+ 103
+ }
+ 104
+
+ 105
+ public static BucketSourceOption metagenerationNotMatch(long metageneration) {
+ 106 0 return new BucketSourceOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH, metageneration);
+ 107
+ }
+ 108
+ }
+ 109
+
+ 110 0 class BlobTargetOption extends Option {
+ 111
+
+ 112
+ private static final long serialVersionUID = 214616862061934846L;
+ 113
+
+ 114
+ private BlobTargetOption(StorageRpc.Option rpcOption, Object value) {
+ 115
+ super (rpcOption, value);
+ 116
+ }
+ 117
+
+ 118
+ private BlobTargetOption(StorageRpc.Option rpcOption) {
+ 119 0 this (rpcOption, null );
+ 120 0 }
+ 121
+
+ 122
+ public static BlobTargetOption predefinedAcl(PredefinedAcl acl) {
+ 123 0 return new BlobTargetOption(StorageRpc.Option.PREDEFINED_ACL, acl.entry());
+ 124
+ }
+ 125
+
+ 126
+ public static BlobTargetOption doesNotExist() {
+ 127 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_MATCH, 0L);
+ 128
+ }
+ 129
+
+ 130
+ public static BlobTargetOption generationMatch() {
+ 131 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_MATCH);
+ 132
+ }
+ 133
+
+ 134
+ public static BlobTargetOption generationNotMatch() {
+ 135 0 return new BlobTargetOption(StorageRpc.Option.IF_GENERATION_NOT_MATCH);
+ 136
+ }
+ 137
+
+ 138
+ public static BlobTargetOption metagenerationMatch() {
+ 139 0 return new BlobTargetOption(StorageRpc.Option.IF_METAGENERATION_MATCH);
+ 140
+ }
+ 141
+
+ 142
+ public static BlobTargetOption metagenerationNotMatch() {
+ 143 0 return new BlobTargetOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH);
+ 144
+ }
+ 145
+ }
+ 146
+
+ 147 0 class BlobSourceOption extends Option {
+ 148
+
+ 149
+ private static final long serialVersionUID = -3712768261070182991L;
+ 150
+
+ 151
+ private BlobSourceOption(StorageRpc.Option rpcOption, long value) {
+ 152 0 super (rpcOption, value);
+ 153 0 }
+ 154
+
+ 155
+ public static BlobSourceOption generationMatch(long generation) {
+ 156 0 return new BlobSourceOption(StorageRpc.Option.IF_GENERATION_MATCH, generation);
+ 157
+ }
+ 158
+
+ 159
+ public static BlobSourceOption generationNotMatch(long generation) {
+ 160 0 return new BlobSourceOption(StorageRpc.Option.IF_GENERATION_NOT_MATCH, generation);
+ 161
+ }
+ 162
+
+ 163
+ public static BlobSourceOption metagenerationMatch(long metageneration) {
+ 164 0 return new BlobSourceOption(StorageRpc.Option.IF_METAGENERATION_MATCH, metageneration);
+ 165
+ }
+ 166
+
+ 167
+ public static BlobSourceOption metagenerationNotMatch(long metageneration) {
+ 168 0 return new BlobSourceOption(StorageRpc.Option.IF_METAGENERATION_NOT_MATCH, metageneration);
+ 169
+ }
+ 170
+ }
+ 171
+
+ 172 0 class BucketListOption extends Option {
+ 173
+
+ 174
+ private static final long serialVersionUID = 8754017079673290353L;
+ 175
+
+ 176
+ private BucketListOption(StorageRpc.Option option, Object value) {
+ 177
+ super (option, value);
+ 178
+ }
+ 179
+
+ 180
+ public static BucketListOption maxResults(long maxResults) {
+ 181 0 return new BucketListOption(StorageRpc.Option.MAX_RESULTS, maxResults);
+ 182
+ }
+ 183
+
+ 184
+ public static BucketListOption startPageToken(String pageToken) {
+ 185 0 return new BucketListOption(StorageRpc.Option.PAGE_TOKEN, pageToken);
+ 186
+ }
+ 187
+
+ 188
+ public static BucketListOption prefix(String prefix) {
+ 189 0 return new BucketListOption(StorageRpc.Option.PREFIX, prefix);
+ 190
+ }
+ 191
+ }
+ 192
+
+ 193 0 class BlobListOption extends Option {
+ 194
+
+ 195
+ private static final long serialVersionUID = 9083383524788661294L;
+ 196
+
+ 197
+ private BlobListOption(StorageRpc.Option option, Object value) {
+ 198
+ super (option, value);
+ 199
+ }
+ 200
+
+ 201
+ public static BlobListOption maxResults(long maxResults) {
+ 202 0 return new BlobListOption(StorageRpc.Option.MAX_RESULTS, maxResults);
+ 203
+ }
+ 204
+
+ 205
+ public static BlobListOption startPageToken(String pageToken) {
+ 206 0 return new BlobListOption(StorageRpc.Option.PAGE_TOKEN, pageToken);
+ 207
+ }
+ 208
+
+ 209
+ public static BlobListOption prefix(String prefix) {
+ 210 0 return new BlobListOption(StorageRpc.Option.PREFIX, prefix);
+ 211
+ }
+ 212
+
+ 213
+ public static BlobListOption recursive(boolean recursive) {
+ 214 0 return new BlobListOption(StorageRpc.Option.DELIMITER, recursive);
+ 215
+ }
+ 216
+ }
+ 217
+
+ 218
+ class SignUrlOption implements Serializable {
+ 219
+
+ 220
+ private static final long serialVersionUID = 7850569877451099267L;
+ 221
+
+ 222
+ private final Option option;
+ 223
+ private final Object value;
+ 224
+
+ 225 0 enum Option {
+ 226 0 HTTP_METHOD, CONTENT_TYPE, MD5, SERVICE_ACCOUNT_CRED;
+ 227
+ }
+ 228
+
+ 229
+ private SignUrlOption(Option option, Object value) {
+ 230
+ this .option = option;
+ 231
+ this .value = value;
+ 232
+ }
+ 233
+
+ 234
+ Option option() {
+ 235 0 return option;
+ 236
+ }
+ 237
+
+ 238
+ Object value() {
+ 239 0 return value;
+ 240
+ }
+ 241
+
+ 242
+
+ 243
+
+ 244
+
+ 245
+ public static SignUrlOption httpMethod(HttpMethod httpMethod) {
+ 246 0 return new SignUrlOption(Option.HTTP_METHOD, httpMethod.name());
+ 247
+ }
+ 248
+
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+ public static SignUrlOption withContentType() {
+ 254 0 return new SignUrlOption(Option.CONTENT_TYPE, true );
+ 255
+ }
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+ public static SignUrlOption withMd5() {
+ 262 0 return new SignUrlOption(Option.MD5, true );
+ 263
+ }
+ 264
+
+ 265
+
+ 266
+
+ 267
+
+ 268
+
+ 269
+
+ 270
+
+ 271
+
+ 272
+ public static SignUrlOption serviceAccount(ServiceAccountAuthCredentials credentials) {
+ 273 0 return new SignUrlOption(Option.SERVICE_ACCOUNT_CRED, credentials);
+ 274
+ }
+ 275
+ }
+ 276
+
+ 277 0 class ComposeRequest implements Serializable {
+ 278
+
+ 279
+ private static final long serialVersionUID = -7385681353748590911L;
+ 280
+
+ 281
+ private final List<SourceBlob> sourceBlobs;
+ 282
+ private final BlobInfo target;
+ 283
+ private final List<BlobTargetOption> targetOptions;
+ 284
+
+ 285
+ public static class SourceBlob implements Serializable {
+ 286
+
+ 287
+ private static final long serialVersionUID = 4094962795951990439L;
+ 288
+
+ 289
+ final String name;
+ 290
+ final Long generation;
+ 291
+
+ 292
+ SourceBlob(String name) {
+ 293 0 this (name, null );
+ 294 0 }
+ 295
+
+ 296
+ SourceBlob(String name, Long generation) {
+ 297
+ this .name = name;
+ 298
+ this .generation = generation;
+ 299
+ }
+ 300
+
+ 301
+ public String name() {
+ 302 0 return name;
+ 303
+ }
+ 304
+
+ 305
+ public Long generation() {
+ 306 0 return generation;
+ 307
+ }
+ 308
+ }
+ 309
+
+ 310 0 public static class Builder {
+ 311
+
+ 312 0 private final List<SourceBlob> sourceBlobs = new LinkedList<>();
+ 313
+ private BlobInfo target;
+ 314 0 private final Set<BlobTargetOption> targetOptions = new LinkedHashSet<>();
+ 315
+
+ 316
+ public Builder addSource(Iterable<String> blobs) {
+ 317 0 for (String blob : blobs) {
+ 318 0 sourceBlobs.add(new SourceBlob(blob));
+ 319 0 }
+ 320 0 return this ;
+ 321
+ }
+ 322
+
+ 323
+ public Builder addSource(String... blobs) {
+ 324 0 return addSource(Arrays.asList(blobs));
+ 325
+ }
+ 326
+
+ 327
+
+ 328
+
+ 329
+
+ 330
+ public Builder addSource(String blob, long generation) {
+ 331 0 sourceBlobs.add(new SourceBlob(blob, generation));
+ 332 0 return this ;
+ 333
+ }
+ 334
+
+ 335
+ public Builder target(BlobInfo target) {
+ 336 0 this .target = target;
+ 337 0 return this ;
+ 338
+ }
+ 339
+
+ 340
+ public Builder targetOptions(BlobTargetOption... options) {
+ 341 0 Collections.addAll(targetOptions, options);
+ 342 0 return this ;
+ 343
+ }
+ 344
+
+ 345
+ public ComposeRequest build() {
+ 346 0 checkArgument(!sourceBlobs.isEmpty());
+ 347 0 checkNotNull(target);
+ 348 0 return new ComposeRequest(this );
+ 349
+ }
+ 350
+ }
+ 351
+
+ 352 0 private ComposeRequest(Builder builder) {
+ 353 0 sourceBlobs = ImmutableList.copyOf(builder.sourceBlobs);
+ 354 0 target = builder.target;
+ 355 0 targetOptions = ImmutableList.copyOf(builder.targetOptions);
+ 356 0 }
+ 357
+
+ 358
+ public List<SourceBlob> sourceBlobs() {
+ 359 0 return sourceBlobs;
+ 360
+ }
+ 361
+
+ 362
+ public BlobInfo target() {
+ 363 0 return target;
+ 364
+ }
+ 365
+
+ 366
+ public List<BlobTargetOption> targetOptions() {
+ 367 0 return targetOptions;
+ 368
+ }
+ 369
+
+ 370
+ public static ComposeRequest of(Iterable<String> sources, BlobInfo target) {
+ 371 0 return builder().target(target).addSource(sources).build();
+ 372
+ }
+ 373
+
+ 374
+ public static ComposeRequest of(String bucket, Iterable<String> sources, String target) {
+ 375 0 return of(sources, BlobInfo.of(bucket, target));
+ 376
+ }
+ 377
+
+ 378
+ public static Builder builder() {
+ 379 0 return new Builder();
+ 380
+ }
+ 381
+ }
+ 382
+
+ 383 0 class CopyRequest implements Serializable {
+ 384
+
+ 385
+ private static final long serialVersionUID = -2606508373751748775L;
+ 386
+
+ 387
+ private final String sourceBucket;
+ 388
+ private final String sourceBlob;
+ 389
+ private final List<BlobSourceOption> sourceOptions;
+ 390
+ private final BlobInfo target;
+ 391
+ private final List<BlobTargetOption> targetOptions;
+ 392
+
+ 393 0 public static class Builder {
+ 394
+
+ 395
+ private String sourceBucket;
+ 396
+ private String sourceBlob;
+ 397 0 private final Set<BlobSourceOption> sourceOptions = new LinkedHashSet<>();
+ 398
+ private BlobInfo target;
+ 399 0 private final Set<BlobTargetOption> targetOptions = new LinkedHashSet<>();
+ 400
+
+ 401
+ public Builder source(String bucket, String blob) {
+ 402 0 this .sourceBucket = bucket;
+ 403 0 this .sourceBlob = blob;
+ 404 0 return this ;
+ 405
+ }
+ 406
+
+ 407
+ public Builder sourceOptions(BlobSourceOption... options) {
+ 408 0 Collections.addAll(sourceOptions, options);
+ 409 0 return this ;
+ 410
+ }
+ 411
+
+ 412
+ public Builder target(BlobInfo target) {
+ 413 0 this .target = target;
+ 414 0 return this ;
+ 415
+ }
+ 416
+
+ 417
+ public Builder targetOptions(BlobTargetOption... options) {
+ 418 0 Collections.addAll(targetOptions, options);
+ 419 0 return this ;
+ 420
+ }
+ 421
+
+ 422
+ public CopyRequest build() {
+ 423 0 checkNotNull(sourceBucket);
+ 424 0 checkNotNull(sourceBlob);
+ 425 0 checkNotNull(target);
+ 426 0 return new CopyRequest(this );
+ 427
+ }
+ 428
+ }
+ 429
+
+ 430 0 private CopyRequest(Builder builder) {
+ 431 0 sourceBucket = checkNotNull(builder.sourceBucket);
+ 432 0 sourceBlob = checkNotNull(builder.sourceBlob);
+ 433 0 sourceOptions = ImmutableList.copyOf(builder.sourceOptions);
+ 434 0 target = checkNotNull(builder.target);
+ 435 0 targetOptions = ImmutableList.copyOf(builder.targetOptions);
+ 436 0 }
+ 437
+
+ 438
+ public String sourceBucket() {
+ 439 0 return sourceBucket;
+ 440
+ }
+ 441
+
+ 442
+ public String sourceBlob() {
+ 443 0 return sourceBlob;
+ 444
+ }
+ 445
+
+ 446
+ public List<BlobSourceOption> sourceOptions() {
+ 447 0 return sourceOptions;
+ 448
+ }
+ 449
+
+ 450
+ public BlobInfo target() {
+ 451 0 return target;
+ 452
+ }
+ 453
+
+ 454
+ public List<BlobTargetOption> targetOptions() {
+ 455 0 return targetOptions;
+ 456
+ }
+ 457
+
+ 458
+ public static CopyRequest of(String sourceBucket, String sourceBlob, BlobInfo target) {
+ 459 0 return builder().source(sourceBucket, sourceBlob).target(target).build();
+ 460
+ }
+ 461
+
+ 462
+ public static CopyRequest of(String sourceBucket, String sourceBlob, String targetBlob) {
+ 463 0 return of(sourceBucket, sourceBlob, BlobInfo.of(sourceBucket, targetBlob));
+ 464
+ }
+ 465
+
+ 466
+ public static Builder builder() {
+ 467 0 return new Builder();
+ 468
+ }
+ 469
+ }
+ 470
+
+ 471
+
+ 472
+
+ 473
+
+ 474
+
+ 475
+
+ 476
+
+ 477
+ BucketInfo create(BucketInfo bucketInfo, BucketTargetOption... options);
+ 478
+
+ 479
+
+ 480
+
+ 481
+
+ 482
+
+ 483
+
+ 484
+
+ 485
+ BlobInfo create(BlobInfo blobInfo, byte [] content, BlobTargetOption... options);
+ 486
+
+ 487
+
+ 488
+
+ 489
+
+ 490
+
+ 491
+
+ 492
+ BucketInfo get(String bucket, BucketSourceOption... options);
+ 493
+
+ 494
+
+ 495
+
+ 496
+
+ 497
+
+ 498
+
+ 499
+ BlobInfo get(String bucket, String blob, BlobSourceOption... options);
+ 500
+
+ 501
+
+ 502
+
+ 503
+
+ 504
+
+ 505
+
+ 506
+ ListResult<BucketInfo> list(BucketListOption... options);
+ 507
+
+ 508
+
+ 509
+
+ 510
+
+ 511
+
+ 512
+
+ 513
+ ListResult<BlobInfo> list(String bucket, BlobListOption... options);
+ 514
+
+ 515
+
+ 516
+
+ 517
+
+ 518
+
+ 519
+
+ 520
+
+ 521
+ BucketInfo update(BucketInfo bucketInfo, BucketTargetOption... options);
+ 522
+
+ 523
+
+ 524
+
+ 525
+
+ 526
+
+ 527
+
+ 528
+
+ 529
+ BlobInfo update(BlobInfo blobInfo, BlobTargetOption... options);
+ 530
+
+ 531
+
+ 532
+
+ 533
+
+ 534
+
+ 535
+
+ 536
+
+ 537
+ boolean delete(String bucket, BucketSourceOption... options);
+ 538
+
+ 539
+
+ 540
+
+ 541
+
+ 542
+
+ 543
+
+ 544
+
+ 545
+ boolean delete(String bucket, String blob, BlobSourceOption... options);
+ 546
+
+ 547
+
+ 548
+
+ 549
+
+ 550
+
+ 551
+
+ 552
+
+ 553
+ BlobInfo compose(ComposeRequest composeRequest);
+ 554
+
+ 555
+
+ 556
+
+ 557
+
+ 558
+
+ 559
+
+ 560
+
+ 561
+ BlobInfo copy(CopyRequest copyRequest);
+ 562
+
+ 563
+
+ 564
+
+ 565
+
+ 566
+
+ 567
+
+ 568
+
+ 569
+ byte [] readAllBytes(String bucket, String blob, BlobSourceOption... options);
+ 570
+
+ 571
+
+ 572
+
+ 573
+
+ 574
+
+ 575
+
+ 576
+
+ 577
+ BatchResponse apply(BatchRequest batchRequest);
+ 578
+
+ 579
+
+ 580
+
+ 581
+
+ 582
+
+ 583
+
+ 584
+ BlobReadChannel reader(String bucket, String blob, BlobSourceOption... options);
+ 585
+
+ 586
+
+ 587
+
+ 588
+
+ 589
+
+ 590
+
+ 591
+ BlobWriteChannel writer(BlobInfo blobInfo, BlobTargetOption... options);
+ 592
+
+ 593
+
+ 594
+
+ 595
+
+ 596
+
+ 597
+
+ 598
+
+ 599
+
+ 600
+
+ 601
+
+ 602
+
+ 603
+
+ 604
+
+ 605
+ URL signUrl(BlobInfo blobInfo, long expirationTimeInSeconds, SignUrlOption... options);
+ 606
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageException.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageException.html
new file mode 100644
index 000000000000..2470c6920998
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageException.html
@@ -0,0 +1,118 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+ public class StorageException extends RuntimeException {
+ 26
+
+ 27
+ private static final long serialVersionUID = -3748432005065428084L;
+ 28
+
+ 29
+ private final int code;
+ 30
+ private final boolean retryable;
+ 31
+
+ 32
+ public StorageException(int code, String message, boolean retryable) {
+ 33
+ super (message);
+ 34
+ this .code = code;
+ 35
+ this .retryable = retryable;
+ 36
+ }
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+ public int code() {
+ 42 0 return code;
+ 43
+ }
+ 44
+
+ 45
+ public boolean retryable() {
+ 46 0 return retryable;
+ 47
+ }
+ 48
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageFactory.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageFactory.html
new file mode 100644
index 000000000000..7b745f903f48
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageFactory.html
@@ -0,0 +1,108 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageFactory
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+
+ 20
+
+ 21
+
+ 22
+
+ 23
+ public abstract class StorageFactory {
+ 24
+
+ 25 0 private static final StorageFactory INSTANCE = new StorageFactory() {
+ 26
+ @Override
+ 27
+ public Storage get(StorageOptions options) {
+ 28 0 return new StorageImpl(options);
+ 29
+ }
+ 30
+ };
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+ public static StorageFactory instance() {
+ 36 0 return INSTANCE;
+ 37
+ }
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+ public abstract Storage get(StorageOptions options);
+ 43
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageImpl.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageImpl.html
new file mode 100644
index 000000000000..a4d9eaff0d7b
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageImpl.html
@@ -0,0 +1,931 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageImpl
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import static com.google.common.base.MoreObjects.firstNonNull;
+ 20
+ import static com.google.common.base.Preconditions.checkArgument;
+ 21
+ import static com.google.gcloud.RetryHelper.runWithRetries;
+ 22
+ import static com.google.gcloud.spi.StorageRpc.Option.DELIMITER;
+ 23
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_MATCH;
+ 24
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_GENERATION_NOT_MATCH;
+ 25
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_MATCH;
+ 26
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_METAGENERATION_NOT_MATCH;
+ 27
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_MATCH;
+ 28
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_GENERATION_NOT_MATCH;
+ 29
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_MATCH;
+ 30
+ import static com.google.gcloud.spi.StorageRpc.Option.IF_SOURCE_METAGENERATION_NOT_MATCH;
+ 31
+ import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
+ 32
+ import static java.nio.charset.StandardCharsets.UTF_8;
+ 33
+
+ 34
+ import com.google.api.services.storage.model.StorageObject;
+ 35
+ import com.google.common.base.Function;
+ 36
+ import com.google.common.base.Functions;
+ 37
+ import com.google.common.collect.ImmutableMap;
+ 38
+ import com.google.common.collect.Iterables;
+ 39
+ import com.google.common.collect.Lists;
+ 40
+ import com.google.common.collect.Maps;
+ 41
+ import com.google.common.collect.Sets;
+ 42
+ import com.google.common.io.BaseEncoding;
+ 43
+ import com.google.common.primitives.Ints;
+ 44
+ import com.google.gcloud.AuthCredentials.ServiceAccountAuthCredentials;
+ 45
+ import com.google.gcloud.BaseService;
+ 46
+ import com.google.gcloud.ExceptionHandler;
+ 47
+ import com.google.gcloud.ExceptionHandler.Interceptor;
+ 48
+ import com.google.gcloud.spi.StorageRpc;
+ 49
+ import com.google.gcloud.spi.StorageRpc.Tuple;
+ 50
+
+ 51
+ import java.io.Serializable;
+ 52
+ import java.io.UnsupportedEncodingException;
+ 53
+ import java.net.MalformedURLException;
+ 54
+ import java.net.URL;
+ 55
+ import java.net.URLEncoder;
+ 56
+ import java.security.InvalidKeyException;
+ 57
+ import java.security.NoSuchAlgorithmException;
+ 58
+ import java.security.Signature;
+ 59
+ import java.security.SignatureException;
+ 60
+ import java.util.Arrays;
+ 61
+ import java.util.EnumMap;
+ 62
+ import java.util.List;
+ 63
+ import java.util.Map;
+ 64
+ import java.util.Set;
+ 65
+ import java.util.concurrent.Callable;
+ 66
+
+ 67 0 final class StorageImpl extends BaseService<StorageOptions> implements Storage {
+ 68
+
+ 69 0 private static final Interceptor EXCEPTION_HANDLER_INTERCEPTOR = new Interceptor() {
+ 70
+
+ 71
+ private static final long serialVersionUID = -7758580330857881124L;
+ 72
+
+ 73
+ @Override
+ 74
+ public RetryResult afterEval(Exception exception, RetryResult retryResult) {
+ 75 0 return null ;
+ 76
+ }
+ 77
+
+ 78
+ @Override
+ 79
+ public RetryResult beforeEval(Exception exception) {
+ 80 0 if (exception instanceof StorageException) {
+ 81 0 boolean retriable = ((StorageException) exception).retryable();
+ 82 0 return retriable ? Interceptor.RetryResult.RETRY : Interceptor.RetryResult.ABORT;
+ 83
+ }
+ 84 0 return null ;
+ 85
+ }
+ 86
+ };
+ 87 0 static final ExceptionHandler EXCEPTION_HANDLER = ExceptionHandler.builder()
+ 88 0 .abortOn(RuntimeException.class ).interceptor(EXCEPTION_HANDLER_INTERCEPTOR).build();
+ 89 0 private static final byte [] EMPTY_BYTE_ARRAY = {};
+ 90
+
+ 91
+ private final StorageRpc storageRpc;
+ 92
+
+ 93
+ StorageImpl(StorageOptions options) {
+ 94 0 super (options);
+ 95 0 storageRpc = options.storageRpc();
+ 96
+
+ 97
+
+ 98
+
+ 99 0 }
+ 100
+
+ 101
+ @Override
+ 102
+ public BucketInfo create(BucketInfo bucketInfo, BucketTargetOption... options) {
+ 103 0 final com.google.api.services.storage.model.Bucket bucketPb = bucketInfo.toPb();
+ 104 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(bucketInfo, options);
+ 105 0 return BucketInfo.fromPb(runWithRetries(
+ 106 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 107
+ @Override
+ 108
+ public com.google.api.services.storage.model.Bucket call() {
+ 109 0 return storageRpc.create(bucketPb, optionsMap);
+ 110
+ }
+ 111 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 112
+ }
+ 113
+
+ 114
+ @Override
+ 115
+ public BlobInfo create(BlobInfo blobInfo, final byte [] content, BlobTargetOption... options) {
+ 116 0 final StorageObject blobPb = blobInfo.toPb();
+ 117 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 118 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 119
+ @Override
+ 120
+ public StorageObject call() {
+ 121 0 return storageRpc.create(blobPb, firstNonNull(content, EMPTY_BYTE_ARRAY), optionsMap);
+ 122
+ }
+ 123 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 124
+ }
+ 125
+
+ 126
+ @Override
+ 127
+ public BucketInfo get(String bucket, BucketSourceOption... options) {
+ 128 0 final com.google.api.services.storage.model.Bucket bucketPb = BucketInfo.of(bucket).toPb();
+ 129 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 130 0 com.google.api.services.storage.model.Bucket answer = runWithRetries(
+ 131 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 132
+ @Override
+ 133
+ public com.google.api.services.storage.model.Bucket call() {
+ 134
+ try {
+ 135 0 return storageRpc.get(bucketPb, optionsMap);
+ 136 0 } catch (StorageException ex) {
+ 137 0 if (ex.code() == HTTP_NOT_FOUND) {
+ 138 0 return null ;
+ 139
+ }
+ 140 0 throw ex;
+ 141
+ }
+ 142
+ }
+ 143 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 144 0 return answer == null ? null : BucketInfo.fromPb(answer);
+ 145
+ }
+ 146
+
+ 147
+ @Override
+ 148
+ public BlobInfo get(String bucket, String blob, BlobSourceOption... options) {
+ 149 0 final StorageObject storedObject = BlobInfo.of(bucket, blob).toPb();
+ 150 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 151 0 StorageObject storageObject = runWithRetries(new Callable<StorageObject>() {
+ 152
+ @Override
+ 153
+ public StorageObject call() {
+ 154
+ try {
+ 155 0 return storageRpc.get(storedObject, optionsMap);
+ 156 0 } catch (StorageException ex) {
+ 157 0 if (ex.code() == HTTP_NOT_FOUND) {
+ 158 0 return null ;
+ 159
+ }
+ 160 0 throw ex;
+ 161
+ }
+ 162
+ }
+ 163 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 164 0 return storageObject == null ? null : BlobInfo.fromPb(storageObject);
+ 165
+ }
+ 166
+
+ 167
+ private static abstract class BasePageFetcher<T extends Serializable>
+ 168
+ implements ListResult.NextPageFetcher<T> {
+ 169
+
+ 170
+ private static final long serialVersionUID = 8236329004030295223L;
+ 171
+ protected final Map<StorageRpc.Option, ?> requestOptions;
+ 172
+ protected final StorageOptions serviceOptions;
+ 173
+
+ 174
+ BasePageFetcher(StorageOptions serviceOptions, String cursor,
+ 175 0 Map<StorageRpc.Option, ?> optionMap) {
+ 176 0 this .serviceOptions = serviceOptions;
+ 177 0 ImmutableMap.Builder<StorageRpc.Option, Object> builder = ImmutableMap.builder();
+ 178 0 if (cursor != null ) {
+ 179 0 builder.put(StorageRpc.Option.PAGE_TOKEN, cursor);
+ 180
+ }
+ 181 0 for (Map.Entry<StorageRpc.Option, ?> option : optionMap.entrySet()) {
+ 182 0 if (option.getKey() != StorageRpc.Option.PAGE_TOKEN) {
+ 183 0 builder.put(option.getKey(), option.getValue());
+ 184
+ }
+ 185 0 }
+ 186 0 this .requestOptions = builder.build();
+ 187 0 }
+ 188
+ }
+ 189
+
+ 190
+ private static class BucketPageFetcher extends BasePageFetcher<BucketInfo> {
+ 191
+
+ 192
+ private static final long serialVersionUID = -5490616010200159174L;
+ 193
+
+ 194
+ BucketPageFetcher(StorageOptions serviceOptions, String cursor,
+ 195
+ Map<StorageRpc.Option, ?> optionMap) {
+ 196
+ super (serviceOptions, cursor, optionMap);
+ 197
+ }
+ 198
+
+ 199
+ @Override
+ 200
+ public ListResult<BucketInfo> nextPage() {
+ 201 0 return listBuckets(serviceOptions, requestOptions);
+ 202
+ }
+ 203
+ }
+ 204
+
+ 205
+ private static class BlobPageFetcher extends BasePageFetcher<BlobInfo> {
+ 206
+
+ 207
+ private static final long serialVersionUID = -5490616010200159174L;
+ 208
+ private final String bucket;
+ 209
+
+ 210
+ BlobPageFetcher(String bucket, StorageOptions serviceOptions, String cursor,
+ 211
+ Map<StorageRpc.Option, ?> optionMap) {
+ 212
+ super (serviceOptions, cursor, optionMap);
+ 213
+ this .bucket = bucket;
+ 214
+ }
+ 215
+
+ 216
+ @Override
+ 217
+ public ListResult<BlobInfo> nextPage() {
+ 218 0 return listBlobs(bucket, serviceOptions, requestOptions);
+ 219
+ }
+ 220
+ }
+ 221
+
+ 222
+ @Override
+ 223
+ public ListResult<BucketInfo> list(BucketListOption... options) {
+ 224 0 return listBuckets(options(), optionMap(options));
+ 225
+ }
+ 226
+
+ 227
+ private static ListResult<BucketInfo> listBuckets(final StorageOptions serviceOptions,
+ 228
+ final Map<StorageRpc.Option, ?> optionsMap) {
+ 229 0 Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>> result = runWithRetries(
+ 230 0 new Callable<Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>>>() {
+ 231
+ @Override
+ 232
+ public Tuple<String, Iterable<com.google.api.services.storage.model.Bucket>> call() {
+ 233 0 return serviceOptions.storageRpc().list(optionsMap);
+ 234
+ }
+ 235 0 }, serviceOptions.retryParams(), EXCEPTION_HANDLER);
+ 236 0 String cursor = result.x();
+ 237 0 return new ListResult<>(new BucketPageFetcher(serviceOptions, cursor, optionsMap), cursor,
+ 238 0 Iterables.transform(result.y(),
+ 239 0 new Function<com.google.api.services.storage.model.Bucket, BucketInfo>() {
+ 240
+ @Override
+ 241
+ public BucketInfo apply(com.google.api.services.storage.model.Bucket bucketPb) {
+ 242 0 return BucketInfo.fromPb(bucketPb);
+ 243
+ }
+ 244
+ }));
+ 245
+ }
+ 246
+
+ 247
+ @Override
+ 248
+ public ListResult<BlobInfo> list(final String bucket, BlobListOption... options) {
+ 249 0 return listBlobs(bucket, options(), optionMap(options));
+ 250
+ }
+ 251
+
+ 252
+ private static ListResult<BlobInfo> listBlobs(final String bucket,
+ 253
+ final StorageOptions serviceOptions, final Map<StorageRpc.Option, ?> optionsMap) {
+ 254 0 Tuple<String, Iterable<StorageObject>> result = runWithRetries(
+ 255 0 new Callable<Tuple<String, Iterable<StorageObject>>>() {
+ 256
+ @Override
+ 257
+ public Tuple<String, Iterable<StorageObject>> call() {
+ 258 0 return serviceOptions.storageRpc().list(bucket, optionsMap);
+ 259
+ }
+ 260 0 }, serviceOptions.retryParams(), EXCEPTION_HANDLER);
+ 261 0 String cursor = result.x();
+ 262 0 return new ListResult<>(new BlobPageFetcher(bucket, serviceOptions, cursor, optionsMap), cursor,
+ 263 0 Iterables.transform(result.y(),
+ 264 0 new Function<StorageObject, BlobInfo>() {
+ 265
+ @Override
+ 266
+ public BlobInfo apply(StorageObject storageObject) {
+ 267 0 return BlobInfo.fromPb(storageObject);
+ 268
+ }
+ 269
+ }));
+ 270
+ }
+ 271
+
+ 272
+ @Override
+ 273
+ public BucketInfo update(BucketInfo bucketInfo, BucketTargetOption... options) {
+ 274 0 final com.google.api.services.storage.model.Bucket bucketPb = bucketInfo.toPb();
+ 275 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(bucketInfo, options);
+ 276 0 return BucketInfo.fromPb(runWithRetries(
+ 277 0 new Callable<com.google.api.services.storage.model.Bucket>() {
+ 278
+ @Override
+ 279
+ public com.google.api.services.storage.model.Bucket call() {
+ 280 0 return storageRpc.patch(bucketPb, optionsMap);
+ 281
+ }
+ 282 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 283
+ }
+ 284
+
+ 285
+ @Override
+ 286
+ public BlobInfo update(BlobInfo blobInfo, BlobTargetOption... options) {
+ 287 0 final StorageObject storageObject = blobInfo.toPb();
+ 288 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 289 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 290
+ @Override
+ 291
+ public StorageObject call() {
+ 292 0 return storageRpc.patch(storageObject, optionsMap);
+ 293
+ }
+ 294 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 295
+ }
+ 296
+
+ 297
+ @Override
+ 298
+ public boolean delete(String bucket, BucketSourceOption... options) {
+ 299 0 final com.google.api.services.storage.model.Bucket bucketPb = BucketInfo.of(bucket).toPb();
+ 300 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 301 0 return runWithRetries(new Callable<Boolean>() {
+ 302
+ @Override
+ 303
+ public Boolean call() {
+ 304 0 return storageRpc.delete(bucketPb, optionsMap);
+ 305
+ }
+ 306 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 307
+ }
+ 308
+
+ 309
+ @Override
+ 310
+ public boolean delete(String bucket, String blob, BlobSourceOption... options) {
+ 311 0 final StorageObject storageObject = BlobInfo.of(bucket, blob).toPb();
+ 312 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 313 0 return runWithRetries(new Callable<Boolean>() {
+ 314
+ @Override
+ 315
+ public Boolean call() {
+ 316 0 return storageRpc.delete(storageObject, optionsMap);
+ 317
+ }
+ 318 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 319
+ }
+ 320
+
+ 321
+ @Override
+ 322
+ public BlobInfo compose(final ComposeRequest composeRequest) {
+ 323 0 final List<StorageObject> sources =
+ 324 0 Lists.newArrayListWithCapacity(composeRequest.sourceBlobs().size());
+ 325 0 for (ComposeRequest.SourceBlob sourceBlob : composeRequest.sourceBlobs()) {
+ 326 0 sources.add(BlobInfo.builder(composeRequest.target().bucket(), sourceBlob.name())
+ 327 0 .generation(sourceBlob.generation()).build().toPb());
+ 328 0 }
+ 329 0 final StorageObject target = composeRequest.target().toPb();
+ 330 0 final Map<StorageRpc.Option, ?> targetOptions = optionMap(composeRequest.target().generation(),
+ 331 0 composeRequest.target().metageneration(), composeRequest.targetOptions());
+ 332 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 333
+ @Override
+ 334
+ public StorageObject call() {
+ 335 0 return storageRpc.compose(sources, target, targetOptions);
+ 336
+ }
+ 337 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 338
+ }
+ 339
+
+ 340
+ @Override
+ 341
+ public BlobInfo copy(CopyRequest copyRequest) {
+ 342 0 final StorageObject source =
+ 343 0 BlobInfo.of(copyRequest.sourceBucket(), copyRequest.sourceBlob()).toPb();
+ 344 0 copyRequest.sourceOptions();
+ 345 0 final Map<StorageRpc.Option, ?> sourceOptions =
+ 346 0 optionMap(null , null , copyRequest.sourceOptions(), true );
+ 347 0 final StorageObject target = copyRequest.target().toPb();
+ 348 0 final Map<StorageRpc.Option, ?> targetOptions = optionMap(copyRequest.target().generation(),
+ 349 0 copyRequest.target().metageneration(), copyRequest.targetOptions());
+ 350 0 return BlobInfo.fromPb(runWithRetries(new Callable<StorageObject>() {
+ 351
+ @Override
+ 352
+ public StorageObject call() {
+ 353 0 return storageRpc.copy(source, sourceOptions, target, targetOptions);
+ 354
+ }
+ 355 0 }, options().retryParams(), EXCEPTION_HANDLER));
+ 356
+ }
+ 357
+
+ 358
+ @Override
+ 359
+ public byte [] readAllBytes(String bucket, String blob, BlobSourceOption... options) {
+ 360 0 final StorageObject storageObject = BlobInfo.of(bucket, blob).toPb();
+ 361 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 362 0 return runWithRetries(new Callable<byte []>() {
+ 363
+ @Override
+ 364
+ public byte [] call() {
+ 365 0 return storageRpc.load(storageObject, optionsMap);
+ 366
+ }
+ 367 0 }, options().retryParams(), EXCEPTION_HANDLER);
+ 368
+ }
+ 369
+
+ 370
+ @Override
+ 371
+ public BatchResponse apply(BatchRequest batchRequest) {
+ 372 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toDelete =
+ 373 0 Lists.newArrayListWithCapacity(batchRequest.toDelete().size());
+ 374 0 for (Map.Entry<BlobInfo, Iterable<BlobSourceOption>> entry : batchRequest.toDelete().entrySet()) {
+ 375 0 BlobInfo blobInfo = entry.getKey();
+ 376 0 Map<StorageRpc.Option, ?> optionsMap =
+ 377 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 378 0 StorageObject storageObject = blobInfo.toPb();
+ 379 0 toDelete.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(storageObject, optionsMap));
+ 380 0 }
+ 381 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toUpdate =
+ 382 0 Lists.newArrayListWithCapacity(batchRequest.toUpdate().size());
+ 383 0 for (Map.Entry<BlobInfo, Iterable<BlobTargetOption>> entry : batchRequest.toUpdate().entrySet()) {
+ 384 0 BlobInfo blobInfo = entry.getKey();
+ 385 0 Map<StorageRpc.Option, ?> optionsMap =
+ 386 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 387 0 toUpdate.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(blobInfo.toPb(), optionsMap));
+ 388 0 }
+ 389 0 List<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> toGet =
+ 390 0 Lists.newArrayListWithCapacity(batchRequest.toGet().size());
+ 391 0 for (Map.Entry<BlobInfo, Iterable<BlobSourceOption>> entry : batchRequest.toGet().entrySet()) {
+ 392 0 BlobInfo blobInfo = entry.getKey();
+ 393 0 Map<StorageRpc.Option, ?> optionsMap =
+ 394 0 optionMap(blobInfo.generation(), blobInfo.metageneration(), entry.getValue());
+ 395 0 toGet.add(Tuple.<StorageObject, Map<StorageRpc.Option, ?>>of(blobInfo.toPb(), optionsMap));
+ 396 0 }
+ 397 0 StorageRpc.BatchResponse response =
+ 398 0 storageRpc.batch(new StorageRpc.BatchRequest(toDelete, toUpdate, toGet));
+ 399 0 List<BatchResponse.Result<Boolean>> deletes = transformBatchResult(
+ 400 0 toDelete, response.deletes, Functions.<Boolean>identity());
+ 401 0 List<BatchResponse.Result<BlobInfo>> updates = transformBatchResult(
+ 402
+ toUpdate, response.updates, BlobInfo.FROM_PB_FUNCTION);
+ 403 0 List<BatchResponse.Result<BlobInfo>> gets = transformBatchResult(
+ 404
+ toGet, response.gets, BlobInfo.FROM_PB_FUNCTION, HTTP_NOT_FOUND);
+ 405 0 return new BatchResponse(deletes, updates, gets);
+ 406
+ }
+ 407
+
+ 408
+ private <I, O extends Serializable> List<BatchResponse.Result<O>> transformBatchResult(
+ 409
+ Iterable<Tuple<StorageObject, Map<StorageRpc.Option, ?>>> request,
+ 410
+ Map<StorageObject, Tuple<I, StorageException>> results, Function<I, O> transform,
+ 411
+ int ... nullOnErrorCodes) {
+ 412 0 Set nullOnErrorCodesSet = Sets.newHashSet(Ints.asList(nullOnErrorCodes));
+ 413 0 List<BatchResponse.Result<O>> response = Lists.newArrayListWithCapacity(results.size());
+ 414 0 for (Tuple<StorageObject, ?> tuple : request) {
+ 415 0 Tuple<I, StorageException> result = results.get(tuple.x());
+ 416 0 if (result.x() != null ) {
+ 417 0 response.add(BatchResponse.Result.of(transform.apply(result.x())));
+ 418
+ } else {
+ 419 0 StorageException exception = result.y();
+ 420 0 if (nullOnErrorCodesSet.contains(exception.code())) {
+ 421
+
+ 422 0 response.add(BatchResponse.Result.<O>empty());
+ 423
+ } else {
+ 424 0 response.add(new BatchResponse.Result<O>(exception));
+ 425
+ }
+ 426
+ }
+ 427 0 }
+ 428 0 return response;
+ 429
+ }
+ 430
+
+ 431
+ @Override
+ 432
+ public BlobReadChannel reader(String bucket, String blob, BlobSourceOption... options) {
+ 433 0 Map<StorageRpc.Option, ?> optionsMap = optionMap(options);
+ 434 0 return new BlobReadChannelImpl(options(), BlobInfo.of(bucket, blob), optionsMap);
+ 435
+ }
+ 436
+
+ 437
+ @Override
+ 438
+ public BlobWriteChannel writer(BlobInfo blobInfo, BlobTargetOption... options) {
+ 439 0 final Map<StorageRpc.Option, ?> optionsMap = optionMap(blobInfo, options);
+ 440 0 return new BlobWriterChannelImpl(options(), blobInfo, optionsMap);
+ 441
+ }
+ 442
+
+ 443
+ @Override
+ 444
+ public URL signUrl(BlobInfo blobInfo, long expiration, SignUrlOption... options) {
+ 445 0 EnumMap<SignUrlOption.Option, Object> optionMap = Maps.newEnumMap(SignUrlOption.Option.class );
+ 446 0 for (SignUrlOption option : options) {
+ 447 0 optionMap.put(option.option(), option.value());
+ 448
+ }
+ 449 0 ServiceAccountAuthCredentials cred =
+ 450 0 (ServiceAccountAuthCredentials) optionMap.get(SignUrlOption.Option.SERVICE_ACCOUNT_CRED);
+ 451 0 if (cred == null ) {
+ 452 0 checkArgument(options().authCredentials() instanceof ServiceAccountAuthCredentials,
+ 453
+ "Signing key was not provided and could not be derived" );
+ 454 0 cred = (ServiceAccountAuthCredentials) this .options().authCredentials();
+ 455
+ }
+ 456
+
+ 457 0 StringBuilder stBuilder = new StringBuilder();
+ 458 0 if (optionMap.containsKey(SignUrlOption.Option.HTTP_METHOD)) {
+ 459 0 stBuilder.append(optionMap.get(SignUrlOption.Option.HTTP_METHOD));
+ 460
+ } else {
+ 461 0 stBuilder.append(HttpMethod.GET);
+ 462
+ }
+ 463 0 stBuilder.append('\n' );
+ 464 0 if (firstNonNull((Boolean) optionMap.get(SignUrlOption.Option.MD5) , false )) {
+ 465 0 checkArgument(blobInfo.md5() != null , "Blob is missing a value for md5" );
+ 466 0 stBuilder.append(blobInfo.md5());
+ 467
+ }
+ 468 0 stBuilder.append('\n' );
+ 469 0 if (firstNonNull((Boolean) optionMap.get(SignUrlOption.Option.CONTENT_TYPE) , false )) {
+ 470 0 checkArgument(blobInfo.contentType() != null , "Blob is missing a value for content-type" );
+ 471 0 stBuilder.append(blobInfo.contentType());
+ 472
+ }
+ 473 0 stBuilder.append('\n' );
+ 474 0 stBuilder.append(expiration).append('\n' );
+ 475 0 StringBuilder path = new StringBuilder();
+ 476 0 if (!blobInfo.bucket().startsWith("/" )) {
+ 477 0 path.append('/' );
+ 478
+ }
+ 479 0 path.append(blobInfo.bucket());
+ 480 0 if (!blobInfo.bucket().endsWith("/" )) {
+ 481 0 path.append('/' );
+ 482
+ }
+ 483 0 if (blobInfo.name().startsWith("/" )) {
+ 484 0 path.setLength(stBuilder.length() - 1);
+ 485
+ }
+ 486 0 path.append(blobInfo.name());
+ 487 0 stBuilder.append(path);
+ 488
+ try {
+ 489 0 Signature signer = Signature.getInstance("SHA256withRSA" );
+ 490 0 signer.initSign(cred.privateKey());
+ 491 0 signer.update(stBuilder.toString().getBytes(UTF_8));
+ 492
+ String signature =
+ 493 0 URLEncoder.encode(BaseEncoding.base64().encode(signer.sign()), UTF_8.name());
+ 494 0 stBuilder = new StringBuilder("https://storage.googleapis.com" ).append(path);
+ 495 0 stBuilder.append("?GoogleAccessId=" ).append(cred.account());
+ 496 0 stBuilder.append("&Expires=" ).append(expiration);
+ 497 0 stBuilder.append("&Signature=" ).append(signature);
+ 498 0 return new URL(stBuilder.toString());
+ 499 0 } catch (MalformedURLException | NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ 500 0 throw new IllegalStateException(e);
+ 501 0 } catch (SignatureException | InvalidKeyException e) {
+ 502 0 throw new IllegalArgumentException("Invalid service account private key" );
+ 503
+ }
+ 504
+ }
+ 505
+
+ 506
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 507
+ Iterable<? extends Option> options) {
+ 508 0 return optionMap(generation, metaGeneration, options, false );
+ 509
+ }
+ 510
+
+ 511
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 512
+ Iterable<? extends Option> options, boolean useAsSource) {
+ 513 0 Map<StorageRpc.Option, Object> temp = Maps.newEnumMap(StorageRpc.Option.class );
+ 514 0 for (Option option : options) {
+ 515 0 Object prev = temp.put(option.rpcOption(), option.value());
+ 516 0 checkArgument(prev == null , "Duplicate option %s" , option);
+ 517 0 }
+ 518 0 Boolean value = (Boolean) temp.remove(DELIMITER);
+ 519 0 if (Boolean.TRUE.equals(value)) {
+ 520 0 temp.put(DELIMITER, options().pathDelimiter());
+ 521
+ }
+ 522 0 if (useAsSource) {
+ 523 0 addToOptionMap(IF_GENERATION_MATCH, IF_SOURCE_GENERATION_MATCH, generation, temp);
+ 524 0 addToOptionMap(IF_GENERATION_NOT_MATCH, IF_SOURCE_GENERATION_NOT_MATCH, generation, temp);
+ 525 0 addToOptionMap(IF_METAGENERATION_MATCH, IF_SOURCE_METAGENERATION_MATCH, metaGeneration, temp);
+ 526 0 addToOptionMap(IF_METAGENERATION_NOT_MATCH,
+ 527
+ IF_SOURCE_METAGENERATION_NOT_MATCH, metaGeneration, temp);
+ 528
+ } else {
+ 529 0 addToOptionMap(IF_GENERATION_MATCH, generation, temp);
+ 530 0 addToOptionMap(IF_GENERATION_NOT_MATCH, generation, temp);
+ 531 0 addToOptionMap(IF_METAGENERATION_MATCH, metaGeneration, temp);
+ 532 0 addToOptionMap(IF_METAGENERATION_NOT_MATCH, metaGeneration, temp);
+ 533
+ }
+ 534 0 return ImmutableMap.copyOf(temp);
+ 535
+ }
+ 536
+
+ 537
+ private static <T> void addToOptionMap(StorageRpc.Option option, T defaultValue,
+ 538
+ Map<StorageRpc.Option, Object> map) {
+ 539 0 addToOptionMap(option, option, defaultValue, map);
+ 540 0 }
+ 541
+
+ 542
+ private static <T> void addToOptionMap(StorageRpc.Option getOption, StorageRpc.Option putOption,
+ 543
+ T defaultValue, Map<StorageRpc.Option, Object> map) {
+ 544 0 if (map.containsKey(getOption)) {
+ 545
+ @SuppressWarnings("unchecked" )
+ 546 0 T value = (T) map.remove(getOption);
+ 547 0 checkArgument(value != null || defaultValue != null ,
+ 548 0 "Option " + getOption.value() + " is missing a value" );
+ 549 0 value = firstNonNull(value, defaultValue);
+ 550 0 map.put(putOption, value);
+ 551
+ }
+ 552 0 }
+ 553
+
+ 554
+ private Map<StorageRpc.Option, ?> optionMap(Option... options) {
+ 555 0 return optionMap(null , null , Arrays.asList(options));
+ 556
+ }
+ 557
+
+ 558
+ private Map<StorageRpc.Option, ?> optionMap(Long generation, Long metaGeneration,
+ 559
+ Option... options) {
+ 560 0 return optionMap(generation, metaGeneration, Arrays.asList(options));
+ 561
+ }
+ 562
+
+ 563
+ private Map<StorageRpc.Option, ?> optionMap(BucketInfo bucketInfo, Option... options) {
+ 564 0 return optionMap(null , bucketInfo.metageneration(), options);
+ 565
+ }
+ 566
+
+ 567
+ private Map<StorageRpc.Option, ?> optionMap(BlobInfo blobInfo, Option... options) {
+ 568 0 return optionMap(blobInfo.generation(), blobInfo.metageneration(), options);
+ 569
+ }
+ 570
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageOptions.html b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageOptions.html
new file mode 100644
index 000000000000..7a7cfd4d862d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/com.google.gcloud.storage.StorageOptions.html
@@ -0,0 +1,233 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - com.google.gcloud.storage.StorageOptions
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+ package com.google.gcloud.storage;
+ 18
+
+ 19
+ import com.google.common.base.MoreObjects;
+ 20
+ import com.google.common.collect.ImmutableSet;
+ 21
+ import com.google.gcloud.ServiceOptions;
+ 22
+ import com.google.gcloud.spi.DefaultStorageRpc;
+ 23
+ import com.google.gcloud.spi.StorageRpc;
+ 24
+ import com.google.gcloud.spi.StorageRpcFactory;
+ 25
+
+ 26
+ import java.util.Objects;
+ 27
+ import java.util.Set;
+ 28
+
+ 29 0 public class StorageOptions extends ServiceOptions<StorageRpc, StorageOptions> {
+ 30
+
+ 31
+ private static final long serialVersionUID = -7804860602287801084L;
+ 32
+ private static final String GCS_SCOPE = "https://www.googleapis.com/auth/devstorage.full_control" ;
+ 33 0 private static final Set<String> SCOPES = ImmutableSet.of(GCS_SCOPE);
+ 34
+ private static final String DEFAULT_PATH_DELIMITER = "/" ;
+ 35
+
+ 36
+ private final String pathDelimiter;
+ 37
+ private transient StorageRpc storageRpc;
+ 38
+
+ 39 0 public static class Builder extends
+ 40
+ ServiceOptions.Builder<StorageRpc, StorageOptions, Builder> {
+ 41
+
+ 42
+ private String pathDelimiter;
+ 43
+
+ 44
+ private Builder() {}
+ 45
+
+ 46
+ private Builder(StorageOptions options) {
+ 47
+ super (options);
+ 48
+ }
+ 49
+
+ 50
+ public Builder pathDelimiter(String pathDelimiter) {
+ 51 0 this .pathDelimiter = pathDelimiter;
+ 52 0 return this ;
+ 53
+ }
+ 54
+
+ 55
+ @Override
+ 56
+ public StorageOptions build() {
+ 57 0 return new StorageOptions(this );
+ 58
+ }
+ 59
+ }
+ 60
+
+ 61
+ private StorageOptions(Builder builder) {
+ 62 0 super (builder);
+ 63 0 pathDelimiter = MoreObjects.firstNonNull(builder.pathDelimiter, DEFAULT_PATH_DELIMITER);
+ 64
+
+ 65 0 }
+ 66
+
+ 67
+ @Override
+ 68
+ protected Set<String> scopes() {
+ 69 0 return SCOPES;
+ 70
+ }
+ 71
+
+ 72
+ StorageRpc storageRpc() {
+ 73 0 if (storageRpc != null ) {
+ 74 0 return storageRpc;
+ 75
+ }
+ 76 0 if (serviceRpcFactory() != null ) {
+ 77 0 storageRpc = serviceRpcFactory().create(this );
+ 78
+ } else {
+ 79 0 storageRpc = createRpc(this , StorageRpcFactory.class );
+ 80 0 if (storageRpc == null ) {
+ 81 0 storageRpc = new DefaultStorageRpc(this );
+ 82
+ }
+ 83
+ }
+ 84 0 return storageRpc;
+ 85
+ }
+ 86
+
+ 87
+ public String pathDelimiter() {
+ 88 0 return pathDelimiter;
+ 89
+ }
+ 90
+
+ 91
+ @Override
+ 92
+ public Builder toBuilder() {
+ 93 0 return new Builder(this );
+ 94
+ }
+ 95
+
+ 96
+ @Override
+ 97
+ public int hashCode() {
+ 98 0 return baseHashCode() ^ Objects.hash(pathDelimiter);
+ 99
+ }
+ 100
+
+ 101
+ @Override
+ 102
+ public boolean equals(Object obj) {
+ 103 0 if (!(obj instanceof StorageOptions)) {
+ 104 0 return false ;
+ 105
+ }
+ 106 0 StorageOptions other = (StorageOptions) obj;
+ 107 0 return baseEquals(other) && Objects.equals(pathDelimiter, other.pathDelimiter);
+ 108
+ }
+ 109
+
+ 110
+ public static StorageOptions defaultInstance() {
+ 111 0 return builder().build();
+ 112
+ }
+ 113
+
+ 114
+ public static Builder builder() {
+ 115 0 return new Builder();
+ 116
+ }
+ 117
+ }
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/css/help.css b/site/0.0.7/gcloud-java-storage/cobertura/css/help.css
new file mode 100644
index 000000000000..c6fbb28972f1
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/css/help.css
@@ -0,0 +1,22 @@
+dl {
+ float: left;
+ width: 100%;
+}
+
+dt {
+ border-top: 1px solid #808080;
+ float: left;
+ font-weight: bold;
+ margin: 0;
+ padding: 1em;
+ width: 20%;
+}
+
+dd {
+ border-top: 1px solid #808080;
+ float: left;
+ font-style: italic;
+ margin: 0;
+ padding: 1em;
+ width: 60%;
+}
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/css/main.css b/site/0.0.7/gcloud-java-storage/cobertura/css/main.css
new file mode 100644
index 000000000000..9b5b0dc6831d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/css/main.css
@@ -0,0 +1,131 @@
+@import url("help.css");
+@import url("source-viewer.css");
+@import url("tooltip.css");
+
+.hidden {
+ display: none;
+}
+
+a.dfn {
+ border-bottom: 1px dotted #00aa00;
+ cursor: help;
+}
+
+a.dfn:active, a.dfn:link, a.dfn:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.dfn:hover {
+ color: #0000ff;
+ text-decoration: none;
+}
+
+body {
+ font-family: verdana, arial, helvetica;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-bottom: 0.5em;
+}
+
+h5 {
+ margin-top: 0.5em;
+}
+
+div.footer {
+ font-size: 68%;
+ margin-top: 1.5em;
+}
+
+div.percentgraph
+{
+ background-color: #f02020;
+ border: #808080 1px solid;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+ width: 100px;
+}
+
+div.percentgraph div.greenbar
+{
+ background-color: #00f000;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph div.na
+{
+ background-color: #eaeaea;
+ height: 1.3em;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.percentgraph span.text
+{
+ display: block;
+ position: absolute;
+ text-align: center;
+ width: 100px;
+}
+
+div.separator {
+ height: 10px;
+}
+
+table tr td, table tr th {
+ font-size: 68%;
+}
+
+td.value table tr td {
+ font-size: 11px;
+}
+
+table.percentgraph {
+ border: 0px;
+ font-size: 130%;
+ margin: 0px;
+ margin-left: auto;
+ margin-right: 0px;
+ padding: 0px;
+}
+
+table.percentgraph tr.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+}
+
+table.percentgraph td.percentgraph {
+ border: 0px;
+ margin: 0px;
+ padding: 0px;
+ padding-left: 4px;
+}
+
+table.report {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.report td {
+ border: #d0d0d0 1px solid;
+}
+
+table.report td.heading {
+ background: #dcecff;
+ font-weight: bold;
+ text-align: center;
+}
+
+table.report td.heading:hover {
+ background: #c0ffc0;
+ cursor: pointer;
+}
+
+table.report td.value {
+ text-align: right;
+}
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/css/sortabletable.css b/site/0.0.7/gcloud-java-storage/cobertura/css/sortabletable.css
new file mode 100644
index 000000000000..970e2b55c9b7
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/css/sortabletable.css
@@ -0,0 +1,50 @@
+.sort-table {
+ font: Icon;
+ border: 1px Solid ThreeDShadow;
+ background: Window;
+ color: WindowText;
+}
+
+.sort-table thead {
+ background: ButtonFace;
+}
+
+.sort-table td {
+ padding: 2px 5px;
+}
+
+.sort-table thead td {
+ border: 1px solid;
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ cursor: default;
+}
+
+.sort-table thead td:active {
+ border-color: ButtonShadow ButtonHighlight
+ ButtonHighlight ButtonShadow;
+ padding: 3px 4px 1px 6px;
+}
+
+.sort-table thead td[_sortType=None]:active {
+ border-color: ButtonHighlight ButtonShadow
+ ButtonShadow ButtonHighlight;
+ padding: 2px 5px;
+}
+
+.sort-arrow {
+ width: 11px;
+ height: 11px;
+ background-position: center center;
+ background-repeat: no-repeat;
+ margin: 0 2px;
+}
+
+.sort-arrow.descending {
+ background-image: url("../images/downsimple.png");
+
+}
+
+.sort-arrow.ascending {
+ background-image: url("../images/upsimple.png");
+}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/css/source-viewer.css b/site/0.0.7/gcloud-java-storage/cobertura/css/source-viewer.css
new file mode 100644
index 000000000000..73797d613eb3
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/css/source-viewer.css
@@ -0,0 +1,73 @@
+pre.src {
+ background: #ffffff;
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+
+table.src {
+ border: #dcdcdc 1px solid;
+ font-size: 16px;
+}
+
+td.numLine {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.numLineCover {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHits {
+ background: #f0f0f0;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsCovered {
+ background: #80ff80;
+ border-right: #dcdcdc 1px solid;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.nbHitsUncovered {
+ background: #ff9090;
+ border-right: #dcdcdc 1px solid;
+ font-weight: bold;
+ padding-right: 3px;
+ text-align: right;
+}
+
+td.src {
+ width: 100%;
+}
+
+span.comment {
+ color: #b22222;
+ font-style: italic;
+}
+
+span.keyword {
+ color: #2020bf;
+ font-weight: bold;
+}
+
+span.srcUncovered {
+ background: #ff9090;
+}
+
+span.string {
+ color: #2a00ff;
+}
+
+span.text_italic {
+ font-size: 12px;
+ font-style: italic;
+}
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/css/tooltip.css b/site/0.0.7/gcloud-java-storage/cobertura/css/tooltip.css
new file mode 100644
index 000000000000..c790d8104ebf
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/css/tooltip.css
@@ -0,0 +1,49 @@
+a.hastooltip {
+ border-bottom: 1px dotted #00aa00;
+ color: #000000;
+ cursor: help;
+ font-style: normal;
+ position: relative; /* This is the key */
+ text-decoration: none;
+ z-index: 24; /* What does this do? */
+}
+
+a.hastooltip:active {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:link {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip:hover {
+ background-color: #a0b8ff;
+ color: #000000;
+ text-decoration: none;
+ z-index: 25;
+}
+
+a.hastooltip:visited {
+ color: #000000;
+ text-decoration: none;
+}
+
+a.hastooltip span {
+ display: none;
+}
+
+a.hastooltip:hover span {
+ background-color: #eeeeee;
+ border: 1px solid #000000;
+ color: #000000;
+ display: block;
+ padding: 5px;
+ left: -15.2em;
+ position: absolute;
+ text-align: center;
+ text-decoration: none;
+ top: 2em;
+ width: 20em;
+}
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-packages.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-packages.html
new file mode 100644
index 000000000000..102f9250e1b8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-packages.html
@@ -0,0 +1,23 @@
+
+
+
+
+Coverage Report
+
+
+
+Packages
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..e4fdfc662cb6
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.spi.html
@@ -0,0 +1,29 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.spi
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.storage.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.storage.html
new file mode 100644
index 000000000000..f4c63ed1d5be
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles-com.google.gcloud.storage.html
@@ -0,0 +1,74 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+com.google.gcloud.storage
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles.html
new file mode 100644
index 000000000000..bcf4a56849f9
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-sourcefiles.html
@@ -0,0 +1,83 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+All Packages
+
+
+Classes
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.spi.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.spi.html
new file mode 100644
index 000000000000..6ca3bc51a039
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.spi.html
@@ -0,0 +1,53 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.spi
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.storage.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.storage.html
new file mode 100644
index 000000000000..ace5212d3c61
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary-com.google.gcloud.storage.html
@@ -0,0 +1,160 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - com.google.gcloud.storage
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/frame-summary.html b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary.html
new file mode 100644
index 000000000000..636241522b18
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/frame-summary.html
@@ -0,0 +1,31 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - All Packages
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/help.html b/site/0.0.7/gcloud-java-storage/cobertura/help.html
new file mode 100644
index 000000000000..4c518dcd342d
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/help.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+Coverage Report - Help
+
+
+
+
+
+
+Line Coverage
+The percent of lines executed by this test run.
+
+Branch Coverage
+The percent of branches executed by this test run.
+
+Complexity
+Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
+
+N/A
+Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/images/blank.png b/site/0.0.7/gcloud-java-storage/cobertura/images/blank.png
new file mode 100644
index 000000000000..cee9cd37a10e
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/cobertura/images/blank.png differ
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/images/downsimple.png b/site/0.0.7/gcloud-java-storage/cobertura/images/downsimple.png
new file mode 100644
index 000000000000..4accf927bed9
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/cobertura/images/downsimple.png differ
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/images/upsimple.png b/site/0.0.7/gcloud-java-storage/cobertura/images/upsimple.png
new file mode 100644
index 000000000000..c82b76ffe2c9
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/cobertura/images/upsimple.png differ
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/index.html b/site/0.0.7/gcloud-java-storage/cobertura/index.html
new file mode 100644
index 000000000000..573719b81895
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+
+
+
+
+ This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.
+ Click here to view a non-frame version.
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/js/customsorttypes.js b/site/0.0.7/gcloud-java-storage/cobertura/js/customsorttypes.js
new file mode 100644
index 000000000000..a16bda216f71
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/js/customsorttypes.js
@@ -0,0 +1,65 @@
+/*
+ * Cobertura - http://cobertura.sourceforge.net/
+ *
+ * Copyright (C) 2005 Mark Doliner
+ * Copyright (C) 2005 Olivier Parent
+ *
+ * Cobertura is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2 of the License,
+ * or (at your option) any later version.
+ *
+ * Cobertura is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Cobertura; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+function percentageSortType( s )
+{
+ var ret;
+ var i = s.indexOf( "%" );
+
+ if (i != -1) {
+ s = s.substr( 0, i );
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ ret = -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "Percentage", percentageSortType );
+
+
+
+// This is needed for correctly sorting numbers in different
+// locales. The stock number converter only expects to sort
+// numbers which use a period as a separator instead of a
+// comma (like French).
+function formattedNumberSortType( s )
+{
+ var ret;
+ var i = s.indexOf(';');
+
+ if (i != -1) {
+ s = s.substring(0, i);
+ }
+ ret = parseFloat(s);
+ if (isNaN(ret)) {
+ return -1;
+ }
+
+ return ret;
+}
+
+SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType );
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/js/popup.js b/site/0.0.7/gcloud-java-storage/cobertura/js/popup.js
new file mode 100644
index 000000000000..4a09072260dc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/js/popup.js
@@ -0,0 +1,8 @@
+var newwindow;
+function popupwindow(url)
+{
+ newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+ if (window.focus) {
+ newwindow.focus()
+ }
+}
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/js/sortabletable.js b/site/0.0.7/gcloud-java-storage/cobertura/js/sortabletable.js
new file mode 100644
index 000000000000..0dad657240f8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/js/sortabletable.js
@@ -0,0 +1,455 @@
+
+/*----------------------------------------------------------------------------\
+| Sortable Table 1.12 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1998 - 2004 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version |
+| 2003-01-19 | Minor changes to the date parsing |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText |
+| 2003-07-04 | Added workaround for IE cellIndex bug. |
+| 2003-11-09 | The bDescending argument to sort was not correctly working |
+| | Using onclick DOM0 event if no support for addEventListener |
+| | or attachEvent |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot |
+| | easier to add new, custom sort types. |
+| 2004-01-27 | Switch to use descending = false as the default sort order. |
+| | Change defaultDescending to suit your needs. |
+| 2004-03-14 | Improved sort type None look and feel a bit |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you |
+| | can use another tHead or no tHead, and you can chose some |
+| | other tBody. |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+ this.sortTypes = oSortTypes || [];
+
+ this.sortColumn = null;
+ this.descending = null;
+
+ var oThis = this;
+ this._headerOnclick = function (e) {
+ oThis.headerOnclick(e);
+ };
+
+ if (oTable) {
+ this.setTable( oTable );
+ this.document = oTable.ownerDocument || oTable.document;
+ }
+ else {
+ this.document = document;
+ }
+
+
+ // only IE needs this
+ var win = this.document.defaultView || this.document.parentWindow;
+ this._onunload = function () {
+ oThis.destroy();
+ };
+ if (win && typeof win.attachEvent != "undefined") {
+ win.attachEvent("onunload", this._onunload);
+ }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.element = oTable;
+ this.setTHead( oTable.tHead );
+ this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+ if (this.tHead && this.tHead != oTHead )
+ this.uninitHeader();
+ this.tHead = oTHead;
+ this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+ this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+ if ( this.tHead )
+ this.uninitHeader();
+ this.sortTypes = oSortTypes || [];
+ if ( this.tHead )
+ this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var doc = this.tHead.ownerDocument || this.tHead.document;
+ this.sortTypes = oSortTypes || [];
+ var l = cells.length;
+ var img, c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+ img = doc.createElement("IMG");
+ img.src = "images/blank.png";
+ c.appendChild(img);
+ if (this.sortTypes[i] != null)
+ c._sortType = this.sortTypes[i];
+ if (typeof c.addEventListener != "undefined")
+ c.addEventListener("click", this._headerOnclick, false);
+ else if (typeof c.attachEvent != "undefined")
+ c.attachEvent("onclick", this._headerOnclick);
+ else
+ c.onclick = this._headerOnclick;
+ }
+ else
+ {
+ c.setAttribute( "_sortType", oSortTypes[i] );
+ c._sortType = "None";
+ }
+ }
+ this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var c;
+ for (var i = 0; i < l; i++) {
+ c = cells[i];
+ if (c._sortType != null && c._sortType != "None") {
+ c.removeChild(c.lastChild);
+ if (typeof c.removeEventListener != "undefined")
+ c.removeEventListener("click", this._headerOnclick, false);
+ else if (typeof c.detachEvent != "undefined")
+ c.detachEvent("onclick", this._headerOnclick);
+ c._sortType = null;
+ c.removeAttribute( "_sortType" );
+ }
+ }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+ if (!this.tHead) return;
+ var cells = this.tHead.rows[0].cells;
+ var l = cells.length;
+ var img;
+ for (var i = 0; i < l; i++) {
+ if (cells[i]._sortType != null && cells[i]._sortType != "None") {
+ img = cells[i].lastChild;
+ if (i == this.sortColumn)
+ img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");
+ else
+ img.className = "sort-arrow";
+ }
+ }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+ // find TD element
+ var el = e.target || e.srcElement;
+ while (el.tagName != "TD")
+ el = el.parentNode;
+
+ this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+ var cells = oTd.parentNode.childNodes
+ var l = cells.length;
+ var i;
+ for (i = 0; cells[i] != oTd && i < l; i++)
+ ;
+ return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+ return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+ if (!this.tBody) return;
+ if (sSortType == null)
+ sSortType = this.getSortType(nColumn);
+
+ // exit if None
+ if (sSortType == "None")
+ return;
+
+ if (bDescending == null) {
+ if (this.sortColumn != nColumn)
+ this.descending = this.defaultDescending;
+ else
+ this.descending = !this.descending;
+ }
+ else
+ this.descending = bDescending;
+
+ this.sortColumn = nColumn;
+
+ if (typeof this.onbeforesort == "function")
+ this.onbeforesort();
+
+ var f = this.getSortFunction(sSortType, nColumn);
+ var a = this.getCache(sSortType, nColumn);
+ var tBody = this.tBody;
+
+ a.sort(f);
+
+ if (this.descending)
+ a.reverse();
+
+ if (SortableTable.removeBeforeSort) {
+ // remove from doc
+ var nextSibling = tBody.nextSibling;
+ var p = tBody.parentNode;
+ p.removeChild(tBody);
+ }
+
+ // insert in the new order
+ var l = a.length;
+ for (var i = 0; i < l; i++)
+ tBody.appendChild(a[i].element);
+
+ if (SortableTable.removeBeforeSort) {
+ // insert into doc
+ p.insertBefore(tBody, nextSibling);
+ }
+
+ this.updateHeaderArrows();
+
+ this.destroyCache(a);
+
+ if (typeof this.onsort == "function")
+ this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {
+ var oThis = this;
+ this._asyncsort = function () {
+ oThis.sort(nColumn, bDescending, sSortType);
+ };
+ window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+ if (!this.tBody) return [];
+ var rows = this.tBody.rows;
+ var l = rows.length;
+ var a = new Array(l);
+ var r;
+ for (var i = 0; i < l; i++) {
+ r = rows[i];
+ a[i] = {
+ value: this.getRowValue(r, sType, nColumn),
+ element: r
+ };
+ };
+ return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+ var l = oArray.length;
+ for (var i = 0; i < l; i++) {
+ oArray[i].value = null;
+ oArray[i].element = null;
+ oArray[i] = null;
+ }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+ // if we have defined a custom getRowValue use that
+ if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+ return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+ var s;
+ var c = oRow.cells[nColumn];
+ if (typeof c.innerText != "undefined")
+ s = c.innerText;
+ else
+ s = SortableTable.getInnerText(c);
+ return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+ var s = "";
+ var cs = oNode.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ s += SortableTable.getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ s += cs[i].nodeValue;
+ break;
+ }
+ }
+ return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].getValueFromString( sText );
+ return sText;
+ /*
+ switch (sType) {
+ case "Number":
+ return Number(sText);
+ case "CaseInsensitiveString":
+ return sText.toUpperCase();
+ case "Date":
+ var parts = sText.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+ }
+ return sText;
+ */
+ };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+ if (this._sortTypeInfo[sType])
+ return this._sortTypeInfo[sType].compare;
+ return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+ this.uninitHeader();
+ var win = this.document.parentWindow;
+ if (win && typeof win.detachEvent != "undefined") { // only IE needs this
+ win.detachEvent("onunload", this._onunload);
+ }
+ this._onunload = null;
+ this.element = null;
+ this.tHead = null;
+ this.tBody = null;
+ this.document = null;
+ this._headerOnclick = null;
+ this.sortTypes = null;
+ this._asyncsort = null;
+ this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+// string and casts it to a desired format. If left out the string is just
+// returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+// compare function. Takes two values and compares them. If left out less than,
+// <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function
+// that takes the row and the column index and returns the value used to compare.
+// If left out then the innerText is first taken for the cell and then the
+// fGetValueFromString is used to convert that string the desired value and type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {
+ this._sortTypeInfo[sType] = {
+ type: sType,
+ getValueFromString: fGetValueFromString || SortableTable.idFunction,
+ compare: fCompareFunction || SortableTable.basicCompare,
+ getRowValue: fGetRowValue
+ };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+ delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+ if (n1.value < n2.value)
+ return -1;
+ if (n2.value < n1.value)
+ return 1;
+ return 0;
+};
+
+SortableTable.idFunction = function (x) {
+ return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+ return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+ var parts = s.split("-");
+ var d = new Date(0);
+ d.setFullYear(parts[0]);
+ d.setDate(parts[2]);
+ d.setMonth(parts[1] - 1);
+ return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
diff --git a/site/0.0.7/gcloud-java-storage/cobertura/js/stringbuilder.js b/site/0.0.7/gcloud-java-storage/cobertura/js/stringbuilder.js
new file mode 100644
index 000000000000..464a1cacb2ba
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/cobertura/js/stringbuilder.js
@@ -0,0 +1,79 @@
+/*----------------------------------------------------------------------------\
+| String Builder 1.02 |
+|-----------------------------------------------------------------------------|
+| Created by Erik Arvidsson |
+| (http://webfx.eae.net/contact.html#erik) |
+| For WebFX (http://webfx.eae.net/) |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation. |
+|-----------------------------------------------------------------------------|
+| Copyright (c) 1999 - 2002 Erik Arvidsson |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including but not limited to the warranties of merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or copyright holders be liable for any claim, damages or other |
+| liability, whether in an action of contract, tort or otherwise, arising |
+| from, out of or in connection with the software or the use or other |
+| dealings in the software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This software is available under the three different licenses mentioned |
+| below. To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
+| Permits anyone the right to use the software in a non-commercial context |
+| free of charge. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license http://webfx.eae.net/commercial.html |
+| Permits the license holder the right to use the software in a commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of implementations of the licensed software. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper credits are given and the original and modified source |
+| code are included. Requires that the final product, software derivate from |
+| the original source or any software utilizing a GPL component, such as |
+| this, is also licensed under the GPL license. |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version |
+| 2000-10-05 | Added a cache of the string so that it does not need to be |
+| | regenerated every time in toString |
+| 2002-10-03 | Added minor improvement in the toString method |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/ function StringBuilder(sString) {
+
+ // public
+ this.length = 0;
+
+ this.append = function (sString) {
+ // append argument
+ this.length += (this._parts[this._current++] = String(sString)).length;
+
+ // reset cache
+ this._string = null;
+ return this;
+ };
+
+ this.toString = function () {
+ if (this._string != null)
+ return this._string;
+
+ var s = this._parts.join("");
+ this._parts = [s];
+ this._current = 1;
+ this.length = s.length;
+
+ return this._string = s;
+ };
+
+ // private
+ this._current = 0;
+ this._parts = [];
+ this._string = null; // used to cache the string
+
+ // init
+ if (sString != null)
+ this.append(sString);
+}
diff --git a/site/0.0.7/gcloud-java-storage/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/gcloud-java-storage/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-storage/css/print.css b/site/0.0.7/gcloud-java-storage/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/gcloud-java-storage/css/site.css b/site/0.0.7/gcloud-java-storage/css/site.css
new file mode 100644
index 000000000000..055e7e286adc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java-storage/dependencies.html b/site/0.0.7/gcloud-java-storage/dependencies.html
new file mode 100644
index 000000000000..66dee4917f44
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/dependencies.html
@@ -0,0 +1,1331 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Project Dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Dependencies
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Transitive Dependencies
+
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+GroupId
+ArtifactId
+Version
+Type
+License
+
+com.fasterxml.jackson.core
+jackson-core
+2.1.3
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.auth
+google-auth-library-credentials
+0.1.0
+jar
+BSD New license
+
+com.google.auth
+google-auth-library-oauth2-http
+0.1.0
+jar
+BSD New license
+
+com.google.code.findbugs
+jsr305
+1.3.9
+jar
+The Apache Software License, Version 2.0
+
+com.google.guava
+guava
+18.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.guava
+guava-jdk5
+13.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jdo
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+commons-codec
+commons-codec
+1.3
+jar
+/LICENSE.txt
+
+commons-logging
+commons-logging
+1.1.1
+jar
+The Apache Software License, Version 2.0
+
+javax.jdo
+jdo2-api
+2.3-eb
+jar
+Apache 2
+
+javax.servlet
+servlet-api
+2.5
+jar
+-
+
+javax.transaction
+transaction-api
+1.1
+jar
+-
+
+joda-time
+joda-time
+2.8.2
+jar
+Apache 2
+
+org.apache.httpcomponents
+httpclient
+4.0.1
+jar
+../LICENSE.txt
+
+org.apache.httpcomponents
+httpcore
+4.0.1
+jar
+Apache License
+
+org.codehaus.jackson
+jackson-core-asl
+1.9.11
+jar
+The Apache Software License, Version 2.0
+
+org.json
+json
+20090211
+jar
+provided without support or warranty
+
+
test
+
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+
+
+
Project Dependency Graph
+
+
+
Dependency Tree
+
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.auth:google-auth-library-credentials:jar:0.1.0 (compile)
+com.google.auth:google-auth-library-oauth2-http:jar:0.1.0 (compile)
+
+com.google.http-client:google-http-client-jackson2:jar:1.19.0 (compile)
+
+com.fasterxml.jackson.core:jackson-core:jar:2.1.3 (compile)
+com.google.http-client:google-http-client:jar:1.20.0 (compile)
+
+com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
+org.apache.httpcomponents:httpclient:jar:4.0.1 (compile)
+
+org.apache.httpcomponents:httpcore:jar:4.0.1 (compile)
+commons-logging:commons-logging:jar:1.1.1 (compile)
+commons-codec:commons-codec:jar:1.3 (compile)
+com.google.oauth-client:google-oauth-client:jar:1.20.0 (compile)
+com.google.guava:guava:jar:18.0 (compile)
+com.google.api-client:google-api-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0 (compile)
+
+com.google.http-client:google-http-client-jdo:jar:1.20.0 (compile)
+javax.servlet:servlet-api:jar:2.5 (compile)
+
+
+servlet-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.api-client:google-api-client-servlet:jar:1.20.0 (compile)
+
+javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+JDO2 API
+
+
+Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
+URL: http://db.apache.org/jdo/index.html
+Project License: Apache 2
+
+javax.transaction:transaction-api:jar:1.1 (compile)
+
+
+transaction-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.http-client:google-http-client-appengine:jar:1.20.0 (compile)
+com.google.http-client:google-http-client-jackson:jar:1.20.0 (compile)
+
+org.codehaus.jackson:jackson-core-asl:jar:1.9.11 (compile)
+joda-time:joda-time:jar:2.8.2 (compile)
+org.json:json:jar:20090211 (compile)
+
+
+JSON (JavaScript Object Notation)
+
+
+Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
+URL: http://www.json.org/java/index.html
+Project License: provided without support or warranty
+com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0 (compile)
+
+com.google.api-client:google-api-client:jar:1.20.0 (compile)
+
+com.google.guava:guava-jdk5:jar:13.0 (compile)
+junit:junit:jar:4.12 (test)
+
+org.hamcrest:hamcrest-core:jar:1.3 (test)
+org.easymock:easymock:jar:3.3 (test)
+
+
+EasyMock
+
+
+Description: EasyMock provides an easy way to create Mock Objects for interfaces and classes generating them on the fly
+URL: http://easymock.org/easymock
+Project License: Apache 2
+
+cglib:cglib-nodep:jar:3.1 (test)
+org.objenesis:objenesis:jar:2.1 (test)
+
+
Licenses
+
Apache 2: EasyMock, JDO2 API, Joda-Time, Objenesis
+
Unknown: servlet-api, transaction-api
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
Eclipse Public License 1.0: JUnit
+
Apache License: HttpClient, HttpCore
+
GCloud Java Software License: GCloud Java core, GCloud Java storage
+
ASF 2.0: Code Generation Library
+
BSD New license: Google Auth Library for Java - Credentials, Google Auth Library for Java - OAuth2 HTTP
+
New BSD License: Hamcrest Core
+
The Apache Software License, Version 2.0: Cloud Storage API v1-rev33-1.20.0, Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Jackson, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson extensions to the Google HTTP Client Library for Java., Jackson-core, Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
+
Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+cglib-nodep-3.1.jar
+331.20 kB
+256
+252
+9
+1.2
+Yes
+
+jackson-core-2.1.3.jar
+206.80 kB
+110
+89
+8
+1.5
+Yes
+
+google-api-client-1.20.0.jar
+194.26 kB
+137
+106
+22
+1.5
+Yes
+
+google-api-client-appengine-1.20.0.jar
+9.87 kB
+22
+7
+3
+1.5
+Yes
+
+google-api-client-servlet-1.20.0.jar
+6.72 kB
+14
+4
+1
+1.5
+Yes
+
+google-api-services-storage-v1-rev33-1.20.0.jar
+97.82 kB
+83
+71
+2
+1.5
+Yes
+
+google-auth-library-credentials-0.1.0.jar
+2.67 kB
+11
+1
+1
+1.5
+Yes
+
+google-auth-library-oauth2-http-0.1.0.jar
+21.79 kB
+21
+9
+2
+1.5
+Yes
+
+jsr305-1.3.9.jar
+33.01 kB
+72
+35
+3
+1.5
+Yes
+
+gcloud-java-core-0.0.7-SNAPSHOT.jar
+54.53 kB
+40
+27
+2
+1.6
+Yes
+
+guava-18.0.jar
+2.26 MB
+1719
+1690
+17
+1.6
+Yes
+
+guava-jdk5-13.0.jar
+1.79 MB
+1396
+1372
+13
+1.5
+Yes
+
+google-http-client-1.20.0.jar
+286.72 kB
+247
+213
+20
+1.5
+Yes
+
+google-http-client-appengine-1.20.0.jar
+15.69 kB
+21
+11
+2
+1.5
+Yes
+
+google-http-client-jackson-1.20.0.jar
+6.03 kB
+12
+4
+1
+1.5
+Yes
+
+google-http-client-jackson2-1.19.0.jar
+6.72 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-jdo-1.20.0.jar
+11.34 kB
+13
+5
+1
+1.5
+Yes
+
+google-oauth-client-1.20.0.jar
+61.09 kB
+57
+47
+3
+1.5
+Yes
+
+google-oauth-client-appengine-1.20.0.jar
+7.95 kB
+17
+7
+2
+1.5
+Yes
+
+google-oauth-client-servlet-1.20.0.jar
+22.12 kB
+24
+11
+4
+1.5
+Yes
+
+commons-codec-1.3.jar
+46.72 kB
+42
+25
+5
+1.2
+Yes
+
+commons-logging-1.1.1.jar
+60.69 kB
+42
+28
+2
+1.1
+Yes
+
+jdo2-api-2.3-eb.jar
+192.70 kB
+226
+182
+7
+1.5
+Yes
+
+servlet-api-2.5.jar
+105.11 kB
+68
+42
+2
+1.5
+Yes
+
+transaction-api-1.1.jar
+15.07 kB
+24
+18
+2
+1.3
+Yes
+
+joda-time-2.8.2.jar
+621.99 kB
+749
+246
+7
+1.5
+Yes
+
+junit-4.12.jar
+314.93 kB
+323
+286
+30
+1.5
+Yes
+
+httpclient-4.0.1.jar
+291.04 kB
+266
+230
+22
+1.5
+Yes
+
+httpcore-4.0.1.jar
+172.89 kB
+181
+158
+10
+1.3
+Yes
+
+jackson-core-asl-1.9.11.jar
+232.13 kB
+137
+121
+8
+1.5
+Yes
+
+easymock-3.3.jar
+126.61 kB
+104
+95
+3
+1.5
+Yes
+
+hamcrest-core-1.3.jar
+45.02 kB
+52
+45
+3
+1.5
+Yes
+
+json-20090211.jar
+45.94 kB
+21
+19
+1
+1.6
+Yes
+
+objenesis-2.1.jar
+41.76 kB
+52
+37
+9
+1.5
+Yes
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+34
+7.74 MB
+6572
+5498
+228
+1.6
+34
+
+compile: 29
+compile: 6.88 MB
+compile: 5785
+compile: 4783
+compile: 174
+-
+compile: 29
+
+test: 5
+test: 859.53 kB
+test: 787
+test: 715
+test: 54
+-
+test: 5
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/dependency-analysis.html b/site/0.0.7/gcloud-java-storage/dependency-analysis.html
new file mode 100644
index 000000000000..0316673ce724
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/dependency-analysis.html
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Dependencies Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Analysis
+
+
Used and declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.gcloud
+gcloud-java-core
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.apis
+google-api-services-storage
+v1-rev33-1.20.0
+compile
+
+jar
+false
+
+junit
+junit
+4.12
+test
+
+jar
+false
+
+
Used but undeclared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+compile
+
+jar
+false
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+compile
+
+jar
+false
+
+com.google.api-client
+google-api-client
+1.20.0
+compile
+
+jar
+false
+
+com.google.http-client
+google-http-client
+1.20.0
+compile
+
+jar
+false
+
+com.google.guava
+guava
+18.0
+compile
+
+jar
+false
+
+
Unused but declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+org.easymock
+easymock
+3.3
+test
+
+jar
+false
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/dependency-convergence.html b/site/0.0.7/gcloud-java-storage/dependency-convergence.html
new file mode 100644
index 000000000000..9839ffd62a82
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/dependency-convergence.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+50
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 82 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/dependency-info.html b/site/0.0.7/gcloud-java-storage/dependency-info.html
new file mode 100644
index 000000000000..61e9683de45f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/dependency-info.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java-storage</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java-storage" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java-storage" type="jar" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java-storage', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java-storage:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java-storage "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java-storage" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/dev-activity.html b/site/0.0.7/gcloud-java-storage/dev-activity.html
new file mode 100644
index 000000000000..9e432d22f0d8
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/dev-activity.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+aozarov <aozarov@gmail.com>
+1
+1
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/distribution-management.html b/site/0.0.7/gcloud-java-storage/distribution-management.html
new file mode 100644
index 000000000000..a5ecd79086a4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/distribution-management.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/gcloud-java-storage/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/file-activity.html b/site/0.0.7/gcloud-java-storage/file-activity.html
new file mode 100644
index 000000000000..beb0ed987a72
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/file-activity.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 1 Total number of files changed: 1
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/images/accessories-text-editor.png b/site/0.0.7/gcloud-java-storage/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/add.gif b/site/0.0.7/gcloud-java-storage/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/add.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/apache-maven-project-2.png b/site/0.0.7/gcloud-java-storage/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/application-certificate.png b/site/0.0.7/gcloud-java-storage/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/application-certificate.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/close.gif b/site/0.0.7/gcloud-java-storage/images/close.gif
new file mode 100644
index 000000000000..1c26bbc5264f
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/close.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/contact-new.png b/site/0.0.7/gcloud-java-storage/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/contact-new.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/document-properties.png b/site/0.0.7/gcloud-java-storage/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/document-properties.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/drive-harddisk.png b/site/0.0.7/gcloud-java-storage/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/drive-harddisk.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/fix.gif b/site/0.0.7/gcloud-java-storage/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/fix.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/icon_error_sml.gif b/site/0.0.7/gcloud-java-storage/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/icon_help_sml.gif b/site/0.0.7/gcloud-java-storage/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/icon_info_sml.gif b/site/0.0.7/gcloud-java-storage/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/icon_success_sml.gif b/site/0.0.7/gcloud-java-storage/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/icon_warning_sml.gif b/site/0.0.7/gcloud-java-storage/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/image-x-generic.png b/site/0.0.7/gcloud-java-storage/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/image-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/internet-web-browser.png b/site/0.0.7/gcloud-java-storage/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/internet-web-browser.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-black.png b/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-white.png b/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/logos/maven-feather.png b/site/0.0.7/gcloud-java-storage/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/network-server.png b/site/0.0.7/gcloud-java-storage/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/network-server.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/package-x-generic.png b/site/0.0.7/gcloud-java-storage/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/package-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/profiles/pre-release.png b/site/0.0.7/gcloud-java-storage/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/profiles/retired.png b/site/0.0.7/gcloud-java-storage/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/profiles/retired.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/profiles/sandbox.png b/site/0.0.7/gcloud-java-storage/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/remove.gif b/site/0.0.7/gcloud-java-storage/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/remove.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/rss.png b/site/0.0.7/gcloud-java-storage/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/rss.png differ
diff --git a/site/0.0.7/gcloud-java-storage/images/update.gif b/site/0.0.7/gcloud-java-storage/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/update.gif differ
diff --git a/site/0.0.7/gcloud-java-storage/images/window-new.png b/site/0.0.7/gcloud-java-storage/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/images/window-new.png differ
diff --git a/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings-white.png b/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings.png b/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/gcloud-java-storage/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/gcloud-java-storage/index.html b/site/0.0.7/gcloud-java-storage/index.html
new file mode 100644
index 000000000000..1c168b3e0daa
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/index.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About GCloud Java storage
+
Java idiomatic client for Google Cloud Storage.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/integration.html b/site/0.0.7/gcloud-java-storage/integration.html
new file mode 100644
index 000000000000..c1bdb43f639f
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/integration.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/issue-tracking.html b/site/0.0.7/gcloud-java-storage/issue-tracking.html
new file mode 100644
index 000000000000..bfdd31d0c2cc
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/issue-tracking.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/gcloud-java-storage/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/project-info.html b/site/0.0.7/gcloud-java-storage/project-info.html
new file mode 100644
index 000000000000..0055569b3b9a
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/project-info.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Java idiomatic client for Google Cloud Storage.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependencies
+This document lists the project's dependencies and provides information on each dependency.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/project-reports.html b/site/0.0.7/gcloud-java-storage/project-reports.html
new file mode 100644
index 000000000000..676f52e3c74b
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/project-reports.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/project-summary.html b/site/0.0.7/gcloud-java-storage/project-summary.html
new file mode 100644
index 000000000000..d07f4e4b2715
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/project-summary.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java-storage
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+jar
+
+Java Version
+1.7
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/source-repository.html b/site/0.0.7/gcloud-java-storage/source-repository.html
new file mode 100644
index 000000000000..ca7b2482ca8e
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/source-repository.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/surefire-report.html b/site/0.0.7/gcloud-java-storage/surefire-report.html
new file mode 100644
index 000000000000..713b93f607ff
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/surefire-report.html
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java-storage/team-list.html b/site/0.0.7/gcloud-java-storage/team-list.html
new file mode 100644
index 000000000000..f5708f3fa7ee
--- /dev/null
+++ b/site/0.0.7/gcloud-java-storage/team-list.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+ GCloud Java storage – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
GCloud Java storage
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/changelog.html b/site/0.0.7/gcloud-java/changelog.html
new file mode 100644
index 000000000000..368626b7d83f
--- /dev/null
+++ b/site/0.0.7/gcloud-java/changelog.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Change Log Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Log Report
+
Total number of changed sets: 1
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Timestamp
+Author
+Details
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/css/apache-maven-fluido-1.3.1.min.css b/site/0.0.7/gcloud-java/css/apache-maven-fluido-1.3.1.min.css
new file mode 100644
index 000000000000..ed43d1211cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java/css/apache-maven-fluido-1.3.1.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media .pull-left{margin-right:10px}.media .pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:.8em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}li.pull-right{margin-left:3px;margin-right:3px}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java/css/print.css b/site/0.0.7/gcloud-java/css/print.css
new file mode 100644
index 000000000000..46c5e8109dd0
--- /dev/null
+++ b/site/0.0.7/gcloud-java/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/site/0.0.7/gcloud-java/css/site.css b/site/0.0.7/gcloud-java/css/site.css
new file mode 100644
index 000000000000..055e7e286adc
--- /dev/null
+++ b/site/0.0.7/gcloud-java/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/site/0.0.7/gcloud-java/dependencies.html b/site/0.0.7/gcloud-java/dependencies.html
new file mode 100644
index 000000000000..e6c12d886c0d
--- /dev/null
+++ b/site/0.0.7/gcloud-java/dependencies.html
@@ -0,0 +1,1329 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Dependencies
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+
Project Transitive Dependencies
+
The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+
+
compile
+
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+
+
+GroupId
+ArtifactId
+Version
+Type
+License
+
+com.fasterxml.jackson.core
+jackson-core
+2.1.3
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.api-client
+google-api-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.apis
+google-api-services-datastore
+v1beta2-rev23-1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.apis
+google-api-services-datastore-protobuf
+v1beta2-rev1-2.1.2
+jar
+-
+
+com.google.apis
+google-api-services-storage
+v1-rev33-1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.auth
+google-auth-library-credentials
+0.1.0
+jar
+BSD New license
+
+com.google.auth
+google-auth-library-oauth2-http
+0.1.0
+jar
+BSD New license
+
+com.google.code.findbugs
+jsr305
+1.3.9
+jar
+The Apache Software License, Version 2.0
+
+com.google.guava
+guava
+18.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jackson2
+1.19.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-jdo
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.http-client
+google-http-client-protobuf
+1.15.0-rc
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-appengine
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.oauth-client
+google-oauth-client-servlet
+1.20.0
+jar
+The Apache Software License, Version 2.0
+
+com.google.protobuf
+protobuf-java
+2.5.0
+jar
+New BSD license
+
+commons-codec
+commons-codec
+1.3
+jar
+/LICENSE.txt
+
+commons-logging
+commons-logging
+1.1.1
+jar
+The Apache Software License, Version 2.0
+
+javax.jdo
+jdo2-api
+2.3-eb
+jar
+Apache 2
+
+javax.servlet
+servlet-api
+2.5
+jar
+-
+
+javax.transaction
+transaction-api
+1.1
+jar
+-
+
+joda-time
+joda-time
+2.8.2
+jar
+Apache 2
+
+org.apache.httpcomponents
+httpclient
+4.0.1
+jar
+../LICENSE.txt
+
+org.apache.httpcomponents
+httpcore
+4.0.1
+jar
+Apache License
+
+org.codehaus.jackson
+jackson-core-asl
+1.9.11
+jar
+The Apache Software License, Version 2.0
+
+org.json
+json
+20090211
+jar
+provided without support or warranty
+
+
Project Dependency Graph
+
+
+
Dependency Tree
+
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.auth:google-auth-library-credentials:jar:0.1.0 (compile)
+com.google.auth:google-auth-library-oauth2-http:jar:0.1.0 (compile)
+
+com.google.http-client:google-http-client-jackson2:jar:1.19.0 (compile)
+
+com.fasterxml.jackson.core:jackson-core:jar:2.1.3 (compile)
+com.google.http-client:google-http-client:jar:1.20.0 (compile)
+
+com.google.code.findbugs:jsr305:jar:1.3.9 (compile)
+org.apache.httpcomponents:httpclient:jar:4.0.1 (compile)
+
+org.apache.httpcomponents:httpcore:jar:4.0.1 (compile)
+commons-logging:commons-logging:jar:1.1.1 (compile)
+commons-codec:commons-codec:jar:1.3 (compile)
+com.google.oauth-client:google-oauth-client:jar:1.20.0 (compile)
+com.google.guava:guava:jar:18.0 (compile)
+com.google.api-client:google-api-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0 (compile)
+
+com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0 (compile)
+
+com.google.http-client:google-http-client-jdo:jar:1.20.0 (compile)
+javax.servlet:servlet-api:jar:2.5 (compile)
+
+
+servlet-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.api-client:google-api-client:jar:1.20.0 (compile)
+com.google.api-client:google-api-client-servlet:jar:1.20.0 (compile)
+
+javax.jdo:jdo2-api:jar:2.3-eb (compile)
+
+
+JDO2 API
+
+
+Description: The Java Data Objects 2 (JDO) API is a standard interface-based Java model abstraction of persistence, developed as Java Specification Request 243 under the auspices of the Java Community Process.
+URL: http://db.apache.org/jdo/index.html
+Project License: Apache 2
+
+javax.transaction:transaction-api:jar:1.1 (compile)
+
+
+transaction-api
+
+
+Description: There is currently no description associated with this project.
+Project License: No license is defined for this project.
+com.google.http-client:google-http-client-appengine:jar:1.20.0 (compile)
+com.google.http-client:google-http-client-jackson:jar:1.20.0 (compile)
+
+org.codehaus.jackson:jackson-core-asl:jar:1.9.11 (compile)
+joda-time:joda-time:jar:2.8.2 (compile)
+org.json:json:jar:20090211 (compile)
+
+
+JSON (JavaScript Object Notation)
+
+
+Description: JSON (JavaScript Object Notation) is a lightweight data-interchange format.
+ It is easy for humans to read and write. It is easy for machines to parse and generate.
+ It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition
+ - December 1999. JSON is a text format that is completely language independent but uses
+ conventions that are familiar to programmers of the C-family of languages, including C, C++, C#,
+ Java, JavaScript, Perl, Python, and many others.
+ These properties make JSON an ideal data-interchange language.
+URL: http://www.json.org/java/index.html
+Project License: provided without support or warranty
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2 (compile)
+
+com.google.protobuf:protobuf-java:jar:2.5.0 (compile)
+com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc (compile)
+com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0 (compile)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT (compile)
+
+com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0 (compile)
+
+
Licenses
+
Apache 2: JDO2 API, Joda-Time
+
Unknown: google-api-services-datastore-protobuf, servlet-api, transaction-api
+
provided without support or warranty: JSON (JavaScript Object Notation)
+
New BSD license: Protocol Buffer Java API
+
Apache License: HttpClient, HttpCore
+
GCloud Java Software License: GCloud Java, GCloud Java core, GCloud Java datastore, GCloud Java storage
+
BSD New license: Google Auth Library for Java - Credentials, Google Auth Library for Java - OAuth2 HTTP
+
The Apache Software License, Version 2.0: Cloud Storage API v1-rev33-1.20.0, Codec, Commons Logging, FindBugs-jsr305, Google APIs Client Library for Java, Google App Engine extensions to the Google API Client Library for Java., Google App Engine extensions to the Google HTTP Client Library for Java., Google App Engine extensions to the Google OAuth Client Library for Java., Google Cloud Datastore API v1beta2-rev23-1.19.0, Google HTTP Client Library for Java, Google OAuth Client Library for Java, Guava: Google Core Libraries for Java, JDO extensions to the Google HTTP Client Library for Java., Jackson, Jackson 2 extensions to the Google HTTP Client Library for Java., Jackson extensions to the Google HTTP Client Library for Java., Jackson-core, Protocol Buffer extensions to the Google HTTP Client Library for Java., Servlet and JDO extensions to the Google API Client Library for Java., Servlet and JDO extensions to the Google OAuth Client Library for Java.
+
+
Dependency File Details
+
+
+Filename
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+jackson-core-2.1.3.jar
+206.80 kB
+110
+89
+8
+1.5
+Yes
+
+google-api-client-1.20.0.jar
+194.26 kB
+137
+106
+22
+1.5
+Yes
+
+google-api-client-appengine-1.20.0.jar
+9.87 kB
+22
+7
+3
+1.5
+Yes
+
+google-api-client-servlet-1.20.0.jar
+6.72 kB
+14
+4
+1
+1.5
+Yes
+
+google-api-services-datastore-v1beta2-rev23-1.19.0.jar
+49.85 kB
+58
+46
+2
+1.5
+Yes
+
+google-api-services-datastore-protobuf-v1beta2-rev1-2.1.2.jar
+456.59 kB
+190
+177
+2
+1.6
+Yes
+
+google-api-services-storage-v1-rev33-1.20.0.jar
+97.82 kB
+83
+71
+2
+1.5
+Yes
+
+google-auth-library-credentials-0.1.0.jar
+2.67 kB
+11
+1
+1
+1.5
+Yes
+
+google-auth-library-oauth2-http-0.1.0.jar
+21.79 kB
+21
+9
+2
+1.5
+Yes
+
+jsr305-1.3.9.jar
+33.01 kB
+72
+35
+3
+1.5
+Yes
+
+gcloud-java-core-0.0.7-SNAPSHOT.jar
+54.53 kB
+40
+27
+2
+1.6
+Yes
+
+gcloud-java-datastore-0.0.7-SNAPSHOT.jar
+275.99 kB
+153
+139
+2
+1.6
+Yes
+
+gcloud-java-storage-0.0.7-SNAPSHOT.jar
+213.74 kB
+126
+112
+2
+1.6
+Yes
+
+guava-18.0.jar
+2.26 MB
+1719
+1690
+17
+1.6
+Yes
+
+google-http-client-1.20.0.jar
+286.72 kB
+247
+213
+20
+1.5
+Yes
+
+google-http-client-appengine-1.20.0.jar
+15.69 kB
+21
+11
+2
+1.5
+Yes
+
+google-http-client-jackson-1.20.0.jar
+6.03 kB
+12
+4
+1
+1.5
+Yes
+
+google-http-client-jackson2-1.19.0.jar
+6.72 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-jdo-1.20.0.jar
+11.34 kB
+13
+5
+1
+1.5
+Yes
+
+google-http-client-protobuf-1.15.0-rc.jar
+7.09 kB
+19
+5
+2
+1.5
+Yes
+
+google-oauth-client-1.20.0.jar
+61.09 kB
+57
+47
+3
+1.5
+Yes
+
+google-oauth-client-appengine-1.20.0.jar
+7.95 kB
+17
+7
+2
+1.5
+Yes
+
+google-oauth-client-servlet-1.20.0.jar
+22.12 kB
+24
+11
+4
+1.5
+Yes
+
+protobuf-java-2.5.0.jar
+533.46 kB
+256
+246
+1
+1.5
+Yes
+
+commons-codec-1.3.jar
+46.72 kB
+42
+25
+5
+1.2
+Yes
+
+commons-logging-1.1.1.jar
+60.69 kB
+42
+28
+2
+1.1
+Yes
+
+jdo2-api-2.3-eb.jar
+192.70 kB
+226
+182
+7
+1.5
+Yes
+
+servlet-api-2.5.jar
+105.11 kB
+68
+42
+2
+1.5
+Yes
+
+transaction-api-1.1.jar
+15.07 kB
+24
+18
+2
+1.3
+Yes
+
+joda-time-2.8.2.jar
+621.99 kB
+749
+246
+7
+1.5
+Yes
+
+httpclient-4.0.1.jar
+291.04 kB
+266
+230
+22
+1.5
+Yes
+
+httpcore-4.0.1.jar
+172.89 kB
+181
+158
+10
+1.3
+Yes
+
+jackson-core-asl-1.9.11.jar
+232.13 kB
+137
+121
+8
+1.5
+Yes
+
+json-20090211.jar
+45.94 kB
+21
+19
+1
+1.6
+Yes
+
+Total
+Size
+Entries
+Classes
+Packages
+Java Version
+Debug Information
+
+34
+6.62 MB
+5191
+4136
+172
+1.6
+34
+
+compile: 34
+compile: 6.62 MB
+compile: 5191
+compile: 4136
+compile: 172
+-
+compile: 34
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/dependency-analysis.html b/site/0.0.7/gcloud-java/dependency-analysis.html
new file mode 100644
index 000000000000..6d0c59227945
--- /dev/null
+++ b/site/0.0.7/gcloud-java/dependency-analysis.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Dependencies Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Analysis
+
+
Used and declared dependencies
+
None
+
+
Used but undeclared dependencies
+
None
+
+
Unused but declared dependencies
+
+
+GroupId
+ArtifactId
+Version
+Scope
+Classifier
+Type
+Optional
+
+com.google.gcloud
+gcloud-java-core
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.gcloud
+gcloud-java-datastore
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+com.google.gcloud
+gcloud-java-storage
+0.0.7-SNAPSHOT
+compile
+
+jar
+false
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/dependency-convergence.html b/site/0.0.7/gcloud-java/dependency-convergence.html
new file mode 100644
index 000000000000..70c929a5d7fc
--- /dev/null
+++ b/site/0.0.7/gcloud-java/dependency-convergence.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Reactor Dependency Convergence
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reactor Dependency Convergence
+
+ Legend:
+
+
+
+At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+
+ Statistics:
+
+
+Number of modules:
+6
+
+Number of dependencies (NOD):
+41
+
+Number of unique artifacts (NOA):
+50
+
+Number of version-conflicting artifacts (NOC):
+6
+
+Number of SNAPSHOT artifacts (NOS):
+0
+
+Convergence (NOD/NOA):
+ 82 %
+
+Ready for release (100 % convergence and no SNAPSHOTS):
+ Error You do not have 100 % convergence.
+
+
Dependencies used in modules
+
+
com.google.api-client:google-api-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.api-client:google-api-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.15.0-rc)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore:jar:v1beta2-rev23-1.19.0:compile \- (com.google.api-client:google-api-client:jar:1.19.0:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for conflict with 1.15.0-rc) \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT +- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile | \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.api-client:google-api-client:jar:1.20.0:compile | \- com.google.api-client:google-api-client-servlet:jar:1.20.0:compile | \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- (com.google.api-client:google-api-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.http-client:google-http-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.20.0) \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile \- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for duplicate)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.http-client:google-http-client:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) +- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile | +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | | \- com.google.http-client:google-http-client-jdo:jar:1.20.0:compile | | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.http-client:google-http-client-appengine:jar:1.20.0:compile | \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile \- (com.google.http-client:google-http-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.http-client:google-http-client-jackson
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.http-client:google-http-client-jackson:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.http-client:google-http-client-jackson:jar:1.20.0:compile
+
+
com.google.http-client:google-http-client-jackson2
+
+
+
+
+
+
+1.19.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.auth:google-auth-library-oauth2-http:jar:0.1.0:compile \- com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java-storage:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-storage:jar:v1-rev33-1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.http-client:google-http-client-jackson2:jar:1.20.0:compile - omitted for conflict with 1.19.0)
+
+
com.google.oauth-client:google-oauth-client
+
+
+
+
+
+
+1.15.0-rc
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile +- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0) \- com.google.api-client:google-api-client:jar:1.15.0-rc:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- (com.google.oauth-client:google-oauth-client:jar:1.15.0-rc:compile - omitted for conflict with 1.20.0)
+
+1.20.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile \- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-core:jar:0.0.7-SNAPSHOT:compile +- com.google.oauth-client:google-oauth-client:jar:1.20.0:compile \- com.google.api-client:google-api-client-appengine:jar:1.20.0:compile +- com.google.oauth-client:google-oauth-client-appengine:jar:1.20.0:compile | +- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) | \- com.google.oauth-client:google-oauth-client-servlet:jar:1.20.0:compile | \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate) \- com.google.api-client:google-api-client:jar:1.20.0:compile \- (com.google.oauth-client:google-oauth-client:jar:1.20.0:compile - omitted for duplicate)
+
+
com.google.protobuf:protobuf-java
+
+
+
+
+
+
+2.4.1
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.http-client:google-http-client-protobuf:jar:1.15.0-rc:compile \- (com.google.protobuf:protobuf-java:jar:2.4.1:compile - omitted for conflict with 2.5.0)
+
+2.5.0
+
+
+com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java-examples:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT:compile \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT \- com.google.gcloud:gcloud-java-datastore:jar:0.0.7-SNAPSHOT:compile \- com.google.apis:google-api-services-datastore-protobuf:jar:v1beta2-rev1-2.1.2:compile \- com.google.protobuf:protobuf-java:jar:2.5.0:compile
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/dependency-info.html b/site/0.0.7/gcloud-java/dependency-info.html
new file mode 100644
index 000000000000..8bd398d5ab6b
--- /dev/null
+++ b/site/0.0.7/gcloud-java/dependency-info.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Dependency Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency Information
+
+
Apache Maven
+
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java</artifactId>
+ <version>0.0.7-SNAPSHOT</version>
+</dependency>
+
+
Apache Buildr
+
+
'com.google.gcloud:gcloud-java:jar:0.0.7-SNAPSHOT'
+
+
Apache Ivy
+
+
<dependency org="com.google.gcloud" name="gcloud-java" rev="0.0.7-SNAPSHOT">
+ <artifact name="gcloud-java" type="jar" />
+</dependency>
+
+
Groovy Grape
+
+
@Grapes(
+@Grab(group='com.google.gcloud', module='gcloud-java', version='0.0.7-SNAPSHOT')
+)
+
+
Grails
+
+
compile 'com.google.gcloud:gcloud-java:0.0.7-SNAPSHOT'
+
+
Leiningen
+
+
[com.google.gcloud/gcloud-java "0.0.7-SNAPSHOT"]
+
+
SBT
+
+
libraryDependencies += "com.google.gcloud" % "gcloud-java" % "0.0.7-SNAPSHOT"
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/dev-activity.html b/site/0.0.7/gcloud-java/dev-activity.html
new file mode 100644
index 000000000000..71a4f7817abe
--- /dev/null
+++ b/site/0.0.7/gcloud-java/dev-activity.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Developer Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Developer Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Developer
+Total commits
+Total Number of Files Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/distribution-management.html b/site/0.0.7/gcloud-java/distribution-management.html
new file mode 100644
index 000000000000..7afa2f1e7529
--- /dev/null
+++ b/site/0.0.7/gcloud-java/distribution-management.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Distribution Management
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
The following is the distribution management information used by this project.
+
+
+
+
Site - github-pages-site
+
site/0.0.7-SNAPSHOT/gcloud-java/
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/file-activity.html b/site/0.0.7/gcloud-java/file-activity.html
new file mode 100644
index 000000000000..b0298ed64cff
--- /dev/null
+++ b/site/0.0.7/gcloud-java/file-activity.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+ GCloud Java – File Activity Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
File Activity Report
+
+
Changes between 2015-07-18 and 2015-08-18
+
Total commits: 0 Total number of files changed: 0
+
+
+Filename
+Number of Times Changed
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/images/accessories-text-editor.png b/site/0.0.7/gcloud-java/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/gcloud-java/images/add.gif b/site/0.0.7/gcloud-java/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/add.gif differ
diff --git a/site/0.0.7/gcloud-java/images/apache-maven-project-2.png b/site/0.0.7/gcloud-java/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/gcloud-java/images/application-certificate.png b/site/0.0.7/gcloud-java/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/application-certificate.png differ
diff --git a/site/0.0.7/gcloud-java/images/close.gif b/site/0.0.7/gcloud-java/images/close.gif
new file mode 100644
index 000000000000..1c26bbc5264f
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/close.gif differ
diff --git a/site/0.0.7/gcloud-java/images/contact-new.png b/site/0.0.7/gcloud-java/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/contact-new.png differ
diff --git a/site/0.0.7/gcloud-java/images/document-properties.png b/site/0.0.7/gcloud-java/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/document-properties.png differ
diff --git a/site/0.0.7/gcloud-java/images/drive-harddisk.png b/site/0.0.7/gcloud-java/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/drive-harddisk.png differ
diff --git a/site/0.0.7/gcloud-java/images/fix.gif b/site/0.0.7/gcloud-java/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/fix.gif differ
diff --git a/site/0.0.7/gcloud-java/images/icon_error_sml.gif b/site/0.0.7/gcloud-java/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/gcloud-java/images/icon_help_sml.gif b/site/0.0.7/gcloud-java/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/gcloud-java/images/icon_info_sml.gif b/site/0.0.7/gcloud-java/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/gcloud-java/images/icon_success_sml.gif b/site/0.0.7/gcloud-java/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/gcloud-java/images/icon_warning_sml.gif b/site/0.0.7/gcloud-java/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/gcloud-java/images/image-x-generic.png b/site/0.0.7/gcloud-java/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/image-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java/images/internet-web-browser.png b/site/0.0.7/gcloud-java/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/internet-web-browser.png differ
diff --git a/site/0.0.7/gcloud-java/images/logos/build-by-maven-black.png b/site/0.0.7/gcloud-java/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/gcloud-java/images/logos/build-by-maven-white.png b/site/0.0.7/gcloud-java/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/gcloud-java/images/logos/maven-feather.png b/site/0.0.7/gcloud-java/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/gcloud-java/images/network-server.png b/site/0.0.7/gcloud-java/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/network-server.png differ
diff --git a/site/0.0.7/gcloud-java/images/package-x-generic.png b/site/0.0.7/gcloud-java/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/package-x-generic.png differ
diff --git a/site/0.0.7/gcloud-java/images/profiles/pre-release.png b/site/0.0.7/gcloud-java/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/gcloud-java/images/profiles/retired.png b/site/0.0.7/gcloud-java/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/profiles/retired.png differ
diff --git a/site/0.0.7/gcloud-java/images/profiles/sandbox.png b/site/0.0.7/gcloud-java/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/gcloud-java/images/remove.gif b/site/0.0.7/gcloud-java/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/remove.gif differ
diff --git a/site/0.0.7/gcloud-java/images/rss.png b/site/0.0.7/gcloud-java/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/rss.png differ
diff --git a/site/0.0.7/gcloud-java/images/update.gif b/site/0.0.7/gcloud-java/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/update.gif differ
diff --git a/site/0.0.7/gcloud-java/images/window-new.png b/site/0.0.7/gcloud-java/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/gcloud-java/images/window-new.png differ
diff --git a/site/0.0.7/gcloud-java/img/glyphicons-halflings-white.png b/site/0.0.7/gcloud-java/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/gcloud-java/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/gcloud-java/img/glyphicons-halflings.png b/site/0.0.7/gcloud-java/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/gcloud-java/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/gcloud-java/index.html b/site/0.0.7/gcloud-java/index.html
new file mode 100644
index 000000000000..c73f90ea9f5e
--- /dev/null
+++ b/site/0.0.7/gcloud-java/index.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java – About
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About GCloud Java
+
Java idiomatic client for Google Cloud Platform services.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/integration.html b/site/0.0.7/gcloud-java/integration.html
new file mode 100644
index 000000000000..e330ee35b47f
--- /dev/null
+++ b/site/0.0.7/gcloud-java/integration.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/issue-tracking.html b/site/0.0.7/gcloud-java/issue-tracking.html
new file mode 100644
index 000000000000..b535dd7615f8
--- /dev/null
+++ b/site/0.0.7/gcloud-java/issue-tracking.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/gcloud-java/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/gcloud-java/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/project-info.html b/site/0.0.7/gcloud-java/project-info.html
new file mode 100644
index 000000000000..9e1901ecb501
--- /dev/null
+++ b/site/0.0.7/gcloud-java/project-info.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Java idiomatic client for Google Cloud Platform services.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependencies
+This document lists the project's dependencies and provides information on each dependency.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/project-reports.html b/site/0.0.7/gcloud-java/project-reports.html
new file mode 100644
index 000000000000..a367db610291
--- /dev/null
+++ b/site/0.0.7/gcloud-java/project-reports.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
Overview
+
+
+Document
+Description
+
+Change Log
+Generated change log report from SCM.
+
+File Activity
+Generated file activity report from SCM.
+
+Developer Activity
+Generated developer activity report from SCM.
+
+Dependency Analysis
+Dependency analysis of the project (used declared, used undeclared, unused declared)
+
+Surefire Report
+Report on the test results of the project.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/project-summary.html b/site/0.0.7/gcloud-java/project-summary.html
new file mode 100644
index 000000000000..67addc2b0ded
--- /dev/null
+++ b/site/0.0.7/gcloud-java/project-summary.html
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+jar
+
+Java Version
+1.7
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/source-repository.html b/site/0.0.7/gcloud-java/source-repository.html
new file mode 100644
index 000000000000..1e7cea261382
--- /dev/null
+++ b/site/0.0.7/gcloud-java/source-repository.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/surefire-report.html b/site/0.0.7/gcloud-java/surefire-report.html
new file mode 100644
index 000000000000..e80f0c342e6e
--- /dev/null
+++ b/site/0.0.7/gcloud-java/surefire-report.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/gcloud-java/team-list.html b/site/0.0.7/gcloud-java/team-list.html
new file mode 100644
index 000000000000..0b43e41dafd4
--- /dev/null
+++ b/site/0.0.7/gcloud-java/team-list.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/images/accessories-text-editor.png b/site/0.0.7/images/accessories-text-editor.png
new file mode 100644
index 000000000000..abc3366edad8
Binary files /dev/null and b/site/0.0.7/images/accessories-text-editor.png differ
diff --git a/site/0.0.7/images/add.gif b/site/0.0.7/images/add.gif
new file mode 100644
index 000000000000..1cb3dbf936e3
Binary files /dev/null and b/site/0.0.7/images/add.gif differ
diff --git a/site/0.0.7/images/apache-maven-project-2.png b/site/0.0.7/images/apache-maven-project-2.png
new file mode 100644
index 000000000000..6c096ec0c7d5
Binary files /dev/null and b/site/0.0.7/images/apache-maven-project-2.png differ
diff --git a/site/0.0.7/images/application-certificate.png b/site/0.0.7/images/application-certificate.png
new file mode 100644
index 000000000000..cc6aff616f3e
Binary files /dev/null and b/site/0.0.7/images/application-certificate.png differ
diff --git a/site/0.0.7/images/contact-new.png b/site/0.0.7/images/contact-new.png
new file mode 100644
index 000000000000..ebc4316d844d
Binary files /dev/null and b/site/0.0.7/images/contact-new.png differ
diff --git a/site/0.0.7/images/document-properties.png b/site/0.0.7/images/document-properties.png
new file mode 100644
index 000000000000..34c2409a7c28
Binary files /dev/null and b/site/0.0.7/images/document-properties.png differ
diff --git a/site/0.0.7/images/drive-harddisk.png b/site/0.0.7/images/drive-harddisk.png
new file mode 100644
index 000000000000..d7ce475f8390
Binary files /dev/null and b/site/0.0.7/images/drive-harddisk.png differ
diff --git a/site/0.0.7/images/fix.gif b/site/0.0.7/images/fix.gif
new file mode 100644
index 000000000000..b7eb3dc44242
Binary files /dev/null and b/site/0.0.7/images/fix.gif differ
diff --git a/site/0.0.7/images/icon_error_sml.gif b/site/0.0.7/images/icon_error_sml.gif
new file mode 100644
index 000000000000..12e9a01a930c
Binary files /dev/null and b/site/0.0.7/images/icon_error_sml.gif differ
diff --git a/site/0.0.7/images/icon_help_sml.gif b/site/0.0.7/images/icon_help_sml.gif
new file mode 100644
index 000000000000..aaf20e6eea41
Binary files /dev/null and b/site/0.0.7/images/icon_help_sml.gif differ
diff --git a/site/0.0.7/images/icon_info_sml.gif b/site/0.0.7/images/icon_info_sml.gif
new file mode 100644
index 000000000000..b776326703c3
Binary files /dev/null and b/site/0.0.7/images/icon_info_sml.gif differ
diff --git a/site/0.0.7/images/icon_success_sml.gif b/site/0.0.7/images/icon_success_sml.gif
new file mode 100644
index 000000000000..0a195279b3f9
Binary files /dev/null and b/site/0.0.7/images/icon_success_sml.gif differ
diff --git a/site/0.0.7/images/icon_warning_sml.gif b/site/0.0.7/images/icon_warning_sml.gif
new file mode 100644
index 000000000000..ac6ad6ada39e
Binary files /dev/null and b/site/0.0.7/images/icon_warning_sml.gif differ
diff --git a/site/0.0.7/images/image-x-generic.png b/site/0.0.7/images/image-x-generic.png
new file mode 100644
index 000000000000..ab49efb3457c
Binary files /dev/null and b/site/0.0.7/images/image-x-generic.png differ
diff --git a/site/0.0.7/images/internet-web-browser.png b/site/0.0.7/images/internet-web-browser.png
new file mode 100644
index 000000000000..307d6aca6141
Binary files /dev/null and b/site/0.0.7/images/internet-web-browser.png differ
diff --git a/site/0.0.7/images/logos/build-by-maven-black.png b/site/0.0.7/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000000..919fd0f66a7f
Binary files /dev/null and b/site/0.0.7/images/logos/build-by-maven-black.png differ
diff --git a/site/0.0.7/images/logos/build-by-maven-white.png b/site/0.0.7/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000000..7d44c9c2e574
Binary files /dev/null and b/site/0.0.7/images/logos/build-by-maven-white.png differ
diff --git a/site/0.0.7/images/logos/maven-feather.png b/site/0.0.7/images/logos/maven-feather.png
new file mode 100644
index 000000000000..b5ada836e9eb
Binary files /dev/null and b/site/0.0.7/images/logos/maven-feather.png differ
diff --git a/site/0.0.7/images/network-server.png b/site/0.0.7/images/network-server.png
new file mode 100644
index 000000000000..1d12e1938ac4
Binary files /dev/null and b/site/0.0.7/images/network-server.png differ
diff --git a/site/0.0.7/images/package-x-generic.png b/site/0.0.7/images/package-x-generic.png
new file mode 100644
index 000000000000..8b7e9e67b5de
Binary files /dev/null and b/site/0.0.7/images/package-x-generic.png differ
diff --git a/site/0.0.7/images/profiles/pre-release.png b/site/0.0.7/images/profiles/pre-release.png
new file mode 100644
index 000000000000..d448e850cd3f
Binary files /dev/null and b/site/0.0.7/images/profiles/pre-release.png differ
diff --git a/site/0.0.7/images/profiles/retired.png b/site/0.0.7/images/profiles/retired.png
new file mode 100644
index 000000000000..f89f6a29c6b6
Binary files /dev/null and b/site/0.0.7/images/profiles/retired.png differ
diff --git a/site/0.0.7/images/profiles/sandbox.png b/site/0.0.7/images/profiles/sandbox.png
new file mode 100644
index 000000000000..f88b3626761f
Binary files /dev/null and b/site/0.0.7/images/profiles/sandbox.png differ
diff --git a/site/0.0.7/images/remove.gif b/site/0.0.7/images/remove.gif
new file mode 100644
index 000000000000..fc65631cad98
Binary files /dev/null and b/site/0.0.7/images/remove.gif differ
diff --git a/site/0.0.7/images/rss.png b/site/0.0.7/images/rss.png
new file mode 100644
index 000000000000..a9850ee2cd57
Binary files /dev/null and b/site/0.0.7/images/rss.png differ
diff --git a/site/0.0.7/images/update.gif b/site/0.0.7/images/update.gif
new file mode 100644
index 000000000000..b2a6d0bf6375
Binary files /dev/null and b/site/0.0.7/images/update.gif differ
diff --git a/site/0.0.7/images/window-new.png b/site/0.0.7/images/window-new.png
new file mode 100644
index 000000000000..0e12ef954c7c
Binary files /dev/null and b/site/0.0.7/images/window-new.png differ
diff --git a/site/0.0.7/img/glyphicons-halflings-white.png b/site/0.0.7/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000000..3bf6484a29d8
Binary files /dev/null and b/site/0.0.7/img/glyphicons-halflings-white.png differ
diff --git a/site/0.0.7/img/glyphicons-halflings.png b/site/0.0.7/img/glyphicons-halflings.png
new file mode 100644
index 000000000000..a9969993201f
Binary files /dev/null and b/site/0.0.7/img/glyphicons-halflings.png differ
diff --git a/site/0.0.7/img/icon-arrow-bullet.svg b/site/0.0.7/img/icon-arrow-bullet.svg
new file mode 100644
index 000000000000..dd9acb566eb8
--- /dev/null
+++ b/site/0.0.7/img/icon-arrow-bullet.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-dropdown-faq.svg b/site/0.0.7/img/icon-dropdown-faq.svg
new file mode 100644
index 000000000000..786bcdc7d131
--- /dev/null
+++ b/site/0.0.7/img/icon-dropdown-faq.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-dropdown.svg b/site/0.0.7/img/icon-dropdown.svg
new file mode 100644
index 000000000000..3642565ff6b5
--- /dev/null
+++ b/site/0.0.7/img/icon-dropdown.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-lang-nodejs.svg b/site/0.0.7/img/icon-lang-nodejs.svg
new file mode 100644
index 000000000000..24a4addc3c57
--- /dev/null
+++ b/site/0.0.7/img/icon-lang-nodejs.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-lang-python.svg b/site/0.0.7/img/icon-lang-python.svg
new file mode 100644
index 000000000000..bc4737703c35
--- /dev/null
+++ b/site/0.0.7/img/icon-lang-python.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-lang-ruby.svg b/site/0.0.7/img/icon-lang-ruby.svg
new file mode 100644
index 000000000000..acfaab8d6ea5
--- /dev/null
+++ b/site/0.0.7/img/icon-lang-ruby.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-link-github.svg b/site/0.0.7/img/icon-link-github.svg
new file mode 100644
index 000000000000..2404f8b0be06
--- /dev/null
+++ b/site/0.0.7/img/icon-link-github.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-link-package-manager.svg b/site/0.0.7/img/icon-link-package-manager.svg
new file mode 100644
index 000000000000..3a12655fe6f9
--- /dev/null
+++ b/site/0.0.7/img/icon-link-package-manager.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-link-stackoverflow.svg b/site/0.0.7/img/icon-link-stackoverflow.svg
new file mode 100644
index 000000000000..e1a1f789a897
--- /dev/null
+++ b/site/0.0.7/img/icon-link-stackoverflow.svg
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-menu.svg b/site/0.0.7/img/icon-menu.svg
new file mode 100644
index 000000000000..98d3e7073cde
--- /dev/null
+++ b/site/0.0.7/img/icon-menu.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/icon-table-check.svg b/site/0.0.7/img/icon-table-check.svg
new file mode 100644
index 000000000000..7934bef97f06
--- /dev/null
+++ b/site/0.0.7/img/icon-table-check.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/site/0.0.7/img/lang-bg.png b/site/0.0.7/img/lang-bg.png
new file mode 100644
index 000000000000..654e12af3418
Binary files /dev/null and b/site/0.0.7/img/lang-bg.png differ
diff --git a/site/0.0.7/img/logo-full.svg b/site/0.0.7/img/logo-full.svg
new file mode 100644
index 000000000000..3b84037fccc6
--- /dev/null
+++ b/site/0.0.7/img/logo-full.svg
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/img/logo.svg b/site/0.0.7/img/logo.svg
new file mode 100644
index 000000000000..6c515095c5ad
--- /dev/null
+++ b/site/0.0.7/img/logo.svg
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/index.html b/site/0.0.7/index.html
new file mode 100644
index 000000000000..a7d7d9b9b0a8
--- /dev/null
+++ b/site/0.0.7/index.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+ gcloud
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
gcloud
+
Google Cloud Client Library for Java - an idiomatic, intuitive, and natural way for Java developers to integrate with Google Cloud Platform services, like Cloud Datastore and Cloud Storage.
+
+
+
Quickstart with Maven: Add gcloud to your pom.xml
+
<dependency>
+ <groupId>com.google.gcloud</groupId>
+ <artifactId>gcloud-java</artifactId>
+ <version>0.0.6</version>
+</dependency>
+
+
+
+
+
+
+
+
+
What is it?
+
+
gcloud is a client library for accessing Google
+ Cloud Platform services that significantly reduces the boilerplate
+ code you have to write. The library provides high-level API
+ abstractions so they're easier to understand. It embraces
+ idioms of Java, works well with the standard library, and
+ integrates better with your codebase.
+ All this means you spend more time creating code that matters
+ to you.
+
+
gcloud is configured to access Google Cloud Platform
+ services and authorize (OAuth 2.0) automatically on your behalf.
+ Add the gcloud dependency to your project and get a private key to be
+ up and ready to go. Better yet, if you are running on a Google
+ Compute Engine instance, the private key is automatically detected.
+
+
Example: Retrieve Datastore Entries
+
+
+
import com.google.gcloud.datastore.Datastore;
+import com.google.gcloud.datastore.DatastoreFactory;
+import com.google.gcloud.datastore.DatastoreOptions;
+import com.google.gcloud.datastore.Entity;
+import com.google.gcloud.datastore.Key;
+import com.google.gcloud.datastore.KeyFactory;
+
+DatastoreOptions options = DatastoreOptions.builder().projectId(PROJECT_ID ).build();
+Datastore datastore = DatastoreFactory.instance().get(options);
+KeyFactory keyFactory = datastore.newKeyFactory().kind(KIND );
+Key key = keyFactory.newKey(keyName);
+Entity entity = datastore.get(key);
+
+
+
+
+
+
FAQ
+
What is the relationship between the gcloud-java library and the gcloud command-line tool?
+
Both the gcloud command-line tool and gcloud-java library are a part of the Google Cloud SDK: a collection of tools and libraries that enable you to easily create and manage resources on the Google Cloud Platform. The gcloud command-line tool can be used to manage both your development workflow and your Google Cloud Platform resources while the gcloud-java library is the Google Cloud Client Library for Java.
+
+
What is the relationship between gcloud and the Google APIs Java Client?
+
The Google APIs Java Client is a client library for using the broad set of Google APIs. gcloud is built specifically for the Google Cloud Platform and is the recommended way to integrate Google Cloud APIs into your Java applications. If your application requires both Google Cloud Platform and other Google APIs, the 2 libraries may be used by your application.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/integration.html b/site/0.0.7/integration.html
new file mode 100644
index 000000000000..149584426a6c
--- /dev/null
+++ b/site/0.0.7/integration.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Continuous Integration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Access
+
The following is a link to the continuous integration system used by the project:
+
+
+
Notifiers
+
No notifiers are defined. Please check back at a later date.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/issue-tracking.html b/site/0.0.7/issue-tracking.html
new file mode 100644
index 000000000000..2cd2d287d27e
--- /dev/null
+++ b/site/0.0.7/issue-tracking.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Issue Tracking
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
This project uses GitHub Issues to manage its issues.
+
+
Issue Tracking
+
Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/js/apache-maven-fluido-1.3.1.min.js b/site/0.0.7/js/apache-maven-fluido-1.3.1.min.js
new file mode 100644
index 000000000000..d16bb77898e4
--- /dev/null
+++ b/site/0.0.7/js/apache-maven-fluido-1.3.1.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.9.1
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-2-4
+ */
+(function(a3,aH){var aj,x,aD=typeof aH,l=a3.document,aM=a3.location,bj=a3.jQuery,I=a3.$,ab={},a7=[],t="1.9.1",aJ=a7.concat,ap=a7.push,a5=a7.slice,aN=a7.indexOf,A=ab.toString,W=ab.hasOwnProperty,aR=t.trim,bK=function(e,b4){return new bK.fn.init(e,b4,x)},bB=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ad=/\S+/g,D=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bs=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bi=/^[\],:{}\s]*$/,bl=/(?:^|:|,)(?:\s*\[)+/g,bH=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bT=/^-ms-/,aW=/-([\da-z])/gi,N=function(e,b4){return b4.toUpperCase()},bX=function(e){if(l.addEventListener||e.type==="load"||l.readyState==="complete"){bm();bK.ready()}},bm=function(){if(l.addEventListener){l.removeEventListener("DOMContentLoaded",bX,false);a3.removeEventListener("load",bX,false)}else{l.detachEvent("onreadystatechange",bX);a3.detachEvent("onload",bX)}};bK.fn=bK.prototype={jquery:t,constructor:bK,init:function(e,b6,b5){var b4,b7;if(!e){return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b4=[null,e,null]}else{b4=bs.exec(e)}if(b4&&(b4[1]||!b6)){if(b4[1]){b6=b6 instanceof bK?b6[0]:b6;bK.merge(this,bK.parseHTML(b4[1],b6&&b6.nodeType?b6.ownerDocument||b6:l,true));if(a.test(b4[1])&&bK.isPlainObject(b6)){for(b4 in b6){if(bK.isFunction(this[b4])){this[b4](b6[b4])}else{this.attr(b4,b6[b4])}}}return this}else{b7=l.getElementById(b4[2]);if(b7&&b7.parentNode){if(b7.id!==b4[2]){return b5.find(e)}this.length=1;this[0]=b7}this.context=l;this.selector=e;return this}}else{if(!b6||b6.jquery){return(b6||b5).find(e)}else{return this.constructor(b6).find(e)}}}else{if(e.nodeType){this.context=this[0]=e;this.length=1;return this}else{if(bK.isFunction(e)){return b5.ready(e)}}}if(e.selector!==aH){this.selector=e.selector;this.context=e.context}return bK.makeArray(e,this)},selector:"",length:0,size:function(){return this.length},toArray:function(){return a5.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(e){var b4=bK.merge(this.constructor(),e);b4.prevObject=this;b4.context=this.context;return b4},each:function(b4,e){return bK.each(this,b4,e)},ready:function(e){bK.ready.promise().done(e);return this},slice:function(){return this.pushStack(a5.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(b5){var e=this.length,b4=+b5+(b5<0?e:0);return this.pushStack(b4>=0&&b40){return}aj.resolveWith(l,[bK]);if(bK.fn.trigger){bK(l).trigger("ready").off("ready")}},isFunction:function(e){return bK.type(e)==="function"},isArray:Array.isArray||function(e){return bK.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){if(e==null){return String(e)}return typeof e==="object"||typeof e==="function"?ab[A.call(e)]||"object":typeof e},isPlainObject:function(b6){if(!b6||bK.type(b6)!=="object"||b6.nodeType||bK.isWindow(b6)){return false}try{if(b6.constructor&&!W.call(b6,"constructor")&&!W.call(b6.constructor.prototype,"isPrototypeOf")){return false}}catch(b5){return false}var b4;for(b4 in b6){}return b4===aH||W.call(b6,b4)},isEmptyObject:function(b4){var e;for(e in b4){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b7,b5,b6){if(!b7||typeof b7!=="string"){return null}if(typeof b5==="boolean"){b6=b5;b5=false}b5=b5||l;var b4=a.exec(b7),e=!b6&&[];if(b4){return[b5.createElement(b4[1])]}b4=bK.buildFragment([b7],b5,e);if(e){bK(e).remove()}return bK.merge([],b4.childNodes)},parseJSON:function(e){if(a3.JSON&&a3.JSON.parse){return a3.JSON.parse(e)}if(e===null){return e}if(typeof e==="string"){e=bK.trim(e);if(e){if(bi.test(e.replace(bH,"@").replace(a0,"]").replace(bl,""))){return(new Function("return "+e))()}}}bK.error("Invalid JSON: "+e)},parseXML:function(b6){var b4,b5;if(!b6||typeof b6!=="string"){return null}try{if(a3.DOMParser){b5=new DOMParser();b4=b5.parseFromString(b6,"text/xml")}else{b4=new ActiveXObject("Microsoft.XMLDOM");b4.async="false";b4.loadXML(b6)}}catch(b7){b4=aH}if(!b4||!b4.documentElement||b4.getElementsByTagName("parsererror").length){bK.error("Invalid XML: "+b6)}return b4},noop:function(){},globalEval:function(e){if(e&&bK.trim(e)){(a3.execScript||function(b4){a3["eval"].call(a3,b4)})(e)}},camelCase:function(e){return e.replace(bT,"ms-").replace(aW,N)},nodeName:function(b4,e){return b4.nodeName&&b4.nodeName.toLowerCase()===e.toLowerCase()},each:function(b8,b9,b4){var b7,b5=0,b6=b8.length,e=ac(b8);if(b4){if(e){for(;b50&&(b4-1) in b5)}x=bK(l);var bZ={};function af(b4){var e=bZ[b4]={};bK.each(b4.match(ad)||[],function(b6,b5){e[b5]=true});return e}bK.Callbacks=function(cd){cd=typeof cd==="string"?(bZ[cd]||af(cd)):bK.extend({},cd);var b7,b6,e,b8,b9,b5,ca=[],cb=!cd.once&&[],b4=function(ce){b6=cd.memory&&ce;e=true;b9=b5||0;b5=0;b8=ca.length;b7=true;for(;ca&&b9-1){ca.splice(cf,1);if(b7){if(cf<=b8){b8--}if(cf<=b9){b9--}}}})}return this},has:function(ce){return ce?bK.inArray(ce,ca)>-1:!!(ca&&ca.length)},empty:function(){ca=[];return this},disable:function(){ca=cb=b6=aH;return this},disabled:function(){return !ca},lock:function(){cb=aH;if(!b6){cc.disable()}return this},locked:function(){return !cb},fireWith:function(cf,ce){ce=ce||[];ce=[cf,ce.slice?ce.slice():ce];if(ca&&(!e||cb)){if(b7){cb.push(ce)}else{b4(ce)}}return this},fire:function(){cc.fireWith(this,arguments);return this},fired:function(){return !!e}};return cc};bK.extend({Deferred:function(b5){var b4=[["resolve","done",bK.Callbacks("once memory"),"resolved"],["reject","fail",bK.Callbacks("once memory"),"rejected"],["notify","progress",bK.Callbacks("memory")]],b6="pending",b7={state:function(){return b6},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b8=arguments;return bK.Deferred(function(b9){bK.each(b4,function(cb,ca){var cd=ca[0],cc=bK.isFunction(b8[cb])&&b8[cb];e[ca[1]](function(){var ce=cc&&cc.apply(this,arguments);if(ce&&bK.isFunction(ce.promise)){ce.promise().done(b9.resolve).fail(b9.reject).progress(b9.notify)}else{b9[cd+"With"](this===b7?b9.promise():this,cc?[ce]:arguments)}})});b8=null}).promise()},promise:function(b8){return b8!=null?bK.extend(b8,b7):b7}},e={};b7.pipe=b7.then;bK.each(b4,function(b9,b8){var cb=b8[2],ca=b8[3];b7[b8[1]]=cb.add;if(ca){cb.add(function(){b6=ca},b4[b9^1][2].disable,b4[2][2].lock)}e[b8[0]]=function(){e[b8[0]+"With"](this===e?b7:this,arguments);return this};e[b8[0]+"With"]=cb.fireWith});b7.promise(e);if(b5){b5.call(e,e)}return e},when:function(b7){var b5=0,b9=a5.call(arguments),e=b9.length,b4=e!==1||(b7&&bK.isFunction(b7.promise))?e:0,cc=b4===1?b7:bK.Deferred(),b6=function(ce,cf,cd){return function(cg){cf[ce]=this;cd[ce]=arguments.length>1?a5.call(arguments):cg;if(cd===cb){cc.notifyWith(cf,cd)}else{if(!(--b4)){cc.resolveWith(cf,cd)}}}},cb,b8,ca;if(e>1){cb=new Array(e);b8=new Array(e);ca=new Array(e);for(;b5a ";ce=b4.getElementsByTagName("*");cc=b4.getElementsByTagName("a")[0];if(!ce||!cc||!ce.length){return{}}cd=l.createElement("select");b6=cd.appendChild(l.createElement("option"));cb=b4.getElementsByTagName("input")[0];cc.style.cssText="top:1px;float:left;opacity:.5";cf={getSetAttribute:b4.className!=="t",leadingWhitespace:b4.firstChild.nodeType===3,tbody:!b4.getElementsByTagName("tbody").length,htmlSerialize:!!b4.getElementsByTagName("link").length,style:/top/.test(cc.getAttribute("style")),hrefNormalized:cc.getAttribute("href")==="/a",opacity:/^0.5/.test(cc.style.opacity),cssFloat:!!cc.style.cssFloat,checkOn:!!cb.value,optSelected:b6.selected,enctype:!!l.createElement("form").enctype,html5Clone:l.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:l.compatMode==="CSS1Compat",deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};cb.checked=true;cf.noCloneChecked=cb.cloneNode(true).checked;cd.disabled=true;cf.optDisabled=!b6.disabled;try{delete b4.test}catch(b9){cf.deleteExpando=false}cb=l.createElement("input");cb.setAttribute("value","");cf.input=cb.getAttribute("value")==="";cb.value="t";cb.setAttribute("type","radio");cf.radioValue=cb.value==="t";cb.setAttribute("checked","t");cb.setAttribute("name","t");ca=l.createDocumentFragment();ca.appendChild(cb);cf.appendChecked=cb.checked;cf.checkClone=ca.cloneNode(true).cloneNode(true).lastChild.checked;if(b4.attachEvent){b4.attachEvent("onclick",function(){cf.noCloneEvent=false});b4.cloneNode(true).click()}for(b7 in {submit:true,change:true,focusin:true}){b4.setAttribute(b8="on"+b7,"t");cf[b7+"Bubbles"]=b8 in a3||b4.attributes[b8].expando===false}b4.style.backgroundClip="content-box";b4.cloneNode(true).style.backgroundClip="";cf.clearCloneStyle=b4.style.backgroundClip==="content-box";bK(function(){var cg,cj,ci,ch="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",e=l.getElementsByTagName("body")[0];if(!e){return}cg=l.createElement("div");cg.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";e.appendChild(cg).appendChild(b4);b4.innerHTML="";ci=b4.getElementsByTagName("td");ci[0].style.cssText="padding:0;margin:0;border:0;display:none";b5=(ci[0].offsetHeight===0);ci[0].style.display="";ci[1].style.display="none";cf.reliableHiddenOffsets=b5&&(ci[0].offsetHeight===0);b4.innerHTML="";b4.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cf.boxSizing=(b4.offsetWidth===4);cf.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a3.getComputedStyle){cf.pixelPosition=(a3.getComputedStyle(b4,null)||{}).top!=="1%";cf.boxSizingReliable=(a3.getComputedStyle(b4,null)||{width:"4px"}).width==="4px";cj=b4.appendChild(l.createElement("div"));cj.style.cssText=b4.style.cssText=ch;cj.style.marginRight=cj.style.width="0";b4.style.width="1px";cf.reliableMarginRight=!parseFloat((a3.getComputedStyle(cj,null)||{}).marginRight)}if(typeof b4.style.zoom!==aD){b4.innerHTML="";b4.style.cssText=ch+"width:1px;padding:1px;display:inline;zoom:1";cf.inlineBlockNeedsLayout=(b4.offsetWidth===3);b4.style.display="block";b4.innerHTML="
";b4.firstChild.style.width="5px";cf.shrinkWrapBlocks=(b4.offsetWidth!==3);if(cf.inlineBlockNeedsLayout){e.style.zoom=1}}e.removeChild(cg);cg=b4=ci=cj=null});ce=cd=ca=b6=cc=cb=null;return cf})();var bx=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,aO=/([A-Z])/g;function bb(b6,b4,b8,b7){if(!bK.acceptData(b6)){return}var b9,cb,cc=bK.expando,ca=typeof b4==="string",cd=b6.nodeType,e=cd?bK.cache:b6,b5=cd?b6[cc]:b6[cc]&&cc;if((!b5||!e[b5]||(!b7&&!e[b5].data))&&ca&&b8===aH){return}if(!b5){if(cd){b6[cc]=b5=a7.pop()||bK.guid++}else{b5=cc}}if(!e[b5]){e[b5]={};if(!cd){e[b5].toJSON=bK.noop}}if(typeof b4==="object"||typeof b4==="function"){if(b7){e[b5]=bK.extend(e[b5],b4)}else{e[b5].data=bK.extend(e[b5].data,b4)}}b9=e[b5];if(!b7){if(!b9.data){b9.data={}}b9=b9.data}if(b8!==aH){b9[bK.camelCase(b4)]=b8}if(ca){cb=b9[b4];if(cb==null){cb=b9[bK.camelCase(b4)]}}else{cb=b9}return cb}function aa(b6,b4,b7){if(!bK.acceptData(b6)){return}var b9,b8,ca,cb=b6.nodeType,e=cb?bK.cache:b6,b5=cb?b6[bK.expando]:bK.expando;if(!e[b5]){return}if(b4){ca=b7?e[b5]:e[b5].data;if(ca){if(!bK.isArray(b4)){if(b4 in ca){b4=[b4]}else{b4=bK.camelCase(b4);if(b4 in ca){b4=[b4]}else{b4=b4.split(" ")}}}else{b4=b4.concat(bK.map(b4,bK.camelCase))}for(b9=0,b8=b4.length;b91,null,true)},removeData:function(e){return this.each(function(){bK.removeData(this,e)})}});function bz(b6,b5,b7){if(b7===aH&&b6.nodeType===1){var b4="data-"+b5.replace(aO,"-$1").toLowerCase();b7=b6.getAttribute(b4);if(typeof b7==="string"){try{b7=b7==="true"?true:b7==="false"?false:b7==="null"?null:+b7+""===b7?+b7:bx.test(b7)?bK.parseJSON(b7):b7}catch(b8){}bK.data(b6,b5,b7)}else{b7=aH}}return b7}function O(b4){var e;for(e in b4){if(e==="data"&&bK.isEmptyObject(b4[e])){continue}if(e!=="toJSON"){return false}}return true}bK.extend({queue:function(b5,b4,b6){var e;if(b5){b4=(b4||"fx")+"queue";e=bK._data(b5,b4);if(b6){if(!e||bK.isArray(b6)){e=bK._data(b5,b4,bK.makeArray(b6))}else{e.push(b6)}}return e||[]}},dequeue:function(b8,b7){b7=b7||"fx";var b4=bK.queue(b8,b7),b9=b4.length,b6=b4.shift(),e=bK._queueHooks(b8,b7),b5=function(){bK.dequeue(b8,b7)};if(b6==="inprogress"){b6=b4.shift();b9--}e.cur=b6;if(b6){if(b7==="fx"){b4.unshift("inprogress")}delete e.stop;b6.call(b8,b5,e)}if(!b9&&e){e.empty.fire()}},_queueHooks:function(b5,b4){var e=b4+"queueHooks";return bK._data(b5,e)||bK._data(b5,e,{empty:bK.Callbacks("once memory").add(function(){bK._removeData(b5,b4+"queue");bK._removeData(b5,e)})})}});bK.fn.extend({queue:function(e,b4){var b5=2;if(typeof e!=="string"){b4=e;e="fx";b5--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bK.removeAttr(this,e)})},prop:function(e,b4){return bK.access(this,bK.prop,e,b4,arguments.length>1)},removeProp:function(e){e=bK.propFix[e]||e;return this.each(function(){try{this[e]=aH;delete this[e]}catch(b4){}})},addClass:function(ca){var b4,e,cb,b7,b5,b6=0,b8=this.length,b9=typeof ca==="string"&&ca;if(bK.isFunction(ca)){return this.each(function(cc){bK(this).addClass(ca.call(this,cc,this.className))})}if(b9){b4=(ca||"").match(ad)||[];for(;b6=0){cb=cb.replace(" "+b7+" "," ")}}e.className=ca?bK.trim(cb):""}}}return this},toggleClass:function(b6,b4){var b5=typeof b6,e=typeof b4==="boolean";if(bK.isFunction(b6)){return this.each(function(b7){bK(this).toggleClass(b6.call(this,b7,this.className,b4),b4)})}return this.each(function(){if(b5==="string"){var b9,b8=0,b7=bK(this),ca=b4,cb=b6.match(ad)||[];while((b9=cb[b8++])){ca=e?ca:!b7.hasClass(b9);b7[ca?"addClass":"removeClass"](b9)}}else{if(b5===aD||b5==="boolean"){if(this.className){bK._data(this,"__className__",this.className)}this.className=this.className||b6===false?"":bK._data(this,"__className__")||""}}})},hasClass:function(e){var b6=" "+e+" ",b5=0,b4=this.length;for(;b5=0){return true}}return false},val:function(b6){var b4,e,b7,b5=this[0];if(!arguments.length){if(b5){e=bK.valHooks[b5.type]||bK.valHooks[b5.nodeName.toLowerCase()];if(e&&"get" in e&&(b4=e.get(b5,"value"))!==aH){return b4}b4=b5.value;return typeof b4==="string"?b4.replace(al,""):b4==null?"":b4}return}b7=bK.isFunction(b6);return this.each(function(b9){var ca,b8=bK(this);if(this.nodeType!==1){return}if(b7){ca=b6.call(this,b9,b8.val())}else{ca=b6}if(ca==null){ca=""}else{if(typeof ca==="number"){ca+=""}else{if(bK.isArray(ca)){ca=bK.map(ca,function(cb){return cb==null?"":cb+""})}}}e=bK.valHooks[this.type]||bK.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,ca,"value")===aH){this.value=ca}})}});bK.extend({valHooks:{option:{get:function(e){var b4=e.attributes.value;return !b4||b4.specified?e.value:e.text}},select:{get:function(e){var b9,b5,cb=e.options,b7=e.selectedIndex,b6=e.type==="select-one"||b7<0,ca=b6?null:[],b8=b6?b7+1:cb.length,b4=b7<0?b8:b6?b7:0;for(;b4=0});if(!e.length){b4.selectedIndex=-1}return e}}},attr:function(b8,b6,b9){var e,b7,b5,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}if(typeof b8.getAttribute===aD){return bK.prop(b8,b6,b9)}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=b6.toLowerCase();e=bK.attrHooks[b6]||(M.test(b6)?b0:a9)}if(b9!==aH){if(b9===null){bK.removeAttr(b8,b6)}else{if(e&&b7&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{b8.setAttribute(b6,b9+"");return b9}}}else{if(e&&b7&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{if(typeof b8.getAttribute!==aD){b5=b8.getAttribute(b6)}return b5==null?aH:b5}}},removeAttr:function(b5,b7){var e,b6,b4=0,b8=b7&&b7.match(ad);if(b8&&b5.nodeType===1){while((e=b8[b4++])){b6=bK.propFix[e]||e;if(M.test(e)){if(!bQ&&ar.test(e)){b5[bK.camelCase("default-"+e)]=b5[b6]=false}else{b5[b6]=false}}else{bK.attr(b5,e,"")}b5.removeAttribute(bQ?e:b6)}}},attrHooks:{type:{set:function(e,b4){if(!bK.support.radioValue&&b4==="radio"&&bK.nodeName(e,"input")){var b5=e.value;e.setAttribute("type",b4);if(b5){e.value=b5}return b4}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(b8,b6,b9){var b5,e,b7,b4=b8.nodeType;if(!b8||b4===3||b4===8||b4===2){return}b7=b4!==1||!bK.isXMLDoc(b8);if(b7){b6=bK.propFix[b6]||b6;e=bK.propHooks[b6]}if(b9!==aH){if(e&&"set" in e&&(b5=e.set(b8,b9,b6))!==aH){return b5}else{return(b8[b6]=b9)}}else{if(e&&"get" in e&&(b5=e.get(b8,b6))!==null){return b5}else{return b8[b6]}}},propHooks:{tabIndex:{get:function(b4){var e=b4.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):aG.test(b4.nodeName)||E.test(b4.nodeName)&&b4.href?0:aH}}}});b0={get:function(b6,b4){var b7=bK.prop(b6,b4),e=typeof b7==="boolean"&&b6.getAttribute(b4),b5=typeof b7==="boolean"?bG&&bQ?e!=null:ar.test(b4)?b6[bK.camelCase("default-"+b4)]:!!e:b6.getAttributeNode(b4);return b5&&b5.value!==false?b4.toLowerCase():aH},set:function(b4,b5,e){if(b5===false){bK.removeAttr(b4,e)}else{if(bG&&bQ||!ar.test(e)){b4.setAttribute(!bQ&&bK.propFix[e]||e,e)}else{b4[bK.camelCase("default-"+e)]=b4[e]=true}}return e}};if(!bG||!bQ){bK.attrHooks.value={get:function(b5,b4){var e=b5.getAttributeNode(b4);return bK.nodeName(b5,"input")?b5.defaultValue:e&&e.specified?e.value:aH},set:function(b4,b5,e){if(bK.nodeName(b4,"input")){b4.defaultValue=b5}else{return a9&&a9.set(b4,b5,e)}}}}if(!bQ){a9=bK.valHooks.button={get:function(b5,b4){var e=b5.getAttributeNode(b4);return e&&(b4==="id"||b4==="name"||b4==="coords"?e.value!=="":e.specified)?e.value:aH},set:function(b5,b6,b4){var e=b5.getAttributeNode(b4);if(!e){b5.setAttributeNode((e=b5.ownerDocument.createAttribute(b4)))}e.value=b6+="";return b4==="value"||b6===b5.getAttribute(b4)?b6:aH}};bK.attrHooks.contenteditable={get:a9.get,set:function(b4,b5,e){a9.set(b4,b5===""?false:b5,e)}};bK.each(["width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{set:function(b5,b6){if(b6===""){b5.setAttribute(e,"auto");return b6}}})})}if(!bK.support.hrefNormalized){bK.each(["href","src","width","height"],function(b4,e){bK.attrHooks[e]=bK.extend(bK.attrHooks[e],{get:function(b6){var b5=b6.getAttribute(e,2);return b5==null?aH:b5}})});bK.each(["href","src"],function(b4,e){bK.propHooks[e]={get:function(b5){return b5.getAttribute(e,4)}}})}if(!bK.support.style){bK.attrHooks.style={get:function(e){return e.style.cssText||aH},set:function(e,b4){return(e.style.cssText=b4+"")}}}if(!bK.support.optSelected){bK.propHooks.selected=bK.extend(bK.propHooks.selected,{get:function(b4){var e=b4.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!bK.support.enctype){bK.propFix.enctype="encoding"}if(!bK.support.checkOn){bK.each(["radio","checkbox"],function(){bK.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}bK.each(["radio","checkbox"],function(){bK.valHooks[this]=bK.extend(bK.valHooks[this],{set:function(e,b4){if(bK.isArray(b4)){return(e.checked=bK.inArray(bK(e).val(),b4)>=0)}}})});var bI=/^(?:input|select|textarea)$/i,a4=/^key/,bO=/^(?:mouse|contextmenu)|click/,bC=/^(?:focusinfocus|focusoutblur)$/,bv=/^([^.]*)(?:\.(.+)|)$/;function S(){return true}function Y(){return false}bK.event={global:{},add:function(b7,cc,ch,b9,b8){var ca,ci,cj,b5,ce,cb,cg,b6,cf,e,b4,cd=bK._data(b7);if(!cd){return}if(ch.handler){b5=ch;ch=b5.handler;b8=b5.selector}if(!ch.guid){ch.guid=bK.guid++}if(!(ci=cd.events)){ci=cd.events={}}if(!(cb=cd.handle)){cb=cd.handle=function(ck){return typeof bK!==aD&&(!ck||bK.event.triggered!==ck.type)?bK.event.dispatch.apply(cb.elem,arguments):aH};cb.elem=b7}cc=(cc||"").match(ad)||[""];cj=cc.length;while(cj--){ca=bv.exec(cc[cj])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();ce=bK.event.special[cf]||{};cf=(b8?ce.delegateType:ce.bindType)||cf;ce=bK.event.special[cf]||{};cg=bK.extend({type:cf,origType:b4,data:b9,handler:ch,guid:ch.guid,selector:b8,needsContext:b8&&bK.expr.match.needsContext.test(b8),namespace:e.join(".")},b5);if(!(b6=ci[cf])){b6=ci[cf]=[];b6.delegateCount=0;if(!ce.setup||ce.setup.call(b7,b9,e,cb)===false){if(b7.addEventListener){b7.addEventListener(cf,cb,false)}else{if(b7.attachEvent){b7.attachEvent("on"+cf,cb)}}}}if(ce.add){ce.add.call(b7,cg);if(!cg.handler.guid){cg.handler.guid=ch.guid}}if(b8){b6.splice(b6.delegateCount++,0,cg)}else{b6.push(cg)}bK.event.global[cf]=true}b7=null},remove:function(b6,cc,cj,b7,cb){var b9,cg,ca,b8,ci,ch,ce,b5,cf,e,b4,cd=bK.hasData(b6)&&bK._data(b6);if(!cd||!(ch=cd.events)){return}cc=(cc||"").match(ad)||[""];ci=cc.length;while(ci--){ca=bv.exec(cc[ci])||[];cf=b4=ca[1];e=(ca[2]||"").split(".").sort();if(!cf){for(cf in ch){bK.event.remove(b6,cf+cc[ci],cj,b7,true)}continue}ce=bK.event.special[cf]||{};cf=(b7?ce.delegateType:ce.bindType)||cf;b5=ch[cf]||[];ca=ca[2]&&new RegExp("(^|\\.)"+e.join("\\.(?:.*\\.|)")+"(\\.|$)");b8=b9=b5.length;while(b9--){cg=b5[b9];if((cb||b4===cg.origType)&&(!cj||cj.guid===cg.guid)&&(!ca||ca.test(cg.namespace))&&(!b7||b7===cg.selector||b7==="**"&&cg.selector)){b5.splice(b9,1);if(cg.selector){b5.delegateCount--}if(ce.remove){ce.remove.call(b6,cg)}}}if(b8&&!b5.length){if(!ce.teardown||ce.teardown.call(b6,e,cd.handle)===false){bK.removeEvent(b6,cf,cd.handle)}delete ch[cf]}}if(bK.isEmptyObject(ch)){delete cd.handle;bK._removeData(b6,"events")}},trigger:function(b4,cb,b7,ci){var cc,b6,cg,ch,ce,ca,b9,b8=[b7||l],cf=W.call(b4,"type")?b4.type:b4,b5=W.call(b4,"namespace")?b4.namespace.split("."):[];cg=ca=b7=b7||l;if(b7.nodeType===3||b7.nodeType===8){return}if(bC.test(cf+bK.event.triggered)){return}if(cf.indexOf(".")>=0){b5=cf.split(".");cf=b5.shift();b5.sort()}b6=cf.indexOf(":")<0&&"on"+cf;b4=b4[bK.expando]?b4:new bK.Event(cf,typeof b4==="object"&&b4);b4.isTrigger=true;b4.namespace=b5.join(".");b4.namespace_re=b4.namespace?new RegExp("(^|\\.)"+b5.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b4.result=aH;if(!b4.target){b4.target=b7}cb=cb==null?[b4]:bK.makeArray(cb,[b4]);ce=bK.event.special[cf]||{};if(!ci&&ce.trigger&&ce.trigger.apply(b7,cb)===false){return}if(!ci&&!ce.noBubble&&!bK.isWindow(b7)){ch=ce.delegateType||cf;if(!bC.test(ch+cf)){cg=cg.parentNode}for(;cg;cg=cg.parentNode){b8.push(cg);ca=cg}if(ca===(b7.ownerDocument||l)){b8.push(ca.defaultView||ca.parentWindow||a3)}}b9=0;while((cg=b8[b9++])&&!b4.isPropagationStopped()){b4.type=b9>1?ch:ce.bindType||cf;cc=(bK._data(cg,"events")||{})[b4.type]&&bK._data(cg,"handle");if(cc){cc.apply(cg,cb)}cc=b6&&cg[b6];if(cc&&bK.acceptData(cg)&&cc.apply&&cc.apply(cg,cb)===false){b4.preventDefault()}}b4.type=cf;if(!ci&&!b4.isDefaultPrevented()){if((!ce._default||ce._default.apply(b7.ownerDocument,cb)===false)&&!(cf==="click"&&bK.nodeName(b7,"a"))&&bK.acceptData(b7)){if(b6&&b7[cf]&&!bK.isWindow(b7)){ca=b7[b6];if(ca){b7[b6]=null}bK.event.triggered=cf;try{b7[cf]()}catch(cd){}bK.event.triggered=aH;if(ca){b7[b6]=ca}}}}return b4.result},dispatch:function(e){e=bK.event.fix(e);var b7,b8,cc,b4,b6,cb=[],ca=a5.call(arguments),b5=(bK._data(this,"events")||{})[e.type]||[],b9=bK.event.special[e.type]||{};ca[0]=e;e.delegateTarget=this;if(b9.preDispatch&&b9.preDispatch.call(this,e)===false){return}cb=bK.event.handlers.call(this,e,b5);b7=0;while((b4=cb[b7++])&&!e.isPropagationStopped()){e.currentTarget=b4.elem;b6=0;while((cc=b4.handlers[b6++])&&!e.isImmediatePropagationStopped()){if(!e.namespace_re||e.namespace_re.test(cc.namespace)){e.handleObj=cc;e.data=cc.data;b8=((bK.event.special[cc.origType]||{}).handle||cc.handler).apply(b4.elem,ca);if(b8!==aH){if((e.result=b8)===false){e.preventDefault();e.stopPropagation()}}}}}if(b9.postDispatch){b9.postDispatch.call(this,e)}return e.result},handlers:function(e,b5){var b4,ca,b8,b7,b9=[],b6=b5.delegateCount,cb=e.target;if(b6&&cb.nodeType&&(!e.button||e.type!=="click")){for(;cb!=this;cb=cb.parentNode||this){if(cb.nodeType===1&&(cb.disabled!==true||e.type!=="click")){b8=[];for(b7=0;b7=0:bK.find(b4,this,null,[cb]).length}if(b8[b4]){b8.push(ca)}}if(b8.length){b9.push({elem:cb,handlers:b8})}}}}if(b6+~])"+cq+"*"),cQ=new RegExp(cl),cR=new RegExp("^"+cL+"$"),cZ={ID:new RegExp("^#("+b4+")"),CLASS:new RegExp("^\\.("+b4+")"),NAME:new RegExp("^\\[name=['\"]?("+b4+")['\"]?\\]"),TAG:new RegExp("^("+b4.replace("w","w*")+")"),ATTR:new RegExp("^"+c3),PSEUDO:new RegExp("^"+cl),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+cq+"*(even|odd|(([+-]|)(\\d*)n|)"+cq+"*(?:([+-]|)"+cq+"*(\\d+)|))"+cq+"*\\)|)","i"),needsContext:new RegExp("^"+cq+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+cq+"*((?:-\\d)?\\d*)"+cq+"*\\)|)(?=[^-]|$)","i")},cX=/[\x20\t\r\n\f]*[+~]/,cN=/^[^{]+\{\s*\[native code/,cP=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,b9=/^(?:input|select|textarea|button)$/i,cm=/^h\d$/i,cM=/'|\\/g,cu=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,ct=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,c2=function(e,dj){var di="0x"+dj-65536;return di!==di?dj:di<0?String.fromCharCode(di+65536):String.fromCharCode(di>>10|55296,di&1023|56320)};try{cn.call(cJ.documentElement.childNodes,0)[0].nodeType}catch(cD){cn=function(di){var dj,e=[];while((dj=this[di++])){e.push(dj)}return e}}function cF(e){return cN.test(e+"")}function cA(){var e,di=[];return(e=function(dj,dk){if(di.push(dj+=" ")>co.cacheLength){delete e[di.shift()]}return(e[dj]=dk)})}function ck(e){e[c6]=true;return e}function cd(di){var dk=cC.createElement("div");try{return di(dk)}catch(dj){return false}finally{dk=null}}function cw(dq,di,du,dw){var dv,dm,dn,ds,dt,dl,dk,e,dj,dr;if((di?di.ownerDocument||di:cJ)!==cC){cW(di)}di=di||cC;du=du||[];if(!dq||typeof dq!=="string"){return du}if((ds=di.nodeType)!==1&&ds!==9){return[]}if(!ce&&!dw){if((dv=cP.exec(dq))){if((dn=dv[1])){if(ds===9){dm=di.getElementById(dn);if(dm&&dm.parentNode){if(dm.id===dn){du.push(dm);return du}}else{return du}}else{if(di.ownerDocument&&(dm=di.ownerDocument.getElementById(dn))&&cG(di,dm)&&dm.id===dn){du.push(dm);return du}}}else{if(dv[2]){b5.apply(du,cn.call(di.getElementsByTagName(dq),0));return du}else{if((dn=dv[3])&&de.getByClassName&&di.getElementsByClassName){b5.apply(du,cn.call(di.getElementsByClassName(dn),0));return du}}}}if(de.qsa&&!c0.test(dq)){dk=true;e=c6;dj=di;dr=ds===9&&dq;if(ds===1&&di.nodeName.toLowerCase()!=="object"){dl=cg(dq);if((dk=di.getAttribute("id"))){e=dk.replace(cM,"\\$&")}else{di.setAttribute("id",e)}e="[id='"+e+"'] ";dt=dl.length;while(dt--){dl[dt]=e+ch(dl[dt])}dj=cX.test(dq)&&di.parentNode||di;dr=dl.join(",")}if(dr){try{b5.apply(du,cn.call(dj.querySelectorAll(dr),0));return du}catch(dp){}finally{if(!dk){di.removeAttribute("id")}}}}}return dd(dq.replace(cs,"$1"),di,du,dw)}cK=cw.isXML=function(e){var di=e&&(e.ownerDocument||e).documentElement;return di?di.nodeName!=="HTML":false};cW=cw.setDocument=function(e){var di=e?e.ownerDocument||e:cJ;if(di===cC||di.nodeType!==9||!di.documentElement){return cC}cC=di;cp=di.documentElement;ce=cK(di);de.tagNameNoComments=cd(function(dj){dj.appendChild(di.createComment(""));return !dj.getElementsByTagName("*").length});de.attributes=cd(function(dk){dk.innerHTML=" ";var dj=typeof dk.lastChild.getAttribute("multiple");return dj!=="boolean"&&dj!=="string"});de.getByClassName=cd(function(dj){dj.innerHTML="
";if(!dj.getElementsByClassName||!dj.getElementsByClassName("e").length){return false}dj.lastChild.className="e";return dj.getElementsByClassName("e").length===2});de.getByName=cd(function(dk){dk.id=c6+0;dk.innerHTML="
";cp.insertBefore(dk,cp.firstChild);var dj=di.getElementsByName&&di.getElementsByName(c6).length===2+di.getElementsByName(c6+0).length;de.getIdNotName=!di.getElementById(c6);cp.removeChild(dk);return dj});co.attrHandle=cd(function(dj){dj.innerHTML=" ";return dj.firstChild&&typeof dj.firstChild.getAttribute!==da&&dj.firstChild.getAttribute("href")==="#"})?{}:{href:function(dj){return dj.getAttribute("href",2)},type:function(dj){return dj.getAttribute("type")}};if(de.getIdNotName){co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj&&dj.parentNode?[dj]:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dl){return dl.getAttribute("id")===dj}}}else{co.find.ID=function(dl,dk){if(typeof dk.getElementById!==da&&!ce){var dj=dk.getElementById(dl);return dj?dj.id===dl||typeof dj.getAttributeNode!==da&&dj.getAttributeNode("id").value===dl?[dj]:ci:[]}};co.filter.ID=function(dk){var dj=dk.replace(ct,c2);return function(dm){var dl=typeof dm.getAttributeNode!==da&&dm.getAttributeNode("id");return dl&&dl.value===dj}}}co.find.TAG=de.tagNameNoComments?function(dj,dk){if(typeof dk.getElementsByTagName!==da){return dk.getElementsByTagName(dj)}}:function(dj,dn){var dp,dm=[],dl=0,dk=dn.getElementsByTagName(dj);if(dj==="*"){while((dp=dk[dl++])){if(dp.nodeType===1){dm.push(dp)}}return dm}return dk};co.find.NAME=de.getByName&&function(dj,dk){if(typeof dk.getElementsByName!==da){return dk.getElementsByName(name)}};co.find.CLASS=de.getByClassName&&function(dk,dj){if(typeof dj.getElementsByClassName!==da&&!ce){return dj.getElementsByClassName(dk)}};dc=[];c0=[":focus"];if((de.qsa=cF(di.querySelectorAll))){cd(function(dj){dj.innerHTML=" ";if(!dj.querySelectorAll("[selected]").length){c0.push("\\["+cq+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!dj.querySelectorAll(":checked").length){c0.push(":checked")}});cd(function(dj){dj.innerHTML=" ";if(dj.querySelectorAll("[i^='']").length){c0.push("[*^$]="+cq+"*(?:\"\"|'')")}if(!dj.querySelectorAll(":enabled").length){c0.push(":enabled",":disabled")}dj.querySelectorAll("*,:x");c0.push(",.*:")})}if((de.matchesSelector=cF((cb=cp.matchesSelector||cp.mozMatchesSelector||cp.webkitMatchesSelector||cp.oMatchesSelector||cp.msMatchesSelector)))){cd(function(dj){de.disconnectedMatch=cb.call(dj,"div");cb.call(dj,"[s!='']:x");dc.push("!=",cl)})}c0=new RegExp(c0.join("|"));dc=new RegExp(dc.join("|"));cG=cF(cp.contains)||cp.compareDocumentPosition?function(dk,dj){var dm=dk.nodeType===9?dk.documentElement:dk,dl=dj&&dj.parentNode;return dk===dl||!!(dl&&dl.nodeType===1&&(dm.contains?dm.contains(dl):dk.compareDocumentPosition&&dk.compareDocumentPosition(dl)&16))}:function(dk,dj){if(dj){while((dj=dj.parentNode)){if(dj===dk){return true}}}return false};cE=cp.compareDocumentPosition?function(dk,dj){var dl;if(dk===dj){cU=true;return 0}if((dl=dj.compareDocumentPosition&&dk.compareDocumentPosition&&dk.compareDocumentPosition(dj))){if(dl&1||dk.parentNode&&dk.parentNode.nodeType===11){if(dk===di||cG(cJ,dk)){return -1}if(dj===di||cG(cJ,dj)){return 1}return 0}return dl&4?-1:1}return dk.compareDocumentPosition?-1:1}:function(dk,dj){var dr,dn=0,dq=dk.parentNode,dm=dj.parentNode,dl=[dk],dp=[dj];if(dk===dj){cU=true;return 0}else{if(!dq||!dm){return dk===di?-1:dj===di?1:dq?-1:dm?1:0}else{if(dq===dm){return b7(dk,dj)}}}dr=dk;while((dr=dr.parentNode)){dl.unshift(dr)}dr=dj;while((dr=dr.parentNode)){dp.unshift(dr)}while(dl[dn]===dp[dn]){dn++}return dn?b7(dl[dn],dp[dn]):dl[dn]===cJ?-1:dp[dn]===cJ?1:0};cU=false;[0,0].sort(cE);de.detectDuplicates=cU;return cC};cw.matches=function(di,e){return cw(di,null,null,e)};cw.matchesSelector=function(dj,dl){if((dj.ownerDocument||dj)!==cC){cW(dj)}dl=dl.replace(cu,"='$1']");if(de.matchesSelector&&!ce&&(!dc||!dc.test(dl))&&!c0.test(dl)){try{var di=cb.call(dj,dl);if(di||de.disconnectedMatch||dj.document&&dj.document.nodeType!==11){return di}}catch(dk){}}return cw(dl,cC,null,[dj]).length>0};cw.contains=function(e,di){if((e.ownerDocument||e)!==cC){cW(e)}return cG(e,di)};cw.attr=function(di,e){var dj;if((di.ownerDocument||di)!==cC){cW(di)}if(!ce){e=e.toLowerCase()}if((dj=co.attrHandle[e])){return dj(di)}if(ce||de.attributes){return di.getAttribute(e)}return((dj=di.getAttributeNode(e))||di.getAttribute(e))&&di[e]===true?e:dj&&dj.specified?dj.value:null};cw.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};cw.uniqueSort=function(dj){var dk,dl=[],di=1,e=0;cU=!de.detectDuplicates;dj.sort(cE);if(cU){for(;(dk=dj[di]);di++){if(dk===dj[di-1]){e=dl.push(di)}}while(e--){dj.splice(dl[e],1)}}return dj};function b7(di,e){var dk=e&&di,dj=dk&&(~e.sourceIndex||cO)-(~di.sourceIndex||cO);if(dj){return dj}if(dk){while((dk=dk.nextSibling)){if(dk===e){return -1}}}return di?1:-1}function cx(e){return function(dj){var di=dj.nodeName.toLowerCase();return di==="input"&&dj.type===e}}function b8(e){return function(dj){var di=dj.nodeName.toLowerCase();return(di==="input"||di==="button")&&dj.type===e}}function c4(e){return ck(function(di){di=+di;return ck(function(dj,dn){var dl,dk=e([],dj.length,di),dm=dk.length;while(dm--){if(dj[(dl=dk[dm])]){dj[dl]=!(dn[dl]=dj[dl])}}})})}cI=cw.getText=function(dl){var dk,di="",dj=0,e=dl.nodeType;if(!e){for(;(dk=dl[dj]);dj++){di+=cI(dk)}}else{if(e===1||e===9||e===11){if(typeof dl.textContent==="string"){return dl.textContent}else{for(dl=dl.firstChild;dl;dl=dl.nextSibling){di+=cI(dl)}}}else{if(e===3||e===4){return dl.nodeValue}}}return di};co=cw.selectors={cacheLength:50,createPseudo:ck,match:cZ,find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(ct,c2);e[3]=(e[4]||e[5]||"").replace(ct,c2);if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1].slice(0,3)==="nth"){if(!e[3]){cw.error(e[0])}e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd"));e[5]=+((e[7]+e[8])||e[3]==="odd")}else{if(e[3]){cw.error(e[0])}}return e},PSEUDO:function(di){var e,dj=!di[5]&&di[2];if(cZ.CHILD.test(di[0])){return null}if(di[4]){di[2]=di[4]}else{if(dj&&cQ.test(dj)&&(e=cg(dj,true))&&(e=dj.indexOf(")",dj.length-e)-dj.length)){di[0]=di[0].slice(0,e);di[2]=dj.slice(0,e)}}return di.slice(0,3)}},filter:{TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(ct,c2).toLowerCase();return function(di){return di.nodeName&&di.nodeName.toLowerCase()===e}},CLASS:function(e){var di=b6[e+" "];return di||(di=new RegExp("(^|"+cq+")"+e+"("+cq+"|$)"))&&b6(e,function(dj){return di.test(dj.className||(typeof dj.getAttribute!==da&&dj.getAttribute("class"))||"")})},ATTR:function(dj,di,e){return function(dl){var dk=cw.attr(dl,dj);if(dk==null){return di==="!="}if(!di){return true}dk+="";return di==="="?dk===e:di==="!="?dk!==e:di==="^="?e&&dk.indexOf(e)===0:di==="*="?e&&dk.indexOf(e)>-1:di==="$="?e&&dk.slice(-e.length)===e:di==="~="?(" "+dk+" ").indexOf(e)>-1:di==="|="?dk===e||dk.slice(0,e.length+1)===e+"-":false}},CHILD:function(di,dl,dk,dm,dj){var dp=di.slice(0,3)!=="nth",e=di.slice(-4)!=="last",dn=dl==="of-type";return dm===1&&dj===0?function(dq){return !!dq.parentNode}:function(dw,du,dz){var dq,dC,dx,dB,dy,dt,dv=dp!==e?"nextSibling":"previousSibling",dA=dw.parentNode,ds=dn&&dw.nodeName.toLowerCase(),dr=!dz&&!dn;if(dA){if(dp){while(dv){dx=dw;while((dx=dx[dv])){if(dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1){return false}}dt=dv=di==="only"&&!dt&&"nextSibling"}return true}dt=[e?dA.firstChild:dA.lastChild];if(e&&dr){dC=dA[c6]||(dA[c6]={});dq=dC[di]||[];dy=dq[0]===df&&dq[1];dB=dq[0]===df&&dq[2];dx=dy&&dA.childNodes[dy];while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if(dx.nodeType===1&&++dB&&dx===dw){dC[di]=[df,dy,dB];break}}}else{if(dr&&(dq=(dw[c6]||(dw[c6]={}))[di])&&dq[0]===df){dB=dq[1]}else{while((dx=++dy&&dx&&dx[dv]||(dB=dy=0)||dt.pop())){if((dn?dx.nodeName.toLowerCase()===ds:dx.nodeType===1)&&++dB){if(dr){(dx[c6]||(dx[c6]={}))[di]=[df,dB]}if(dx===dw){break}}}}}dB-=dj;return dB===dm||(dB%dm===0&&dB/dm>=0)}}},PSEUDO:function(dk,dj){var e,di=co.pseudos[dk]||co.setFilters[dk.toLowerCase()]||cw.error("unsupported pseudo: "+dk);if(di[c6]){return di(dj)}if(di.length>1){e=[dk,dk,"",dj];return co.setFilters.hasOwnProperty(dk.toLowerCase())?ck(function(dn,dq){var dm,dl=di(dn,dj),dp=dl.length;while(dp--){dm=ca.call(dn,dl[dp]);dn[dm]=!(dq[dm]=dl[dp])}}):function(dl){return di(dl,0,e)}}return di}},pseudos:{not:ck(function(e){var di=[],dj=[],dk=cT(e.replace(cs,"$1"));return dk[c6]?ck(function(dm,ds,dq,dn){var dr,dl=dk(dm,null,dn,[]),dp=dm.length;while(dp--){if((dr=dl[dp])){dm[dp]=!(ds[dp]=dr)}}}):function(dn,dm,dl){di[0]=dn;dk(di,null,dl,dj);return !dj.pop()}}),has:ck(function(e){return function(di){return cw(e,di).length>0}}),contains:ck(function(e){return function(di){return(di.textContent||di.innerText||cI(di)).indexOf(e)>-1}}),lang:ck(function(e){if(!cR.test(e||"")){cw.error("unsupported lang: "+e)}e=e.replace(ct,c2).toLowerCase();return function(dj){var di;do{if((di=ce?dj.getAttribute("xml:lang")||dj.getAttribute("lang"):dj.lang)){di=di.toLowerCase();return di===e||di.indexOf(e+"-")===0}}while((dj=dj.parentNode)&&dj.nodeType===1);return false}}),target:function(e){var di=db.location&&db.location.hash;return di&&di.slice(1)===e.id},root:function(e){return e===cp},focus:function(e){return e===cC.activeElement&&(!cC.hasFocus||cC.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var di=e.nodeName.toLowerCase();return(di==="input"&&!!e.checked)||(di==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling){if(e.nodeName>"@"||e.nodeType===3||e.nodeType===4){return false}}return true},parent:function(e){return !co.pseudos.empty(e)},header:function(e){return cm.test(e.nodeName)},input:function(e){return b9.test(e.nodeName)},button:function(di){var e=di.nodeName.toLowerCase();return e==="input"&&di.type==="button"||e==="button"},text:function(di){var e;return di.nodeName.toLowerCase()==="input"&&di.type==="text"&&((e=di.getAttribute("type"))==null||e.toLowerCase()===di.type)},first:c4(function(){return[0]}),last:c4(function(e,di){return[di-1]}),eq:c4(function(e,dj,di){return[di<0?di+dj:di]}),even:c4(function(e,dj){var di=0;for(;di=0;){e.push(di)}return e}),gt:c4(function(e,dk,dj){var di=dj<0?dj+dk:dj;for(;++di1?function(dl,dk,di){var dj=e.length;while(dj--){if(!e[dj](dl,dk,di)){return false}}return true}:e[0]}function cY(e,di,dj,dk,dn){var dl,dr=[],dm=0,dp=e.length,dq=di!=null;for(;dm-1){dy[dA]=!(dv[dA]=ds)}}}}else{du=cY(du===dv?du.splice(dp,du.length):du);if(dm){dm(null,dv,du,dx)}else{b5.apply(dv,du)}}})}function c7(dn){var di,dl,dj,dm=dn.length,dr=co.relative[dn[0].type],ds=dr||co.relative[" "],dk=dr?1:0,dp=cr(function(dt){return dt===di},ds,true),dq=cr(function(dt){return ca.call(di,dt)>-1},ds,true),e=[function(dv,du,dt){return(!dr&&(dt||du!==dh))||((di=du).nodeType?dp(dv,du,dt):dq(dv,du,dt))}];for(;dk1&&dg(e),dk>1&&ch(dn.slice(0,dk-1)).replace(cs,"$1"),dl,dk0,dl=dk.length>0,di=function(dx,dr,dw,dv,dD){var ds,dt,dy,dC=[],dB=0,du="0",dn=dx&&[],dz=dD!=null,dA=dh,dq=dx||dl&&co.find.TAG("*",dD&&dr.parentNode||dr),dp=(df+=dA==null?1:Math.random()||0.1);if(dz){dh=dr!==cC&&dr;cc=dm}for(;(ds=dq[du])!=null;du++){if(dl&&ds){dt=0;while((dy=dk[dt++])){if(dy(ds,dr,dw)){dv.push(ds);break}}if(dz){df=dp;cc=++dm}}if(e){if((ds=!dy&&ds)){dB--}if(dx){dn.push(ds)}}}dB+=du;if(e&&du!==dB){dt=0;while((dy=dj[dt++])){dy(dn,dC,dr,dw)}if(dx){if(dB>0){while(du--){if(!(dn[du]||dC[du])){dC[du]=c9.call(dv)}}}dC=cY(dC)}b5.apply(dv,dC);if(dz&&!dx&&dC.length>0&&(dB+dj.length)>1){cw.uniqueSort(dv)}}if(dz){df=dp;dh=dA}return dn};return e?ck(di):di}cT=cw.compile=function(e,dm){var dj,di=[],dl=[],dk=cH[e+" "];if(!dk){if(!dm){dm=cg(e)}dj=dm.length;while(dj--){dk=c7(dm[dj]);if(dk[c6]){di.push(dk)}else{dl.push(dk)}}dk=cH(e,cV(dl,di))}return dk};function cz(di,dl,dk){var dj=0,e=dl.length;for(;dj2&&(di=dq[0]).type==="ID"&&e.nodeType===9&&!ce&&co.relative[dq[1].type]){e=co.find.ID(di.matches[0].replace(ct,c2),e)[0];if(!e){return dk}dj=dj.slice(dq.shift().value.length)}dl=cZ.needsContext.test(dj)?0:dq.length;while(dl--){di=dq[dl];if(co.relative[(dr=di.type)]){break}if((dp=co.find[dr])){if((dn=dp(di.matches[0].replace(ct,c2),cX.test(dq[0].type)&&e.parentNode||e))){dq.splice(dl,1);dj=dn.length&&ch(dq);if(!dj){b5.apply(dk,cn.call(dn,0));return dk}break}}}}}cT(dj,dm)(dn,e,ce,dk,cX.test(dj));return dk}co.pseudos.nth=co.pseudos.eq;function cS(){}co.filters=cS.prototype=co.pseudos;co.setFilters=new cS();cW();cw.attr=bK.attr;bK.find=cw;bK.expr=cw.selectors;bK.expr[":"]=bK.expr.pseudos;bK.unique=cw.uniqueSort;bK.text=cw.getText;bK.isXMLDoc=cw.isXML;bK.contains=cw.contains})(a3);var ak=/Until$/,bu=/^(?:parents|prev(?:Until|All))/,ao=/^.[^:#\[\.,]*$/,z=bK.expr.match.needsContext,by={children:true,contents:true,next:true,prev:true};bK.fn.extend({find:function(b4){var b7,b6,b5,e=this.length;if(typeof b4!=="string"){b5=this;return this.pushStack(bK(b4).filter(function(){for(b7=0;b71?bK.unique(b6):b6);b6.selector=(this.selector?this.selector+" ":"")+b4;return b6},has:function(b6){var b5,b4=bK(b6,this),e=b4.length;return this.filter(function(){for(b5=0;b5=0:bK.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b7,b6){var b8,b5=0,e=this.length,b4=[],b9=z.test(b7)||typeof b7!=="string"?bK(b7,b6||this.context):0;for(;b5-1:bK.find.matchesSelector(b8,b7)){b4.push(b8);break}b8=b8.parentNode}}return this.pushStack(b4.length>1?bK.unique(b4):b4)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1}if(typeof e==="string"){return bK.inArray(this[0],bK(e))}return bK.inArray(e.jquery?e[0]:e,this)},add:function(e,b4){var b6=typeof e==="string"?bK(e,b4):bK.makeArray(e&&e.nodeType?[e]:e),b5=bK.merge(this.get(),b6);return this.pushStack(bK.unique(b5))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bK.fn.andSelf=bK.fn.addBack;function aY(b4,e){do{b4=b4[e]}while(b4&&b4.nodeType!==1);return b4}bK.each({parent:function(b4){var e=b4.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bK.dir(e,"parentNode")},parentsUntil:function(b4,e,b5){return bK.dir(b4,"parentNode",b5)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bK.dir(e,"nextSibling")},prevAll:function(e){return bK.dir(e,"previousSibling")},nextUntil:function(b4,e,b5){return bK.dir(b4,"nextSibling",b5)},prevUntil:function(b4,e,b5){return bK.dir(b4,"previousSibling",b5)},siblings:function(e){return bK.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bK.sibling(e.firstChild)},contents:function(e){return bK.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bK.merge([],e.childNodes)}},function(e,b4){bK.fn[e]=function(b7,b5){var b6=bK.map(this,b4,b7);if(!ak.test(e)){b5=b7}if(b5&&typeof b5==="string"){b6=bK.filter(b5,b6)}b6=this.length>1&&!by[e]?bK.unique(b6):b6;if(this.length>1&&bu.test(e)){b6=b6.reverse()}return this.pushStack(b6)}});bK.extend({filter:function(b5,e,b4){if(b4){b5=":not("+b5+")"}return e.length===1?bK.find.matchesSelector(e[0],b5)?[e[0]]:[]:bK.find.matches(b5,e)},dir:function(b5,b4,b7){var e=[],b6=b5[b4];while(b6&&b6.nodeType!==9&&(b7===aH||b6.nodeType!==1||!bK(b6).is(b7))){if(b6.nodeType===1){e.push(b6)}b6=b6[b4]}return e},sibling:function(b5,b4){var e=[];for(;b5;b5=b5.nextSibling){if(b5.nodeType===1&&b5!==b4){e.push(b5)}}return e}});function aP(b6,b5,e){b5=b5||0;if(bK.isFunction(b5)){return bK.grep(b6,function(b8,b7){var b9=!!b5.call(b8,b7,b8);return b9===e})}else{if(b5.nodeType){return bK.grep(b6,function(b7){return(b7===b5)===e})}else{if(typeof b5==="string"){var b4=bK.grep(b6,function(b7){return b7.nodeType===1});if(ao.test(b5)){return bK.filter(b5,b4,!e)}else{b5=bK.filter(b5,b4)}}}}return bK.grep(b6,function(b7){return(bK.inArray(b7,b5)>=0)===e})}function B(e){var b5=d.split("|"),b4=e.createDocumentFragment();if(b4.createElement){while(b5.length){b4.createElement(b5.pop())}}return b4}var d="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",aB=/ jQuery\d+="(?:null|\d+)"/g,K=new RegExp("<(?:"+d+")[\\s/>]","i"),b3=/^\s+/,aE=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,m=/<([\w:]+)/,bY=/\s*$/g,U={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:bK.support.htmlSerialize?[0,"",""]:[1,"X","
"]},aT=B(l),j=aT.appendChild(l.createElement("div"));U.optgroup=U.option;U.tbody=U.tfoot=U.colgroup=U.caption=U.thead;U.th=U.td;bK.fn.extend({text:function(e){return bK.access(this,function(b4){return b4===aH?bK.text(this):this.empty().append((this[0]&&this[0].ownerDocument||l).createTextNode(b4))},null,e,arguments.length)},wrapAll:function(e){if(bK.isFunction(e)){return this.each(function(b5){bK(this).wrapAll(e.call(this,b5))})}if(this[0]){var b4=bK(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){b4.insertBefore(this[0])}b4.map(function(){var b5=this;while(b5.firstChild&&b5.firstChild.nodeType===1){b5=b5.firstChild}return b5}).append(this)}return this},wrapInner:function(e){if(bK.isFunction(e)){return this.each(function(b4){bK(this).wrapInner(e.call(this,b4))})}return this.each(function(){var b4=bK(this),b5=b4.contents();if(b5.length){b5.wrapAll(e)}else{b4.append(e)}})},wrap:function(e){var b4=bK.isFunction(e);return this.each(function(b5){bK(this).wrapAll(b4?e.call(this,b5):e)})},unwrap:function(){return this.parent().each(function(){if(!bK.nodeName(this,"body")){bK(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.insertBefore(e,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this)}})},after:function(){return this.domManip(arguments,false,function(e){if(this.parentNode){this.parentNode.insertBefore(e,this.nextSibling)}})},remove:function(e,b6){var b5,b4=0;for(;(b5=this[b4])!=null;b4++){if(!e||bK.filter(e,[b5]).length>0){if(!b6&&b5.nodeType===1){bK.cleanData(k(b5))}if(b5.parentNode){if(b6&&bK.contains(b5.ownerDocument,b5)){bt(k(b5,"script"))}b5.parentNode.removeChild(b5)}}}return this},empty:function(){var b4,e=0;for(;(b4=this[e])!=null;e++){if(b4.nodeType===1){bK.cleanData(k(b4,false))}while(b4.firstChild){b4.removeChild(b4.firstChild)}if(b4.options&&bK.nodeName(b4,"select")){b4.options.length=0}}return this},clone:function(b4,e){b4=b4==null?false:b4;e=e==null?b4:e;return this.map(function(){return bK.clone(this,b4,e)})},html:function(e){return bK.access(this,function(b7){var b6=this[0]||{},b5=0,b4=this.length;if(b7===aH){return b6.nodeType===1?b6.innerHTML.replace(aB,""):aH}if(typeof b7==="string"&&!am.test(b7)&&(bK.support.htmlSerialize||!K.test(b7))&&(bK.support.leadingWhitespace||!b3.test(b7))&&!U[(m.exec(b7)||["",""])[1].toLowerCase()]){b7=b7.replace(aE,"<$1>$2>");try{for(;b5")){cb=b4.cloneNode(true)}else{j.innerHTML=b4.outerHTML;j.removeChild(cb=j.firstChild)}if((!bK.support.noCloneEvent||!bK.support.noCloneChecked)&&(b4.nodeType===1||b4.nodeType===11)&&!bK.isXMLDoc(b4)){b8=k(cb);b9=k(b4);for(b7=0;(b5=b9[b7])!=null;++b7){if(b8[b7]){R(b5,b8[b7])}}}if(b6){if(e){b9=b9||k(b4);b8=b8||k(cb);for(b7=0;(b5=b9[b7])!=null;b7++){au(b5,b8[b7])}}else{au(b4,cb)}}b8=k(cb,"script");if(b8.length>0){bt(b8,!ca&&k(b4,"script"))}b8=b9=b5=null;return cb},buildFragment:function(b4,b6,cb,cg){var cc,b8,ca,cf,ch,ce,b5,b9=b4.length,b7=B(b6),e=[],cd=0;for(;cd$2>")+b5[2];cc=b5[0];while(cc--){cf=cf.lastChild}if(!bK.support.leadingWhitespace&&b3.test(b8)){e.push(b6.createTextNode(b3.exec(b8)[0]))}if(!bK.support.tbody){b8=ch==="table"&&!bY.test(b8)?cf.firstChild:b5[1]===""&&!bY.test(b8)?cf:0;cc=b8&&b8.childNodes.length;while(cc--){if(bK.nodeName((ce=b8.childNodes[cc]),"tbody")&&!ce.childNodes.length){b8.removeChild(ce)}}}bK.merge(e,cf.childNodes);cf.textContent="";while(cf.firstChild){cf.removeChild(cf.firstChild)}cf=b7.lastChild}}}}if(cf){b7.removeChild(cf)}if(!bK.support.appendChecked){bK.grep(k(e,"input"),bW)}cd=0;while((b8=e[cd++])){if(cg&&bK.inArray(b8,cg)!==-1){continue}ca=bK.contains(b8.ownerDocument,b8);cf=k(b7.appendChild(b8),"script");if(ca){bt(cf)}if(cb){cc=0;while((b8=cf[cc++])){if(bA.test(b8.type||"")){cb.push(b8)}}}}cf=null;return b7},cleanData:function(b4,cc){var b6,cb,b5,b7,b8=0,cd=bK.expando,e=bK.cache,b9=bK.support.deleteExpando,ca=bK.event.special;for(;(b6=b4[b8])!=null;b8++){if(cc||bK.acceptData(b6)){b5=b6[cd];b7=b5&&e[b5];if(b7){if(b7.events){for(cb in b7.events){if(ca[cb]){bK.event.remove(b6,cb)}else{bK.removeEvent(b6,cb,b7.handle)}}}if(e[b5]){delete e[b5];if(b9){delete b6[cd]}else{if(typeof b6.removeAttribute!==aD){b6.removeAttribute(cd)}else{b6[cd]=null}}a7.push(b5)}}}}}});var aF,bp,F,bh=/alpha\([^)]*\)/i,aU=/opacity\s*=\s*([^)]*)/,bo=/^(top|right|bottom|left)$/,G=/^(none|table(?!-c[ea]).+)/,aZ=/^margin/,ba=new RegExp("^("+bB+")(.*)$","i"),X=new RegExp("^("+bB+")(?!px)[a-z%]+$","i"),T=new RegExp("^([+-])=("+bB+")","i"),bk={BODY:"block"},bc={position:"absolute",visibility:"hidden",display:"block"},bD={letterSpacing:0,fontWeight:400},bU=["Top","Right","Bottom","Left"],aw=["Webkit","O","Moz","ms"];function b(b6,b4){if(b4 in b6){return b4}var b7=b4.charAt(0).toUpperCase()+b4.slice(1),e=b4,b5=aw.length;while(b5--){b4=aw[b5]+b7;if(b4 in b6){return b4}}return e}function Q(b4,e){b4=e||b4;return bK.css(b4,"display")==="none"||!bK.contains(b4.ownerDocument,b4)}function p(b9,e){var ca,b7,b8,b4=[],b5=0,b6=b9.length;for(;b51)},show:function(){return p(this,true)},hide:function(){return p(this)},toggle:function(b4){var e=typeof b4==="boolean";return this.each(function(){if(e?b4:Q(this)){bK(this).show()}else{bK(this).hide()}})}});bK.extend({cssHooks:{opacity:{get:function(b5,b4){if(b4){var e=F(b5,"opacity");return e===""?"1":e}}}},cssNumber:{columnCount:true,fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bK.support.cssFloat?"cssFloat":"styleFloat"},style:function(b6,b5,cc,b7){if(!b6||b6.nodeType===3||b6.nodeType===8||!b6.style){return}var ca,cb,cd,b8=bK.camelCase(b5),b4=b6.style;b5=bK.cssProps[b8]||(bK.cssProps[b8]=b(b4,b8));cd=bK.cssHooks[b5]||bK.cssHooks[b8];if(cc!==aH){cb=typeof cc;if(cb==="string"&&(ca=T.exec(cc))){cc=(ca[1]+1)*ca[2]+parseFloat(bK.css(b6,b5));cb="number"}if(cc==null||cb==="number"&&isNaN(cc)){return}if(cb==="number"&&!bK.cssNumber[b8]){cc+="px"}if(!bK.support.clearCloneStyle&&cc===""&&b5.indexOf("background")===0){b4[b5]="inherit"}if(!cd||!("set" in cd)||(cc=cd.set(b6,cc,b7))!==aH){try{b4[b5]=cc}catch(b9){}}}else{if(cd&&"get" in cd&&(ca=cd.get(b6,false,b7))!==aH){return ca}return b4[b5]}},css:function(b9,b7,b4,b8){var b6,ca,e,b5=bK.camelCase(b7);b7=bK.cssProps[b5]||(bK.cssProps[b5]=b(b9.style,b5));e=bK.cssHooks[b7]||bK.cssHooks[b5];if(e&&"get" in e){ca=e.get(b9,true,b4)}if(ca===aH){ca=F(b9,b7,b8)}if(ca==="normal"&&b7 in bD){ca=bD[b7]}if(b4===""||b4){b6=parseFloat(ca);return b4===true||bK.isNumeric(b6)?b6||0:ca}return ca},swap:function(b8,b7,b9,b6){var b5,b4,e={};for(b4 in b7){e[b4]=b8.style[b4];b8.style[b4]=b7[b4]}b5=b9.apply(b8,b6||[]);for(b4 in b7){b8.style[b4]=e[b4]}return b5}});if(a3.getComputedStyle){bp=function(e){return a3.getComputedStyle(e,null)};F=function(b7,b5,b9){var b6,b4,cb,b8=b9||bp(b7),ca=b8?b8.getPropertyValue(b5)||b8[b5]:aH,e=b7.style;if(b8){if(ca===""&&!bK.contains(b7.ownerDocument,b7)){ca=bK.style(b7,b5)}if(X.test(ca)&&aZ.test(b5)){b6=e.width;b4=e.minWidth;cb=e.maxWidth;e.minWidth=e.maxWidth=e.width=ca;ca=b8.width;e.width=b6;e.minWidth=b4;e.maxWidth=cb}}return ca}}else{if(l.documentElement.currentStyle){bp=function(e){return e.currentStyle};F=function(b6,b4,b9){var b5,b8,ca,b7=b9||bp(b6),cb=b7?b7[b4]:aH,e=b6.style;if(cb==null&&e&&e[b4]){cb=e[b4]}if(X.test(cb)&&!bo.test(b4)){b5=e.left;b8=b6.runtimeStyle;ca=b8&&b8.left;if(ca){b8.left=b6.currentStyle.left}e.left=b4==="fontSize"?"1em":cb;cb=e.pixelLeft+"px";e.left=b5;if(ca){b8.left=ca}}return cb===""?"auto":cb}}}function aK(e,b5,b6){var b4=ba.exec(b5);return b4?Math.max(0,b4[1]-(b6||0))+(b4[2]||"px"):b5}function ax(b7,b4,e,b9,b6){var b5=e===(b9?"border":"content")?4:b4==="width"?1:0,b8=0;for(;b5<4;b5+=2){if(e==="margin"){b8+=bK.css(b7,e+bU[b5],true,b6)}if(b9){if(e==="content"){b8-=bK.css(b7,"padding"+bU[b5],true,b6)}if(e!=="margin"){b8-=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}else{b8+=bK.css(b7,"padding"+bU[b5],true,b6);if(e!=="padding"){b8+=bK.css(b7,"border"+bU[b5]+"Width",true,b6)}}}return b8}function v(b7,b4,e){var b6=true,b8=b4==="width"?b7.offsetWidth:b7.offsetHeight,b5=bp(b7),b9=bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b5)==="border-box";if(b8<=0||b8==null){b8=F(b7,b4,b5);if(b8<0||b8==null){b8=b7.style[b4]}if(X.test(b8)){return b8}b6=b9&&(bK.support.boxSizingReliable||b8===b7.style[b4]);b8=parseFloat(b8)||0}return(b8+ax(b7,b4,e||(b9?"border":"content"),b6,b5))+"px"}function bF(b5){var b4=l,e=bk[b5];if(!e){e=a2(b5,b4);if(e==="none"||!e){aF=(aF||bK("").css("cssText","display:block !important")).appendTo(b4.documentElement);b4=(aF[0].contentWindow||aF[0].contentDocument).document;b4.write("");b4.close();e=a2(b5,b4);aF.detach()}bk[b5]=e}return e}function a2(e,b6){var b4=bK(b6.createElement(e)).appendTo(b6.body),b5=bK.css(b4[0],"display");b4.remove();return b5}bK.each(["height","width"],function(b4,e){bK.cssHooks[e]={get:function(b7,b6,b5){if(b6){return b7.offsetWidth===0&&G.test(bK.css(b7,"display"))?bK.swap(b7,bc,function(){return v(b7,e,b5)}):v(b7,e,b5)}},set:function(b7,b8,b5){var b6=b5&&bp(b7);return aK(b7,b8,b5?ax(b7,e,b5,bK.support.boxSizing&&bK.css(b7,"boxSizing",false,b6)==="border-box",b6):0)}}});if(!bK.support.opacity){bK.cssHooks.opacity={get:function(b4,e){return aU.test((e&&b4.currentStyle?b4.currentStyle.filter:b4.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b7,b8){var b6=b7.style,b4=b7.currentStyle,e=bK.isNumeric(b8)?"alpha(opacity="+b8*100+")":"",b5=b4&&b4.filter||b6.filter||"";b6.zoom=1;if((b8>=1||b8==="")&&bK.trim(b5.replace(bh,""))===""&&b6.removeAttribute){b6.removeAttribute("filter");if(b8===""||b4&&!b4.filter){return}}b6.filter=bh.test(b5)?b5.replace(bh,e):b5+" "+e}}}bK(function(){if(!bK.support.reliableMarginRight){bK.cssHooks.marginRight={get:function(b4,e){if(e){return bK.swap(b4,{display:"inline-block"},F,[b4,"marginRight"])}}}}if(!bK.support.pixelPosition&&bK.fn.position){bK.each(["top","left"],function(e,b4){bK.cssHooks[b4]={get:function(b6,b5){if(b5){b5=F(b6,b4);return X.test(b5)?bK(b6).position()[b4]+"px":b5}}}})}});if(bK.expr&&bK.expr.filters){bK.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||(!bK.support.reliableHiddenOffsets&&((e.style&&e.style.display)||bK.css(e,"display"))==="none")};bK.expr.filters.visible=function(e){return !bK.expr.filters.hidden(e)}}bK.each({margin:"",padding:"",border:"Width"},function(e,b4){bK.cssHooks[e+b4]={expand:function(b7){var b6=0,b5={},b8=typeof b7==="string"?b7.split(" "):[b7];for(;b6<4;b6++){b5[e+bU[b6]+b4]=b8[b6]||b8[b6-2]||b8[0]}return b5}};if(!aZ.test(e)){bK.cssHooks[e+b4].set=aK}});var bw=/%20/g,aS=/\[\]$/,V=/\r?\n/g,c=/^(?:submit|button|image|reset|file)$/i,av=/^(?:input|select|textarea|keygen)/i;bK.fn.extend({serialize:function(){return bK.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=bK.prop(this,"elements");return e?bK.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!bK(this).is(":disabled")&&av.test(this.nodeName)&&!c.test(e)&&(this.checked||!r.test(e))}).map(function(e,b4){var b5=bK(this).val();return b5==null?null:bK.isArray(b5)?bK.map(b5,function(b6){return{name:b4.name,value:b6.replace(V,"\r\n")}}):{name:b4.name,value:b5.replace(V,"\r\n")}}).get()}});bK.param=function(e,b5){var b6,b4=[],b7=function(b8,b9){b9=bK.isFunction(b9)?b9():(b9==null?"":b9);b4[b4.length]=encodeURIComponent(b8)+"="+encodeURIComponent(b9)};if(b5===aH){b5=bK.ajaxSettings&&bK.ajaxSettings.traditional}if(bK.isArray(e)||(e.jquery&&!bK.isPlainObject(e))){bK.each(e,function(){b7(this.name,this.value)})}else{for(b6 in e){i(b6,e[b6],b5,b7)}}return b4.join("&").replace(bw,"+")};function i(b5,b7,b4,b6){var e;if(bK.isArray(b7)){bK.each(b7,function(b9,b8){if(b4||aS.test(b5)){b6(b5,b8)}else{i(b5+"["+(typeof b8==="object"?b9:"")+"]",b8,b4,b6)}})}else{if(!b4&&bK.type(b7)==="object"){for(e in b7){i(b5+"["+e+"]",b7[e],b4,b6)}}else{b6(b5,b7)}}}bK.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(b4,e){bK.fn[e]=function(b6,b5){return arguments.length>0?this.on(e,null,b6,b5):this.trigger(e)}});bK.fn.hover=function(e,b4){return this.mouseenter(e).mouseleave(b4||e)};var b2,Z,bP=bK.now(),aA=/\?/,aq=/#.*$/,P=/([?&])_=[^&]*/,ah=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,o=/^(?:GET|HEAD)$/,aI=/^\/\//,aV=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,b1=bK.fn.load,w={},a8={},aX="*/".concat("*");try{Z=aM.href}catch(bg){Z=l.createElement("a");Z.href="";Z=Z.href}b2=aV.exec(Z.toLowerCase())||[];function bM(e){return function(b7,b8){if(typeof b7!=="string"){b8=b7;b7="*"}var b4,b5=0,b6=b7.toLowerCase().match(ad)||[];if(bK.isFunction(b8)){while((b4=b6[b5++])){if(b4[0]==="+"){b4=b4.slice(1)||"*";(e[b4]=e[b4]||[]).unshift(b8)}else{(e[b4]=e[b4]||[]).push(b8)}}}}}function n(e,b5,b9,b6){var b4={},b7=(e===a8);function b8(ca){var cb;b4[ca]=true;bK.each(e[ca]||[],function(cd,cc){var ce=cc(b5,b9,b6);if(typeof ce==="string"&&!b7&&!b4[ce]){b5.dataTypes.unshift(ce);b8(ce);return false}else{if(b7){return !(cb=ce)}}});return cb}return b8(b5.dataTypes[0])||!b4["*"]&&b8("*")}function s(b5,b6){var e,b4,b7=bK.ajaxSettings.flatOptions||{};for(b4 in b6){if(b6[b4]!==aH){(b7[b4]?b5:(e||(e={})))[b4]=b6[b4]}}if(e){bK.extend(true,b5,e)}return b5}bK.fn.load=function(b6,b9,ca){if(typeof b6!=="string"&&b1){return b1.apply(this,arguments)}var e,b5,b7,b4=this,b8=b6.indexOf(" ");if(b8>=0){e=b6.slice(b8,b6.length);b6=b6.slice(0,b8)}if(bK.isFunction(b9)){ca=b9;b9=aH}else{if(b9&&typeof b9==="object"){b7="POST"}}if(b4.length>0){bK.ajax({url:b6,type:b7,dataType:"html",data:b9}).done(function(cb){b5=arguments;b4.html(e?bK("").append(bK.parseHTML(cb)).find(e):cb)}).complete(ca&&function(cc,cb){b4.each(ca,b5||[cc.responseText,cb,cc])})}return this};bK.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,b4){bK.fn[b4]=function(b5){return this.on(b4,b5)}});bK.each(["get","post"],function(e,b4){bK[b4]=function(b5,b7,b8,b6){if(bK.isFunction(b7)){b6=b6||b8;b8=b7;b7=aH}return bK.ajax({url:b5,type:b4,dataType:b6,data:b7,success:b8})}});bK.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Z,type:"GET",isLocal:C.test(b2[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":aX,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a3.String,"text html":true,"text json":bK.parseJSON,"text xml":bK.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(b4,e){return e?s(s(b4,bK.ajaxSettings),e):s(bK.ajaxSettings,b4)},ajaxPrefilter:bM(w),ajaxTransport:bM(a8),ajax:function(b8,b5){if(typeof b8==="object"){b5=b8;b8=aH}b5=b5||{};var ch,cj,b9,co,cd,b4,ck,b6,cc=bK.ajaxSetup({},b5),cq=cc.context||cc,cf=cc.context&&(cq.nodeType||cq.jquery)?bK(cq):bK.event,cp=bK.Deferred(),cm=bK.Callbacks("once memory"),ca=cc.statusCode||{},cg={},cn={},b7=0,cb="canceled",ci={readyState:0,getResponseHeader:function(cr){var e;if(b7===2){if(!b6){b6={};while((e=ah.exec(co))){b6[e[1].toLowerCase()]=e[2]}}e=b6[cr.toLowerCase()]}return e==null?null:e},getAllResponseHeaders:function(){return b7===2?co:null},setRequestHeader:function(cr,cs){var e=cr.toLowerCase();if(!b7){cr=cn[e]=cn[e]||cr;cg[cr]=cs}return this},overrideMimeType:function(e){if(!b7){cc.mimeType=e}return this},statusCode:function(cr){var e;if(cr){if(b7<2){for(e in cr){ca[e]=[ca[e],cr[e]]}}else{ci.always(cr[ci.status])}}return this},abort:function(cr){var e=cr||cb;if(ck){ck.abort(e)}ce(0,e);return this}};cp.promise(ci).complete=cm.add;ci.success=ci.done;ci.error=ci.fail;cc.url=((b8||cc.url||Z)+"").replace(aq,"").replace(aI,b2[1]+"//");cc.type=b5.method||b5.type||cc.method||cc.type;cc.dataTypes=bK.trim(cc.dataType||"*").toLowerCase().match(ad)||[""];if(cc.crossDomain==null){ch=aV.exec(cc.url.toLowerCase());cc.crossDomain=!!(ch&&(ch[1]!==b2[1]||ch[2]!==b2[2]||(ch[3]||(ch[1]==="http:"?80:443))!=(b2[3]||(b2[1]==="http:"?80:443))))}if(cc.data&&cc.processData&&typeof cc.data!=="string"){cc.data=bK.param(cc.data,cc.traditional)}n(w,cc,b5,ci);if(b7===2){return ci}b4=cc.global;if(b4&&bK.active++===0){bK.event.trigger("ajaxStart")}cc.type=cc.type.toUpperCase();cc.hasContent=!o.test(cc.type);b9=cc.url;if(!cc.hasContent){if(cc.data){b9=(cc.url+=(aA.test(b9)?"&":"?")+cc.data);delete cc.data}if(cc.cache===false){cc.url=P.test(b9)?b9.replace(P,"$1_="+bP++):b9+(aA.test(b9)?"&":"?")+"_="+bP++}}if(cc.ifModified){if(bK.lastModified[b9]){ci.setRequestHeader("If-Modified-Since",bK.lastModified[b9])}if(bK.etag[b9]){ci.setRequestHeader("If-None-Match",bK.etag[b9])}}if(cc.data&&cc.hasContent&&cc.contentType!==false||b5.contentType){ci.setRequestHeader("Content-Type",cc.contentType)}ci.setRequestHeader("Accept",cc.dataTypes[0]&&cc.accepts[cc.dataTypes[0]]?cc.accepts[cc.dataTypes[0]]+(cc.dataTypes[0]!=="*"?", "+aX+"; q=0.01":""):cc.accepts["*"]);for(cj in cc.headers){ci.setRequestHeader(cj,cc.headers[cj])}if(cc.beforeSend&&(cc.beforeSend.call(cq,ci,cc)===false||b7===2)){return ci.abort()}cb="abort";for(cj in {success:1,error:1,complete:1}){ci[cj](cc[cj])}ck=n(a8,cc,b5,ci);if(!ck){ce(-1,"No Transport")}else{ci.readyState=1;if(b4){cf.trigger("ajaxSend",[ci,cc])}if(cc.async&&cc.timeout>0){cd=setTimeout(function(){ci.abort("timeout")},cc.timeout)}try{b7=1;ck.send(cg,ce)}catch(cl){if(b7<2){ce(-1,cl)}else{throw cl}}}function ce(cv,cr,cw,ct){var e,cz,cx,cu,cy,cs=cr;if(b7===2){return}b7=2;if(cd){clearTimeout(cd)}ck=aH;co=ct||"";ci.readyState=cv>0?4:0;if(cw){cu=g(cc,ci,cw)}if(cv>=200&&cv<300||cv===304){if(cc.ifModified){cy=ci.getResponseHeader("Last-Modified");if(cy){bK.lastModified[b9]=cy}cy=ci.getResponseHeader("etag");if(cy){bK.etag[b9]=cy}}if(cv===204){e=true;cs="nocontent"}else{if(cv===304){e=true;cs="notmodified"}else{e=ag(cc,cu);cs=e.state;cz=e.data;cx=e.error;e=!cx}}}else{cx=cs;if(cv||!cs){cs="error";if(cv<0){cv=0}}}ci.status=cv;ci.statusText=(cr||cs)+"";if(e){cp.resolveWith(cq,[cz,cs,ci])}else{cp.rejectWith(cq,[ci,cs,cx])}ci.statusCode(ca);ca=aH;if(b4){cf.trigger(e?"ajaxSuccess":"ajaxError",[ci,cc,e?cz:cx])}cm.fireWith(cq,[ci,cs]);if(b4){cf.trigger("ajaxComplete",[ci,cc]);if(!(--bK.active)){bK.event.trigger("ajaxStop")}}}return ci},getScript:function(e,b4){return bK.get(e,aH,b4,"script")},getJSON:function(e,b4,b5){return bK.get(e,b4,b5,"json")}});function g(cc,cb,b8){var e,b7,b6,b9,b4=cc.contents,ca=cc.dataTypes,b5=cc.responseFields;for(b9 in b5){if(b9 in b8){cb[b5[b9]]=b8[b9]}}while(ca[0]==="*"){ca.shift();if(b7===aH){b7=cc.mimeType||cb.getResponseHeader("Content-Type")}}if(b7){for(b9 in b4){if(b4[b9]&&b4[b9].test(b7)){ca.unshift(b9);break}}}if(ca[0] in b8){b6=ca[0]}else{for(b9 in b8){if(!ca[0]||cc.converters[b9+" "+ca[0]]){b6=b9;break}if(!e){e=b9}}b6=b6||e}if(b6){if(b6!==ca[0]){ca.unshift(b6)}return b8[b6]}}function ag(ce,b6){var b4,ca,cc,b7,cd={},b8=0,cb=ce.dataTypes.slice(),b5=cb[0];if(ce.dataFilter){b6=ce.dataFilter(b6,ce.dataType)}if(cb[1]){for(cc in ce.converters){cd[cc.toLowerCase()]=ce.converters[cc]}}for(;(ca=cb[++b8]);){if(ca!=="*"){if(b5!=="*"&&b5!==ca){cc=cd[b5+" "+ca]||cd["* "+ca];if(!cc){for(b4 in cd){b7=b4.split(" ");if(b7[1]===ca){cc=cd[b5+" "+b7[0]]||cd["* "+b7[0]];if(cc){if(cc===true){cc=cd[b4]}else{if(cd[b4]!==true){ca=b7[0];cb.splice(b8--,0,ca)}}break}}}}if(cc!==true){if(cc&&ce["throws"]){b6=cc(b6)}else{try{b6=cc(b6)}catch(b9){return{state:"parsererror",error:cc?b9:"No conversion from "+b5+" to "+ca}}}}}b5=ca}}return{state:"success",data:b6}}bK.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){bK.globalEval(e);return e}}});bK.ajaxPrefilter("script",function(e){if(e.cache===aH){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});bK.ajaxTransport("script",function(b5){if(b5.crossDomain){var e,b4=l.head||bK("head")[0]||l.documentElement;return{send:function(b6,b7){e=l.createElement("script");e.async=true;if(b5.scriptCharset){e.charset=b5.scriptCharset}e.src=b5.url;e.onload=e.onreadystatechange=function(b9,b8){if(b8||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(e.parentNode){e.parentNode.removeChild(e)}e=null;if(!b8){b7(200,"success")}}};b4.insertBefore(e,b4.firstChild)},abort:function(){if(e){e.onload(aH,true)}}}}});var br=[],a6=/(=)\?(?=&|$)|\?\?/;bK.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=br.pop()||(bK.expando+"_"+(bP++));this[e]=true;return e}});bK.ajaxPrefilter("json jsonp",function(b6,e,b7){var b9,b4,b5,b8=b6.jsonp!==false&&(a6.test(b6.url)?"url":typeof b6.data==="string"&&!(b6.contentType||"").indexOf("application/x-www-form-urlencoded")&&a6.test(b6.data)&&"data");if(b8||b6.dataTypes[0]==="jsonp"){b9=b6.jsonpCallback=bK.isFunction(b6.jsonpCallback)?b6.jsonpCallback():b6.jsonpCallback;if(b8){b6[b8]=b6[b8].replace(a6,"$1"+b9)}else{if(b6.jsonp!==false){b6.url+=(aA.test(b6.url)?"&":"?")+b6.jsonp+"="+b9}}b6.converters["script json"]=function(){if(!b5){bK.error(b9+" was not called")}return b5[0]};b6.dataTypes[0]="json";b4=a3[b9];a3[b9]=function(){b5=arguments};b7.always(function(){a3[b9]=b4;if(b6[b9]){b6.jsonpCallback=e.jsonpCallback;br.push(b9)}if(b5&&bK.isFunction(b4)){b4(b5[0])}b5=b4=aH});return"script"}});var ai,ay,az=0,aQ=a3.ActiveXObject&&function(){var e;for(e in ai){ai[e](aH,true)}};function bE(){try{return new a3.XMLHttpRequest()}catch(b4){}}function be(){try{return new a3.ActiveXObject("Microsoft.XMLHTTP")}catch(b4){}}bK.ajaxSettings.xhr=a3.ActiveXObject?function(){return !this.isLocal&&bE()||be()}:bE;ay=bK.ajaxSettings.xhr();bK.support.cors=!!ay&&("withCredentials" in ay);ay=bK.support.ajax=!!ay;if(ay){bK.ajaxTransport(function(e){if(!e.crossDomain||bK.support.cors){var b4;return{send:function(ca,b5){var b8,b6,b9=e.xhr();if(e.username){b9.open(e.type,e.url,e.async,e.username,e.password)}else{b9.open(e.type,e.url,e.async)}if(e.xhrFields){for(b6 in e.xhrFields){b9[b6]=e.xhrFields[b6]}}if(e.mimeType&&b9.overrideMimeType){b9.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!ca["X-Requested-With"]){ca["X-Requested-With"]="XMLHttpRequest"}try{for(b6 in ca){b9.setRequestHeader(b6,ca[b6])}}catch(b7){}b9.send((e.hasContent&&e.data)||null);b4=function(cd,cc){var cb,ce,ch,cf;try{if(b4&&(cc||b9.readyState===4)){b4=aH;if(b8){b9.onreadystatechange=bK.noop;if(aQ){delete ai[b8]}}if(cc){if(b9.readyState!==4){b9.abort()}}else{cf={};cb=b9.status;ce=b9.getAllResponseHeaders();if(typeof b9.responseText==="string"){cf.text=b9.responseText}try{ch=b9.statusText}catch(cg){ch=""}if(!cb&&e.isLocal&&!e.crossDomain){cb=cf.text?200:404}else{if(cb===1223){cb=204}}}}}catch(ci){if(!cc){b5(-1,ci)}}if(cf){b5(cb,ch,cf,ce)}};if(!e.async){b4()}else{if(b9.readyState===4){setTimeout(b4)}else{b8=++az;if(aQ){if(!ai){ai={};bK(a3).unload(aQ)}ai[b8]=b4}b9.onreadystatechange=b4}}},abort:function(){if(b4){b4(aH,true)}}}}})}var L,ae,bS=/^(?:toggle|show|hide)$/,bL=new RegExp("^(?:([+-])=|)("+bB+")([a-z%]*)$","i"),bR=/queueHooks$/,aC=[h],a1={"*":[function(e,ca){var b6,cb,cc=this.createTween(e,ca),b7=bL.exec(ca),b8=cc.cur(),b4=+b8||0,b5=1,b9=20;if(b7){b6=+b7[2];cb=b7[3]||(bK.cssNumber[e]?"":"px");if(cb!=="px"&&b4){b4=bK.css(cc.elem,e,true)||b6||1;do{b5=b5||".5";b4=b4/b5;bK.style(cc.elem,e,b4+cb)}while(b5!==(b5=cc.cur()/b8)&&b5!==1&&--b9)}cc.unit=cb;cc.start=b4;cc.end=b7[1]?b4+(b7[1]+1)*b6:b6}return cc}]};function bn(){setTimeout(function(){L=aH});return(L=bK.now())}function bf(b4,e){bK.each(e,function(b9,b7){var b8=(a1[b9]||[]).concat(a1["*"]),b5=0,b6=b8.length;for(;b5
-1,cc={},cb={},b5,b7;if(ce){cb=b8.position();b5=cb.top;b7=cb.left}else{b5=parseFloat(e)||0;b7=parseFloat(cd)||0}if(bK.isFunction(cf)){cf=cf.call(b6,b9,b4)}if(cf.top!=null){cc.top=(cf.top-b4.top)+b5}if(cf.left!=null){cc.left=(cf.left-b4.left)+b7}if("using" in cf){cf.using.call(b6,cc)}else{b8.css(cc)}}};bK.fn.extend({position:function(){if(!this[0]){return}var b5,b6,e={top:0,left:0},b4=this[0];if(bK.css(b4,"position")==="fixed"){b6=b4.getBoundingClientRect()}else{b5=this.offsetParent();b6=this.offset();if(!bK.nodeName(b5[0],"html")){e=b5.offset()}e.top+=bK.css(b5[0],"borderTopWidth",true);e.left+=bK.css(b5[0],"borderLeftWidth",true)}return{top:b6.top-e.top-bK.css(b4,"marginTop",true),left:b6.left-e.left-bK.css(b4,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||l.documentElement;while(e&&(!bK.nodeName(e,"html")&&bK.css(e,"position")==="static")){e=e.offsetParent}return e||l.documentElement})}});bK.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b5,b4){var e=/Y/.test(b4);bK.fn[b5]=function(b6){return bK.access(this,function(b7,ca,b9){var b8=bq(b7);if(b9===aH){return b8?(b4 in b8)?b8[b4]:b8.document.documentElement[ca]:b7[ca]}if(b8){b8.scrollTo(!e?b9:bK(b8).scrollLeft(),e?b9:bK(b8).scrollTop())}else{b7[ca]=b9}},b5,b6,arguments.length,null)}});function bq(e){return bK.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}bK.each({Height:"height",Width:"width"},function(e,b4){bK.each({padding:"inner"+e,content:b4,"":"outer"+e},function(b5,b6){bK.fn[b6]=function(ca,b9){var b8=arguments.length&&(b5||typeof ca!=="boolean"),b7=b5||(ca===true||b9===true?"margin":"border");return bK.access(this,function(cc,cb,cd){var ce;if(bK.isWindow(cc)){return cc.document.documentElement["client"+e]}if(cc.nodeType===9){ce=cc.documentElement;return Math.max(cc.body["scroll"+e],ce["scroll"+e],cc.body["offset"+e],ce["offset"+e],ce["client"+e])}return cd===aH?bK.css(cc,cb,b7):bK.style(cc,cb,cd,b7)},b4,b8?ca:aH,b8,null)}})});a3.jQuery=a3.$=bK;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return bK})}})(window);!function(a){a(function(){a.support.transition=(function(){var b=(function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in d){if(e.style[c]!==undefined){return d[c]}}}());return b&&{end:b}})()})}(window.jQuery);!function(d){var c='[data-dismiss="alert"]',b=function(e){d(e).on("click",c,this.close)};b.prototype.close=function(j){var i=d(this),g=i.attr("data-target"),h;if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}h=d(g);j&&j.preventDefault();h.length||(h=i.hasClass("alert")?i:i.parent());h.trigger(j=d.Event("close"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.trigger("closed").remove()}d.support.transition&&h.hasClass("fade")?h.on(d.support.transition.end,f):f()};var a=d.fn.alert;d.fn.alert=function(e){return this.each(function(){var g=d(this),f=g.data("alert");if(!f){g.data("alert",(f=new b(this)))}if(typeof e=="string"){f[e].call(g)}})};d.fn.alert.Constructor=b;d.fn.alert.noConflict=function(){d.fn.alert=a;return this};d(document).on("click.alert.data-api",c,b.prototype.close)}(window.jQuery);!function(c){var b=function(e,d){this.$element=c(e);this.options=c.extend({},c.fn.button.defaults,d)};b.prototype.setState=function(g){var i="disabled",e=this.$element,f=e.data(),h=e.is("input")?"val":"html";g=g+"Text";f.resetText||e.data("resetText",e[h]());e[h](f[g]||this.options[g]);setTimeout(function(){g=="loadingText"?e.addClass(i).attr(i,i):e.removeClass(i).removeAttr(i)},0)};b.prototype.toggle=function(){var d=this.$element.closest('[data-toggle="buttons-radio"]');d&&d.find(".active").removeClass("active");this.$element.toggleClass("active")};var a=c.fn.button;c.fn.button=function(d){return this.each(function(){var g=c(this),f=g.data("button"),e=typeof d=="object"&&d;if(!f){g.data("button",(f=new b(this,e)))}if(d=="toggle"){f.toggle()}else{if(d){f.setState(d)}}})};c.fn.button.defaults={loadingText:"loading..."};c.fn.button.Constructor=b;c.fn.button.noConflict=function(){c.fn.button=a;return this};c(document).on("click.button.data-api","[data-toggle^=button]",function(f){var d=c(f.target);if(!d.hasClass("btn")){d=d.closest(".btn")}d.button("toggle")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=d;this.options.pause=="hover"&&this.$element.on("mouseenter",b.proxy(this.pause,this)).on("mouseleave",b.proxy(this.cycle,this))};c.prototype={cycle:function(d){if(!d){this.paused=false}this.options.interval&&!this.paused&&(this.interval=setInterval(b.proxy(this.next,this),this.options.interval));return this},to:function(h){var d=this.$element.find(".item.active"),e=d.parent().children(),f=e.index(d),g=this;if(h>(e.length-1)||h<0){return}if(this.sliding){return this.$element.one("slid",function(){g.to(h)})}if(f==h){return this.pause().cycle()}return this.slide(h>f?"next":"prev",b(e[h]))},pause:function(d){if(!d){this.paused=true}if(this.$element.find(".next, .prev").length&&b.support.transition.end){this.$element.trigger(b.support.transition.end);this.cycle()}clearInterval(this.interval);this.interval=null;return this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(k,f){var m=this.$element.find(".item.active"),d=f||m[k](),j=this.interval,l=k=="next"?"left":"right",g=k=="next"?"first":"last",h=this,i;this.sliding=true;j&&this.pause();d=d.length?d:this.$element.find(".item")[g]();i=b.Event("slide",{relatedTarget:d[0]});if(d.hasClass("active")){return}if(b.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(i);if(i.isDefaultPrevented()){return}d.addClass(k);d[0].offsetWidth;m.addClass(l);d.addClass(l);this.$element.one(b.support.transition.end,function(){d.removeClass([k,l].join(" ")).addClass("active");m.removeClass(["active",l].join(" "));h.sliding=false;setTimeout(function(){h.$element.trigger("slid")},0)})}else{this.$element.trigger(i);if(i.isDefaultPrevented()){return}m.removeClass("active");d.addClass("active");this.sliding=false;this.$element.trigger("slid")}j&&this.cycle();return this}};var a=b.fn.carousel;b.fn.carousel=function(d){return this.each(function(){var h=b(this),g=h.data("carousel"),e=b.extend({},b.fn.carousel.defaults,typeof d=="object"&&d),f=typeof d=="string"?d:e.slide;if(!g){h.data("carousel",(g=new c(this,e)))}if(typeof d=="number"){g.to(d)}else{if(f){g[f]()}else{if(e.interval){g.cycle()}}}})};b.fn.carousel.defaults={interval:5000,pause:"hover"};b.fn.carousel.Constructor=c;b.fn.carousel.noConflict=function(){b.fn.carousel=a;return this};b(document).on("click.carousel.data-api","[data-slide]",function(i){var h=b(this),f,d=b(h.attr("data-target")||(f=h.attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")),g=b.extend({},d.data(),h.data());d.carousel(g);i.preventDefault()})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.collapse.defaults,d);if(this.options.parent){this.$parent=b(this.options.parent)}this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var d=this.$element.hasClass("width");return d?"width":"height"},show:function(){var g,d,f,e;if(this.transitioning){return}g=this.dimension();d=b.camelCase(["scroll",g].join("-"));f=this.$parent&&this.$parent.find("> .accordion-group > .in");if(f&&f.length){e=f.data("collapse");if(e&&e.transitioning){return}f.collapse("hide");e||f.data("collapse",null)}this.$element[g](0);this.transition("addClass",b.Event("show"),"shown");b.support.transition&&this.$element[g](this.$element[0][d])},hide:function(){var d;if(this.transitioning){return}d=this.dimension();this.reset(this.$element[d]());this.transition("removeClass",b.Event("hide"),"hidden");this.$element[d](0)},reset:function(d){var e=this.dimension();this.$element.removeClass("collapse")[e](d||"auto")[0].offsetWidth;this.$element[d!==null?"addClass":"removeClass"]("collapse");return this},transition:function(h,e,f){var g=this,d=function(){if(e.type=="show"){g.reset()}g.transitioning=0;g.$element.trigger(f)};this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.transitioning=1;this.$element[h]("in");b.support.transition&&this.$element.hasClass("collapse")?this.$element.one(b.support.transition.end,d):d()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var a=b.fn.collapse;b.fn.collapse=function(d){return this.each(function(){var g=b(this),f=g.data("collapse"),e=typeof d=="object"&&d;if(!f){g.data("collapse",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.collapse.defaults={toggle:true};b.fn.collapse.Constructor=c;b.fn.collapse.noConflict=function(){b.fn.collapse=a;return this};b(document).on("click.collapse.data-api","[data-toggle=collapse]",function(i){var h=b(this),d,g=h.attr("data-target")||i.preventDefault()||(d=h.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=b(g).data("collapse")?"toggle":h.data();h[b(g).hasClass("in")?"addClass":"removeClass"]("collapsed");b(g).collapse(f)})}(window.jQuery);!function(f){var b="[data-toggle=dropdown]",a=function(h){var g=f(h).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){g.parent().removeClass("open")})};a.prototype={constructor:a,toggle:function(j){var i=f(this),h,g;if(i.is(".disabled, :disabled")){return}h=e(i);g=h.hasClass("open");d();if(!g){h.toggleClass("open")}i.focus();return false},keydown:function(l){var k,m,g,j,i,h;if(!/(38|40|27)/.test(l.keyCode)){return}k=f(this);l.preventDefault();l.stopPropagation();if(k.is(".disabled, :disabled")){return}j=e(k);i=j.hasClass("open");if(!i||(i&&l.keyCode==27)){return k.click()}m=f("[role=menu] li:not(.divider):visible a",j);if(!m.length){return}h=m.index(m.filter(":focus"));if(l.keyCode==38&&h>0){h--}if(l.keyCode==40&&h ').appendTo(document.body);this.$backdrop.click(this.options.backdrop=="static"?c.proxy(this.$element[0].focus,this.$element[0]):c.proxy(this.hide,this));if(d){this.$backdrop[0].offsetWidth}this.$backdrop.addClass("in");d?this.$backdrop.one(c.support.transition.end,g):g()}else{if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");c.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(c.support.transition.end,c.proxy(this.removeBackdrop,this)):this.removeBackdrop()}else{if(g){g()}}}}};var a=c.fn.modal;c.fn.modal=function(d){return this.each(function(){var g=c(this),f=g.data("modal"),e=c.extend({},c.fn.modal.defaults,g.data(),typeof d=="object"&&d);if(!f){g.data("modal",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}else{if(e.show){f.show()}}})};c.fn.modal.defaults={backdrop:true,keyboard:true,show:true};c.fn.modal.Constructor=b;c.fn.modal.noConflict=function(){c.fn.modal=a;return this};c(document).on("click.modal.data-api",'[data-toggle="modal"]',function(i){var h=c(this),f=h.attr("href"),d=c(h.attr("data-target")||(f&&f.replace(/.*(?=#[^\s]+$)/,""))),g=d.data("modal")?"toggle":c.extend({remote:!/#/.test(f)&&f},d.data(),h.data());i.preventDefault();d.modal(g).one("hide",function(){h.focus()})})}(window.jQuery);!function(c){var b=function(e,d){this.init("tooltip",e,d)};b.prototype={constructor:b,init:function(g,f,e){var h,d;this.type=g;this.$element=c(f);this.options=this.getOptions(e);this.enabled=true;if(this.options.trigger=="click"){this.$element.on("click."+this.type,this.options.selector,c.proxy(this.toggle,this))}else{if(this.options.trigger!="manual"){h=this.options.trigger=="hover"?"mouseenter":"focus";d=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,c.proxy(this.enter,this));this.$element.on(d+"."+this.type,this.options.selector,c.proxy(this.leave,this))}}this.options.selector?(this._options=c.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()},getOptions:function(d){d=c.extend({},c.fn[this.type].defaults,d,this.$element.data());if(d.delay&&typeof d.delay=="number"){d.delay={show:d.delay,hide:d.delay}}return d},enter:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(!d.options.delay||!d.options.delay.show){return d.show()}clearTimeout(this.timeout);d.hoverState="in";this.timeout=setTimeout(function(){if(d.hoverState=="in"){d.show()}},d.options.delay.show)},leave:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);if(this.timeout){clearTimeout(this.timeout)}if(!d.options.delay||!d.options.delay.hide){return d.hide()}d.hoverState="out";this.timeout=setTimeout(function(){if(d.hoverState=="out"){d.hide()}},d.options.delay.hide)},show:function(){var h,d,j,f,i,e,g;if(this.hasContent()&&this.enabled){h=this.tip();this.setContent();if(this.options.animation){h.addClass("fade")}e=typeof this.options.placement=="function"?this.options.placement.call(this,h[0],this.$element[0]):this.options.placement;d=/in/.test(e);h.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element);j=this.getPosition(d);f=h[0].offsetWidth;i=h[0].offsetHeight;switch(d?e.split(" ")[1]:e){case"bottom":g={top:j.top+j.height,left:j.left+j.width/2-f/2};break;case"top":g={top:j.top-i,left:j.left+j.width/2-f/2};break;case"left":g={top:j.top+j.height/2-i/2,left:j.left-f};break;case"right":g={top:j.top+j.height/2-i/2,left:j.left+j.width};break}h.offset(g).addClass(e).addClass("in")}},setContent:function(){var e=this.tip(),d=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](d);e.removeClass("fade in top bottom left right")},hide:function(){var d=this,e=this.tip();e.removeClass("in");function f(){var g=setTimeout(function(){e.off(c.support.transition.end).detach()},500);e.one(c.support.transition.end,function(){clearTimeout(g);e.detach()})}c.support.transition&&this.$tip.hasClass("fade")?f():e.detach();return this},fixTitle:function(){var d=this.$element;if(d.attr("title")||typeof(d.attr("data-original-title"))!="string"){d.attr("data-original-title",d.attr("title")||"").removeAttr("title")}},hasContent:function(){return this.getTitle()},getPosition:function(d){return c.extend({},(d?{top:0,left:0}:this.$element.offset()),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var f,d=this.$element,e=this.options;f=d.attr("data-original-title")||(typeof e.title=="function"?e.title.call(d[0]):e.title);return f},tip:function(){return this.$tip=this.$tip||c(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=true},disable:function(){this.enabled=false},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(f){var d=c(f.currentTarget)[this.type](this._options).data(this.type);d[d.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var a=c.fn.tooltip;c.fn.tooltip=function(d){return this.each(function(){var g=c(this),f=g.data("tooltip"),e=typeof d=="object"&&d;if(!f){g.data("tooltip",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.tooltip.Constructor=b;c.fn.tooltip.defaults={animation:true,placement:"top",selector:false,template:'',trigger:"hover",title:"",delay:0,html:false};c.fn.tooltip.noConflict=function(){c.fn.tooltip=a;return this}}(window.jQuery);!function(c){var b=function(e,d){this.init("popover",e,d)};b.prototype=c.extend({},c.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var f=this.tip(),e=this.getTitle(),d=this.getContent();f.find(".popover-title")[this.options.html?"html":"text"](e);f.find(".popover-content")[this.options.html?"html":"text"](d);f.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,d=this.$element,f=this.options;e=d.attr("data-content")||(typeof f.content=="function"?f.content.call(d[0]):f.content);return e},tip:function(){if(!this.$tip){this.$tip=c(this.options.template)}return this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var a=c.fn.popover;c.fn.popover=function(d){return this.each(function(){var g=c(this),f=g.data("popover"),e=typeof d=="object"&&d;if(!f){g.data("popover",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.popover.Constructor=b;c.fn.popover.defaults=c.extend({},c.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''});c.fn.popover.noConflict=function(){c.fn.popover=a;return this}}(window.jQuery);!function(c){function b(g,f){var h=c.proxy(this.process,this),d=c(g).is("body")?c(window):c(g),e;this.options=c.extend({},c.fn.scrollspy.defaults,f);this.$scrollElement=d.on("scroll.scroll-spy.data-api",h);this.selector=(this.options.target||((e=c(g).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,""))||"")+" .nav li > a";this.$body=c("body");this.refresh();this.process()}b.prototype={constructor:b,refresh:function(){var d=this,e;this.offsets=c([]);this.targets=c([]);e=this.$body.find(this.selector).map(function(){var g=c(this),f=g.data("target")||g.attr("href"),h=/^#\w/.test(f)&&c(f);return(h&&h.length&&[[h.position().top+d.$scrollElement.scrollTop(),f]])||null}).sort(function(g,f){return g[0]-f[0]}).each(function(){d.offsets.push(this[0]);d.targets.push(this[1])})},process:function(){var j=this.$scrollElement.scrollTop()+this.options.offset,f=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,h=f-this.$scrollElement.height(),g=this.offsets,d=this.targets,k=this.activeTarget,e;if(j>=h){return k!=(e=d.last()[0])&&this.activate(e)}for(e=g.length;e--;){k!=d[e]&&j>=g[e]&&(!g[e+1]||j<=g[e+1])&&this.activate(d[e])}},activate:function(f){var e,d;this.activeTarget=f;c(this.selector).parent(".active").removeClass("active");d=this.selector+'[data-target="'+f+'"],'+this.selector+'[href="'+f+'"]';e=c(d).parent("li").addClass("active");if(e.parent(".dropdown-menu").length){e=e.closest("li.dropdown").addClass("active")}e.trigger("activate")}};var a=c.fn.scrollspy;c.fn.scrollspy=function(d){return this.each(function(){var g=c(this),f=g.data("scrollspy"),e=typeof d=="object"&&d;if(!f){g.data("scrollspy",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.scrollspy.Constructor=b;c.fn.scrollspy.defaults={offset:10};c.fn.scrollspy.noConflict=function(){c.fn.scrollspy=a;return this};c(window).on("load",function(){c('[data-spy="scroll"]').each(function(){var d=c(this);d.scrollspy(d.data())})})}(window.jQuery);!function(c){var b=function(d){this.element=c(d)};b.prototype={constructor:b,show:function(){var j=this.element,g=j.closest("ul:not(.dropdown-menu)"),f=j.attr("data-target"),h,d,i;if(!f){f=j.attr("href");f=f&&f.replace(/.*(?=#[^\s]*$)/,"")}if(j.parent("li").hasClass("active")){return}h=g.find(".active:last a")[0];i=c.Event("show",{relatedTarget:h});j.trigger(i);if(i.isDefaultPrevented()){return}d=c(f);this.activate(j.parent("li"),g);this.activate(d,d.parent(),function(){j.trigger({type:"shown",relatedTarget:h})})},activate:function(f,e,i){var d=e.find("> .active"),h=i&&c.support.transition&&d.hasClass("fade");function g(){d.removeClass("active").find("> .dropdown-menu > .active").removeClass("active");f.addClass("active");if(h){f[0].offsetWidth;f.addClass("in")}else{f.removeClass("fade")}if(f.parent(".dropdown-menu")){f.closest("li.dropdown").addClass("active")}i&&i()}h?d.one(c.support.transition.end,g):g();d.removeClass("in")}};var a=c.fn.tab;c.fn.tab=function(d){return this.each(function(){var f=c(this),e=f.data("tab");if(!e){f.data("tab",(e=new b(this)))}if(typeof d=="string"){e[d]()}})};c.fn.tab.Constructor=b;c.fn.tab.noConflict=function(){c.fn.tab=a;return this};c(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(d){d.preventDefault();c(this).tab("show")})}(window.jQuery);!function(b){var c=function(e,d){this.$element=b(e);this.options=b.extend({},b.fn.typeahead.defaults,d);this.matcher=this.options.matcher||this.matcher;this.sorter=this.options.sorter||this.sorter;this.highlighter=this.options.highlighter||this.highlighter;this.updater=this.options.updater||this.updater;this.source=this.options.source;this.$menu=b(this.options.menu);this.shown=false;this.listen()};c.prototype={constructor:c,select:function(){var d=this.$menu.find(".active").attr("data-value");this.$element.val(this.updater(d)).change();return this.hide()},updater:function(d){return d},show:function(){var d=b.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});this.$menu.insertAfter(this.$element).css({top:d.top+d.height,left:d.left}).show();this.shown=true;return this},hide:function(){this.$menu.hide();this.shown=false;return this},lookup:function(e){var d;this.query=this.$element.val();if(!this.query||this.query.length"+g+""})},render:function(d){var e=this;d=b(d).map(function(f,g){f=b(e.options.item).attr("data-value",g);f.find("a").html(e.highlighter(g));return f[0]});d.first().addClass("active");this.$menu.html(d);return this},next:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.next();if(!d.length){d=b(this.$menu.find("li")[0])}d.addClass("active")},prev:function(e){var f=this.$menu.find(".active").removeClass("active"),d=f.prev();if(!d.length){d=this.$menu.find("li").last()}d.addClass("active")},listen:function(){this.$element.on("blur",b.proxy(this.blur,this)).on("keypress",b.proxy(this.keypress,this)).on("keyup",b.proxy(this.keyup,this));if(this.eventSupported("keydown")){this.$element.on("keydown",b.proxy(this.keydown,this))}this.$menu.on("click",b.proxy(this.click,this)).on("mouseenter","li",b.proxy(this.mouseenter,this))},eventSupported:function(d){var e=d in this.$element;if(!e){this.$element.setAttribute(d,"return;");e=typeof this.$element[d]==="function"}return e},move:function(d){if(!this.shown){return}switch(d.keyCode){case 9:case 13:case 27:d.preventDefault();break;case 38:d.preventDefault();this.prev();break;case 40:d.preventDefault();this.next();break}d.stopPropagation()},keydown:function(d){this.suppressKeyPressRepeat=~b.inArray(d.keyCode,[40,38,9,13,27]);this.move(d)},keypress:function(d){if(this.suppressKeyPressRepeat){return}this.move(d)},keyup:function(d){switch(d.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown){return}this.select();break;case 27:if(!this.shown){return}this.hide();break;default:this.lookup()}d.stopPropagation();d.preventDefault()},blur:function(f){var d=this;setTimeout(function(){d.hide()},150)},click:function(d){d.stopPropagation();d.preventDefault();this.select()},mouseenter:function(d){this.$menu.find(".active").removeClass("active");b(d.currentTarget).addClass("active")}};var a=b.fn.typeahead;b.fn.typeahead=function(d){return this.each(function(){var g=b(this),f=g.data("typeahead"),e=typeof d=="object"&&d;if(!f){g.data("typeahead",(f=new c(this,e)))}if(typeof d=="string"){f[d]()}})};b.fn.typeahead.defaults={source:[],items:8,menu:'',item:' ',minLength:1};b.fn.typeahead.Constructor=c;b.fn.typeahead.noConflict=function(){b.fn.typeahead=a;return this};b(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(f){var d=b(this);if(d.data("typeahead")){return}f.preventDefault();d.typeahead(d.data())})}(window.jQuery);!function(c){var b=function(e,d){this.options=c.extend({},c.fn.affix.defaults,d);this.$window=c(window).on("scroll.affix.data-api",c.proxy(this.checkPosition,this)).on("click.affix.data-api",c.proxy(function(){setTimeout(c.proxy(this.checkPosition,this),1)},this));this.$element=c(e);this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible")){return}var h=c(document).height(),j=this.$window.scrollTop(),d=this.$element.offset(),k=this.options.offset,f=k.bottom,g=k.top,i="affix affix-top affix-bottom",e;if(typeof k!="object"){f=g=k}if(typeof g=="function"){g=k.top()}if(typeof f=="function"){f=k.bottom()}e=this.unpin!=null&&(j+this.unpin<=d.top)?false:f!=null&&(d.top+this.$element.height()>=h-f)?"bottom":g!=null&&j<=g?"top":false;if(this.affixed===e){return}this.affixed=e;this.unpin=e=="bottom"?d.top-j:null;this.$element.removeClass(i).addClass("affix"+(e?"-"+e:""))};var a=c.fn.affix;c.fn.affix=function(d){return this.each(function(){var g=c(this),f=g.data("affix"),e=typeof d=="object"&&d;if(!f){g.data("affix",(f=new b(this,e)))}if(typeof d=="string"){f[d]()}})};c.fn.affix.Constructor=b;c.fn.affix.defaults={offset:0};c.fn.affix.noConflict=function(){c.fn.affix=a;return this};c(window).on("load",function(){c('[data-spy="affix"]').each(function(){var e=c(this),d=e.data();d.offset=d.offset||{};d.offsetBottom&&(d.offset.bottom=d.offsetBottom);d.offsetTop&&(d.offset.top=d.offsetTop);e.affix(d)})})}(window.jQuery);var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function d(F){function w(J){var K=J.charCodeAt(0);if(K!==92){return K}var I=J.charAt(1);return(K=k[I])?K:"0"<=I&&I<="7"?parseInt(J.substring(1),8):I==="u"||I==="x"?parseInt(J.substring(2),16):J.charCodeAt(1)}function C(I){if(I<32){return(I<16?"\\x0":"\\x")+I.toString(16)}I=String.fromCharCode(I);if(I==="\\"||I==="-"||I==="["||I==="]"){I="\\"+I}return I}function A(J){for(var M=J.substring(1,J.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),J=[],I=[],O=M[0]==="^",P=O?1:0,L=M.length;P122||(N<65||K>90||I.push([Math.max(65,K)|32,Math.min(N,90)|32]),N<97||K>122||I.push([Math.max(97,K)&-33,Math.min(N,122)&-33]))}}I.sort(function(Q,R){return Q[0]-R[0]||R[1]-Q[1]});M=[];K=[NaN,NaN];for(P=0;PL[0]&&(L[1]+1>L[0]&&I.push("-"),I.push(C(L[1])))}I.push("]");return I.join("")}function E(J){for(var M=J.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),I=M.length,N=[],O=0,L=0;O=2&&J==="["?M[O]=A(K):J!=="\\"&&(M[O]=K.replace(/[A-Za-z]/g,function(P){P=P.charCodeAt(0);return"["+String.fromCharCode(P&-33,P|32)+"]"}))}}return M.join("")}for(var G=0,H=!1,x=!1,u=0,D=F.length;u=5&&"lang-"===O.substring(0,5))&&!(D&&typeof D[1]==="string")){M=!1,O="src"}M||(B[K]=O)}I=L;L+=K.length;if(M){M=D[1];var H=K.indexOf(M),G=H+M.length;D[2]&&(G=K.length-D[2].length,H=G-M.length);O=O.substring(5);t(F+I,K.substring(0,H),x,C);t(F+I+H,M,s(O,M),C);t(F+I+G,K.substring(G),x,C)}else{C.push(F+I,O)}}P.e=C}var w={},A;(function(){for(var G=u.concat(k),B=[],F={},H=0,E=G.length;H=0;){w[I.charAt(C)]=D}}D=D[1];I=""+D;F.hasOwnProperty(I)||(B.push(D),F[I]=q)}B.push(/[\S\s]/);A=d(B)})();var v=k.length;return x}function o(u){var k=[],w=[];u.tripleQuotedStrings?k.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):u.multiLineStrings?k.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):k.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);u.verbatimStrings&&w.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var v=u.hashComments;v&&(u.cStyleComments?(v>1?k.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):k.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),w.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):k.push(["com",/^#[^\n\r]*/,q,"#"]));u.cStyleComments&&(w.push(["com",/^\/\/[^\n\r]*/,q]),w.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));u.regexLiterals&&w.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(v=u.types)&&w.push(["typ",v]);u=(""+u.keywords).replace(/^ | $/g,"");u.length&&w.push(["kwd",RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),q]);k.push(["pln",/^\s+/,q," \r\n\t\xa0"]);w.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return h(k,w)}function r(H,x){function E(K){switch(K.nodeType){case 1:if(B.test(K.className)){break}if("BR"===K.nodeName){C(K),K.parentNode&&K.parentNode.removeChild(K)}else{for(K=K.firstChild;K;K=K.nextSibling){E(K)}}break;case 3:case 4:if(v){var k=K.nodeValue,L=k.match(I);if(L){var M=k.substring(0,L.index);K.nodeValue=M;(k=k.substring(L.index+L[0].length))&&K.parentNode.insertBefore(J.createTextNode(k),K.nextSibling);C(K);M||K.parentNode.removeChild(K)}}}}function C(K){function k(M,R){var Q=R?M.cloneNode(!1):M,P=M.parentNode;if(P){var P=k(P,1),O=M.nextSibling;P.appendChild(Q);for(var N=O;N;N=O){O=N.nextSibling,P.appendChild(N)}}return Q}for(;!K.nextSibling;){if(K=K.parentNode,!K){return}}for(var K=k(K.nextSibling,0),L;(L=K.parentNode)&&L.nodeType===1;){K=L}F.push(K)}var B=/(?:^|\s)nocode(?:\s|$)/,I=/\r\n?|\n/,J=H.ownerDocument,A;H.currentStyle?A=H.currentStyle.whiteSpace:window.getComputedStyle&&(A=J.defaultView.getComputedStyle(H,q).getPropertyValue("white-space"));var v=A&&"pre"===A.substring(0,3);for(A=J.createElement("LI");H.firstChild;){A.appendChild(H.firstChild)}for(var F=[A],D=0;D=0;){var v=k[w];y.hasOwnProperty(v)?window.console&&console.warn("cannot override language handler %s",v):y[v]=u}}function s(u,k){if(!u||!y.hasOwnProperty(u)){u=/^\s*=J&&(Q+=2);T>=V&&(X+=2)}}catch(C){"console" in window&&console.log(C&&C.stack?C.stack:C)}}var m=["break,continue,do,else,for,if,return,while"],j=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[j,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],l=[j,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],i=[l,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],j=[j,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],g=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],f=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,b=/\S/,a=o({keywords:[n,i,j,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+g,f,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};z(a,["default-code"]);z(h([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GCloud Java Software License
+
+
Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/modules.html b/site/0.0.7/modules.html
new file mode 100644
index 000000000000..c629b05e7ecc
--- /dev/null
+++ b/site/0.0.7/modules.html
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Modules
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Modules
+
This project has declared the following modules:
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/project-info.html b/site/0.0.7/project-info.html
new file mode 100644
index 000000000000..6259a4b4e2aa
--- /dev/null
+++ b/site/0.0.7/project-info.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+Java idiomatic client for Google Cloud Platform services.
+
+Dependency Information
+This document describes how to to include this project as a dependency using various dependency management tools.
+
+Dependency Convergence
+This document presents the convergence of dependency versions across the entire project, and its sub modules.
+
+Project Team
+This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+
+Continuous Integration
+This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
+
+Issue Tracking
+This document provides information on the issue management system used in this project.
+
+Project License
+This document lists the project license(s).
+
+Source Repository
+This document lists ways to access the online source repository.
+
+Distribution Management
+This document provides informations on the distribution management of this project.
+
+Project Summary
+This document lists other related information of this project
+
+Project Modules
+This document lists the modules (sub-projects) of this project.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/project-reports.html b/site/0.0.7/project-reports.html
new file mode 100644
index 000000000000..c1e1e86e005b
--- /dev/null
+++ b/site/0.0.7/project-reports.html
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Generated Reports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Generated Reports
+
This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/project-summary.html b/site/0.0.7/project-summary.html
new file mode 100644
index 000000000000..29917d4f5e74
--- /dev/null
+++ b/site/0.0.7/project-summary.html
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
Project Organization
+
+
+Field
+Value
+
+Name
+Google
+
+URL
+-
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+com.google.gcloud
+
+ArtifactId
+gcloud-java-pom
+
+Version
+0.0.7-SNAPSHOT
+
+Type
+pom
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/source-repository.html b/site/0.0.7/source-repository.html
new file mode 100644
index 000000000000..0d9d76a7fbb9
--- /dev/null
+++ b/site/0.0.7/source-repository.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Source Repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Web Browser Access
+
The following is a link to a browsable version of the source repository:
+
+
+
Anonymous Access
+
The source can be checked out anonymously from Git with this command (See http://git-scm.com/docs/git-clone ):
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Developer Access
+
Only project developers can access the Git tree via this method (See http://git-scm.com/docs/git-clone ).
+
+
$ git clone git@github.com:GoogleCloudPlatform/gcloud-java.git
+
+
Access from Behind a Firewall
+
Refer to the documentation of the SCM used for more information about access behind a firewall.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/surefire-report.html b/site/0.0.7/surefire-report.html
new file mode 100644
index 000000000000..4b19c84c9817
--- /dev/null
+++ b/site/0.0.7/surefire-report.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Surefire Report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Summary
+
+
+Tests
+Errors
+Failures
+Skipped
+Success Rate
+Time
+
+0
+0
+0
+0
+0%
+0
+
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+
diff --git a/site/0.0.7/team-list.html b/site/0.0.7/team-list.html
new file mode 100644
index 000000000000..363d7394221b
--- /dev/null
+++ b/site/0.0.7/team-list.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+ GCloud Java – Project Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Last Published: 2015-08-17
+ |
+
+ Version: 0.0.7-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The Team
+
A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+
+
Members
+
The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+
+Image
+Id
+Name
+Email
+Organization
+Roles
+
+
+ ozarov
+Arie Ozarov
+ozarov@google.com
+Google
+Developer
+
+
Contributors
+
There are no contributors listed for this project. Please check back again later.
+
+
+
+
+
+
+
+
+
+
Copyright © 2015
+ Google.
+ All rights reserved.
+
+
+
+
+
+
+
+
+
+