diff --git a/docs/_images/typeset_complete.svg b/docs/_images/typeset_complete.svg index 3807dd111..7278268ef 100644 --- a/docs/_images/typeset_complete.svg +++ b/docs/_images/typeset_complete.svg @@ -1,355 +1,355 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Ordinal - -Ordinal + +Ordinal Categorical->Ordinal - - + + Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + Count - -Count + +Count Date - -Date + +Date DateTime - -DateTime + +DateTime DateTime->Date - - + + EmailAddress - -EmailAddress + +EmailAddress File - -File + +File Image - -Image + +Image File->Image - - + + Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry IPAddress - -IPAddress + +IPAddress Integer->Count - - + + Object->Boolean - - + + Object->Date - - + + Object->EmailAddress - - + + Object->Geometry - - + + Object->IPAddress - - + + Path - -Path + +Path Object->Path - - + + String - -String + +String Object->String - - + + Time - -Time + +Time Object->Time - - + + URL - -URL + +URL Object->URL - - + + UUID - -UUID + +UUID Object->UUID - - + + Path->File - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->EmailAddress - - + + String->Float - - + + String->Geometry - - + + String->IPAddress - - + + String->Path - - + + String->URL - - + + String->UUID - - + + diff --git a/docs/_images/typeset_complete_base.svg b/docs/_images/typeset_complete_base.svg index 516a47cc1..a6042f259 100644 --- a/docs/_images/typeset_complete_base.svg +++ b/docs/_images/typeset_complete_base.svg @@ -1,271 +1,271 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Ordinal - -Ordinal + +Ordinal Categorical->Ordinal - - + + Complex - -Complex + +Complex Count - -Count + +Count Date - -Date + +Date DateTime - -DateTime + +DateTime EmailAddress - -EmailAddress + +EmailAddress File - -File + +File Image - -Image + +Image File->Image - - + + Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry IPAddress - -IPAddress + +IPAddress Integer->Count - - + + Object->Date - - + + Object->EmailAddress - - + + Object->Geometry - - + + Object->IPAddress - - + + Path - -Path + +Path Object->Path - - + + String - -String + +String Object->String - - + + Time - -Time + +Time Object->Time - - + + URL - -URL + +URL Object->URL - - + + UUID - -UUID + +UUID Object->UUID - - + + Path->File - - + + diff --git a/docs/_images/typeset_complete_base1.svg b/docs/_images/typeset_complete_base1.svg deleted file mode 100644 index 516a47cc1..000000000 --- a/docs/_images/typeset_complete_base1.svg +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - -%3 - - - -Boolean - -Boolean - - - -Categorical - -Categorical - - - -Ordinal - -Ordinal - - - -Categorical->Ordinal - - - - - -Complex - -Complex - - - -Count - -Count - - - -Date - -Date - - - -DateTime - -DateTime - - - -EmailAddress - -EmailAddress - - - -File - -File - - - -Image - -Image - - - -File->Image - - - - - -Float - -Float - - - -Generic - -Generic - - - -Generic->Boolean - - - - - -Generic->Categorical - - - - - -Generic->Complex - - - - - -Generic->DateTime - - - - - -Generic->Float - - - - - -Integer - -Integer - - - -Generic->Integer - - - - - -Object - -Object - - - -Generic->Object - - - - - -TimeDelta - -TimeDelta - - - -Generic->TimeDelta - - - - - -Geometry - -Geometry - - - -IPAddress - -IPAddress - - - -Integer->Count - - - - - -Object->Date - - - - - -Object->EmailAddress - - - - - -Object->Geometry - - - - - -Object->IPAddress - - - - - -Path - -Path - - - -Object->Path - - - - - -String - -String - - - -Object->String - - - - - -Time - -Time - - - -Object->Time - - - - - -URL - -URL - - - -Object->URL - - - - - -UUID - -UUID - - - -Object->UUID - - - - - -Path->File - - - - - diff --git a/docs/_images/typeset_geometry.svg b/docs/_images/typeset_geometry.svg index d7b89456b..33f23c290 100644 --- a/docs/_images/typeset_geometry.svg +++ b/docs/_images/typeset_geometry.svg @@ -1,187 +1,187 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + DateTime - -DateTime + +DateTime Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry Object->Boolean - - + + Object->Geometry - - + + String - -String + +String Object->String - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->Float - - + + String->Geometry - - + + diff --git a/docs/_images/typeset_geometry_base.svg b/docs/_images/typeset_geometry_base.svg index 6e63a9f64..9bb246c40 100644 --- a/docs/_images/typeset_geometry_base.svg +++ b/docs/_images/typeset_geometry_base.svg @@ -1,139 +1,139 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex DateTime - -DateTime + +DateTime Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry Object->Geometry - - + + String - -String + +String Object->String - - + + diff --git a/docs/_images/typeset_standard.svg b/docs/_images/typeset_standard.svg index d8b4f774a..8fe7d565e 100644 --- a/docs/_images/typeset_standard.svg +++ b/docs/_images/typeset_standard.svg @@ -1,169 +1,169 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + DateTime - -DateTime + +DateTime Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Object->Boolean - - + + String - -String + +String Object->String - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->Float - - + + diff --git a/docs/_images/typeset_standard_base.svg b/docs/_images/typeset_standard_base.svg index 89617cb19..1dd471145 100644 --- a/docs/_images/typeset_standard_base.svg +++ b/docs/_images/typeset_standard_base.svg @@ -1,127 +1,127 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex DateTime - -DateTime + +DateTime Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + String - -String + +String Object->String - - + + diff --git a/docs/_modules/index.html b/docs/_modules/index.html index d624055a7..8d1f1d25a 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -1,67 +1,31 @@ - - - - - - - Overview: module code — visions 0.7.1 documentation - - - - - - - - - - - - + + + Overview: module code — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/declarative.html b/docs/_modules/visions/declarative.html index 28e099e2c..7921eb116 100644 --- a/docs/_modules/visions/declarative.html +++ b/docs/_modules/visions/declarative.html @@ -1,67 +1,31 @@ - - - - - - - visions.declarative — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.declarative — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/functional.html b/docs/_modules/visions/functional.html index 99bb0175a..63339f01d 100644 --- a/docs/_modules/visions/functional.html +++ b/docs/_modules/visions/functional.html @@ -1,67 +1,31 @@ - - - - - - - visions.functional — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.functional — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/relations/relations.html b/docs/_modules/visions/relations/relations.html index 2784b4fdf..c1e48a620 100644 --- a/docs/_modules/visions/relations/relations.html +++ b/docs/_modules/visions/relations/relations.html @@ -1,67 +1,31 @@ - - - - - - - visions.relations.relations — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.relations.relations — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/boolean.html b/docs/_modules/visions/types/boolean.html index c9d42bad3..61e3856dc 100644 --- a/docs/_modules/visions/types/boolean.html +++ b/docs/_modules/visions/types/boolean.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.boolean — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.boolean — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/categorical.html b/docs/_modules/visions/types/categorical.html index 6a121e2ce..f882db61a 100644 --- a/docs/_modules/visions/types/categorical.html +++ b/docs/_modules/visions/types/categorical.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.categorical — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.categorical — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/complex.html b/docs/_modules/visions/types/complex.html index 3a7b3d776..f50709e20 100644 --- a/docs/_modules/visions/types/complex.html +++ b/docs/_modules/visions/types/complex.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.complex — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.complex — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/count.html b/docs/_modules/visions/types/count.html index 25525c68d..aab25ba74 100644 --- a/docs/_modules/visions/types/count.html +++ b/docs/_modules/visions/types/count.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.count — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.count — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/date.html b/docs/_modules/visions/types/date.html index 7cfa619a7..96044e5e4 100644 --- a/docs/_modules/visions/types/date.html +++ b/docs/_modules/visions/types/date.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.date — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.date — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/date_time.html b/docs/_modules/visions/types/date_time.html index cb61d5660..2cf0471ab 100644 --- a/docs/_modules/visions/types/date_time.html +++ b/docs/_modules/visions/types/date_time.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.date_time — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.date_time — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/file.html b/docs/_modules/visions/types/file.html index e0743d0cb..b26e8d4d2 100644 --- a/docs/_modules/visions/types/file.html +++ b/docs/_modules/visions/types/file.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.file — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.file — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/float.html b/docs/_modules/visions/types/float.html index c289cc3af..1bc99f40c 100644 --- a/docs/_modules/visions/types/float.html +++ b/docs/_modules/visions/types/float.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.float — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.float — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/generic.html b/docs/_modules/visions/types/generic.html index 391527624..ab956891d 100644 --- a/docs/_modules/visions/types/generic.html +++ b/docs/_modules/visions/types/generic.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.generic — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.generic — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/geometry.html b/docs/_modules/visions/types/geometry.html index 82d8ba7ea..ff338e751 100644 --- a/docs/_modules/visions/types/geometry.html +++ b/docs/_modules/visions/types/geometry.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.geometry — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.geometry — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/image.html b/docs/_modules/visions/types/image.html index fda7ca411..bae9649f1 100644 --- a/docs/_modules/visions/types/image.html +++ b/docs/_modules/visions/types/image.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.image — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.image — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/integer.html b/docs/_modules/visions/types/integer.html index 724188313..28c7a958f 100644 --- a/docs/_modules/visions/types/integer.html +++ b/docs/_modules/visions/types/integer.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.integer — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.integer — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/ip_address.html b/docs/_modules/visions/types/ip_address.html index 705975caf..436fac43b 100644 --- a/docs/_modules/visions/types/ip_address.html +++ b/docs/_modules/visions/types/ip_address.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.ip_address — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.ip_address — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/object.html b/docs/_modules/visions/types/object.html index 26143306d..0e4c3b894 100644 --- a/docs/_modules/visions/types/object.html +++ b/docs/_modules/visions/types/object.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.object — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.object — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/ordinal.html b/docs/_modules/visions/types/ordinal.html index 4657680ba..4ff4e70cc 100644 --- a/docs/_modules/visions/types/ordinal.html +++ b/docs/_modules/visions/types/ordinal.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.ordinal — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.ordinal — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/path.html b/docs/_modules/visions/types/path.html index ec5e42ebb..6b11e8301 100644 --- a/docs/_modules/visions/types/path.html +++ b/docs/_modules/visions/types/path.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.path — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.path — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/string.html b/docs/_modules/visions/types/string.html index a8f5f1f32..d85236110 100644 --- a/docs/_modules/visions/types/string.html +++ b/docs/_modules/visions/types/string.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.string — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.string — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/time.html b/docs/_modules/visions/types/time.html index 10b3128d1..8c795a8b6 100644 --- a/docs/_modules/visions/types/time.html +++ b/docs/_modules/visions/types/time.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.time — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.time — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/time_delta.html b/docs/_modules/visions/types/time_delta.html index 71164fab2..7531f124d 100644 --- a/docs/_modules/visions/types/time_delta.html +++ b/docs/_modules/visions/types/time_delta.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.time_delta — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.time_delta — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/type.html b/docs/_modules/visions/types/type.html index 605177328..8135a74b6 100644 --- a/docs/_modules/visions/types/type.html +++ b/docs/_modules/visions/types/type.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.type — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.type — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/url.html b/docs/_modules/visions/types/url.html index ba64cef5c..887ff2d96 100644 --- a/docs/_modules/visions/types/url.html +++ b/docs/_modules/visions/types/url.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.url — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.url — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/types/uuid.html b/docs/_modules/visions/types/uuid.html index 3abdd4ad0..4981ee069 100644 --- a/docs/_modules/visions/types/uuid.html +++ b/docs/_modules/visions/types/uuid.html @@ -1,67 +1,31 @@ - - - - - - - visions.types.uuid — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.types.uuid — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/typesets/complete_set.html b/docs/_modules/visions/typesets/complete_set.html index 9d195a13e..d46c90be0 100644 --- a/docs/_modules/visions/typesets/complete_set.html +++ b/docs/_modules/visions/typesets/complete_set.html @@ -1,67 +1,31 @@ - - - - - - - visions.typesets.complete_set — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.typesets.complete_set — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/typesets/geometry_set.html b/docs/_modules/visions/typesets/geometry_set.html index f69df48ea..4adad3e7f 100644 --- a/docs/_modules/visions/typesets/geometry_set.html +++ b/docs/_modules/visions/typesets/geometry_set.html @@ -1,67 +1,31 @@ - - - - - - - visions.typesets.geometry_set — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.typesets.geometry_set — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/typesets/standard_set.html b/docs/_modules/visions/typesets/standard_set.html index 4c0f7e5e7..c03f46766 100644 --- a/docs/_modules/visions/typesets/standard_set.html +++ b/docs/_modules/visions/typesets/standard_set.html @@ -1,67 +1,31 @@ - - - - - - - visions.typesets.standard_set — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.typesets.standard_set — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/typesets/typeset.html b/docs/_modules/visions/typesets/typeset.html index 7df9f79e2..be9b35614 100644 --- a/docs/_modules/visions/typesets/typeset.html +++ b/docs/_modules/visions/typesets/typeset.html @@ -1,67 +1,31 @@ - - - - - - - visions.typesets.typeset — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.typesets.typeset — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/utils/graph.html b/docs/_modules/visions/utils/graph.html index 3d22c69c7..356289581 100644 --- a/docs/_modules/visions/utils/graph.html +++ b/docs/_modules/visions/utils/graph.html @@ -1,67 +1,31 @@ - - - - - - - visions.utils.graph — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.utils.graph — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/utils/images/image_utils.html b/docs/_modules/visions/utils/images/image_utils.html index 00adaa958..c9d039967 100644 --- a/docs/_modules/visions/utils/images/image_utils.html +++ b/docs/_modules/visions/utils/images/image_utils.html @@ -1,67 +1,31 @@ - - - - - - - visions.utils.images.image_utils — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.utils.images.image_utils — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/utils/monkeypatches/imghdr_patch.html b/docs/_modules/visions/utils/monkeypatches/imghdr_patch.html index b92cf0421..7f0b73e7c 100644 --- a/docs/_modules/visions/utils/monkeypatches/imghdr_patch.html +++ b/docs/_modules/visions/utils/monkeypatches/imghdr_patch.html @@ -1,67 +1,31 @@ - - - - - - - visions.utils.monkeypatches.imghdr_patch — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.utils.monkeypatches.imghdr_patch — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_modules/visions/utils/warning_handling.html b/docs/_modules/visions/utils/warning_handling.html index 360c09da9..90d4b33e5 100644 --- a/docs/_modules/visions/utils/warning_handling.html +++ b/docs/_modules/visions/utils/warning_handling.html @@ -1,67 +1,31 @@ - - - - - - - visions.utils.warning_handling — visions 0.7.1 documentation - - - - - - - - - - - - + + + visions.utils.warning_handling — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
- -
- - -
- - - - - - - - + \ No newline at end of file diff --git a/docs/_sources/visions/api/_autosummary/visions.relations.relations.IdentityRelation.rst.txt b/docs/_sources/visions/api/_autosummary/visions.relations.relations.IdentityRelation.rst.txt index b20df7acf..f1a3bd1bf 100644 --- a/docs/_sources/visions/api/_autosummary/visions.relations.relations.IdentityRelation.rst.txt +++ b/docs/_sources/visions/api/_autosummary/visions.relations.relations.IdentityRelation.rst.txt @@ -21,4 +21,12 @@ + .. rubric:: Attributes + + .. autosummary:: + + ~IdentityRelation.relationship + ~IdentityRelation.transformer + ~IdentityRelation.inferential + \ No newline at end of file diff --git a/docs/_sources/visions/api/_autosummary/visions.relations.relations.InferenceRelation.rst.txt b/docs/_sources/visions/api/_autosummary/visions.relations.relations.InferenceRelation.rst.txt index aa97c2fc9..9292f702f 100644 --- a/docs/_sources/visions/api/_autosummary/visions.relations.relations.InferenceRelation.rst.txt +++ b/docs/_sources/visions/api/_autosummary/visions.relations.relations.InferenceRelation.rst.txt @@ -21,4 +21,12 @@ + .. rubric:: Attributes + + .. autosummary:: + + ~InferenceRelation.relationship + ~InferenceRelation.transformer + ~InferenceRelation.inferential + \ No newline at end of file diff --git a/docs/_sources/visions/api/_autosummary/visions.relations.relations.TypeRelation.rst.txt b/docs/_sources/visions/api/_autosummary/visions.relations.relations.TypeRelation.rst.txt index e5313b430..f06eb1c7d 100644 --- a/docs/_sources/visions/api/_autosummary/visions.relations.relations.TypeRelation.rst.txt +++ b/docs/_sources/visions/api/_autosummary/visions.relations.relations.TypeRelation.rst.txt @@ -21,4 +21,12 @@ + .. rubric:: Attributes + + .. autosummary:: + + ~TypeRelation.inferential + ~TypeRelation.transformer + ~TypeRelation.relationship + \ No newline at end of file diff --git a/docs/_sources/visions/api/_autosummary/visions.utils.images.image_utils.rst.txt b/docs/_sources/visions/api/_autosummary/visions.utils.images.image_utils.rst.txt new file mode 100644 index 000000000..449f3177a --- /dev/null +++ b/docs/_sources/visions/api/_autosummary/visions.utils.images.image_utils.rst.txt @@ -0,0 +1,5 @@ +visions.utils.images.image_utils +================================ + +.. automodule:: visions.utils.images.image_utils + :members: \ No newline at end of file diff --git a/docs/_static/basic.css b/docs/_static/basic.css index 24bc73e7f..912859b55 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -277,25 +277,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +319,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -377,12 +378,14 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, div.topic::after, div.admonition::after, blockquote::after { @@ -455,20 +458,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -503,6 +508,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -629,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -764,8 +818,13 @@ div.code-block-caption code { } table.highlighttable td.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -780,16 +839,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/docs/_static/css/theme.css b/docs/_static/css/theme.css index 8cd4f101a..0d9ae7e1a 100644 --- a/docs/_static/css/theme.css +++ b/docs/_static/css/theme.css @@ -1,4 +1,4 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a,.wy-menu-vertical li.current>a span.toctree-expand:before,.wy-menu-vertical li.on a,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li span.toctree-expand:before,.wy-nav-top a,.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,.wy-nav-top a,.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li span.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li span.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li span.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li span.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li span.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li span.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li span.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li span.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p.caption .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.btn .wy-menu-vertical li span.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p.caption .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.nav .wy-menu-vertical li span.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p.caption .btn .headerlink,.rst-content p.caption .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li span.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol li,.rst-content ol.arabic li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content ol.arabic li p:last-child,.rst-content ol.arabic li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.rst-content .wy-breadcrumbs li tt,.wy-breadcrumbs li .rst-content tt,.wy-breadcrumbs li code{padding:5px;border:none;background:none}.rst-content .wy-breadcrumbs li tt.literal,.wy-breadcrumbs li .rst-content tt.literal,.wy-breadcrumbs li code.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover span.toctree-expand,.wy-menu-vertical li.on a:hover span.toctree-expand{color:grey}.wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand{display:block;font-size:.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover span.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover span.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content img{max-width:100%;height:auto}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp{user-select:none;pointer-events:none}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink{visibility:hidden;font-size:14px}.rst-content .code-block-caption .headerlink:after,.rst-content .toctree-wrapper>p.caption .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content p.caption .headerlink:after,.rst-content table>caption .headerlink:after{content:"\f0c1";font-family:FontAwesome}.rst-content .code-block-caption:hover .headerlink:after,.rst-content .toctree-wrapper>p.caption:hover .headerlink:after,.rst-content dl dt:hover .headerlink:after,.rst-content h1:hover .headerlink:after,.rst-content h2:hover .headerlink:after,.rst-content h3:hover .headerlink:after,.rst-content h4:hover .headerlink:after,.rst-content h5:hover .headerlink:after,.rst-content h6:hover .headerlink:after,.rst-content p.caption:hover .headerlink:after,.rst-content table>caption:hover .headerlink:after{visibility:visible}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .hlist{width:100%}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl dt span.classifier:before{content:" : "}html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.field-list>dt:after,html.writer-html5 .rst-content dl.footnote>dt:after{content:":"}html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.footnote>dt>span.brackets{margin-right:.5rem}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{font-style:italic}html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.footnote>dd p,html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{font-size:inherit;line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code,html.writer-html4 .rst-content dl:not(.docutils) tt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.rst-content .wy-breadcrumbs li tt,.wy-breadcrumbs li .rst-content tt,.wy-breadcrumbs li code{padding:5px;border:none;background:none}.rst-content .wy-breadcrumbs li tt.literal,.wy-breadcrumbs li .rst-content tt.literal,.wy-breadcrumbs li code.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.field-list>dt:after,html.writer-html5 .rst-content dl.footnote>dt:after{content:":"}html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.footnote>dt>span.brackets{margin-right:.5rem}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{font-style:italic}html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.footnote>dd p,html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{font-size:inherit;line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.field-list)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dl:not(.field-list)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index daccd209d..8cbf1b161 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -29,9 +29,14 @@ if (!window.console || !console.firebug) { /** * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL */ jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); }; /** @@ -285,9 +290,10 @@ var Documentation = { initOnKeyListeners: function() { $(document).keydown(function(event) { var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea + // don't navigate when in search box, textarea, dropdown or button if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey + && !event.shiftKey) { switch (event.keyCode) { case 37: // left var prevHref = $('link[rel="prev"]').prop('href'); @@ -295,12 +301,14 @@ var Documentation = { window.location.href = prevHref; return false; } + break; case 39: // right var nextHref = $('link[rel="next"]').prop('href'); if (nextHref) { window.location.href = nextHref; return false; } + break; } } }); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index bba8bff12..ce4f220cd 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.7.1', + VERSION: '0.7.2', LANGUAGE: 'None', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/_static/js/theme.js b/docs/_static/js/theme.js index 839d07e2b..1fddb6ee4 100644 --- a/docs/_static/js/theme.js +++ b/docs/_static/js/theme.js @@ -1 +1 @@ -!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t'); + var listItem = $('
  • '); var requestUrl = ""; var linkUrl = ""; if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') { @@ -273,28 +273,31 @@ var Search = { if (item[3]) { listItem.append($(' (' + item[3] + ')')); Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { $.ajax({url: requestUrl, dataType: "text", complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + var summary = Search.makeSearchSummary(data, searchterms, hlterms); + if (summary) { + listItem.append(summary); + } } Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); }}); } else { // no source available, just display title Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } } // search finished, update title and status message @@ -379,6 +382,13 @@ var Search = { return results; }, + /** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions + */ + escapeRegExp : function(string) { + return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string + }, + /** * search for full-text terms in the index */ @@ -402,13 +412,14 @@ var Search = { ]; // add support for partial matches if (word.length > 2) { + var word_regex = this.escapeRegExp(word); for (var w in terms) { - if (w.match(word) && !terms[word]) { + if (w.match(word_regex) && !terms[word]) { _o.push({files: terms[w], score: Scorer.partialTerm}) } } for (var w in titleterms) { - if (w.match(word) && !titleterms[word]) { + if (w.match(word_regex) && !titleterms[word]) { _o.push({files: titleterms[w], score: Scorer.partialTitle}) } } @@ -490,6 +501,9 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); + if (text == "") { + return null; + } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { @@ -501,7 +515,7 @@ var Search = { var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); - var rv = $('
    ').text(excerpt); + var rv = $('

    ').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); diff --git a/docs/_static/underscore-1.13.1.js b/docs/_static/underscore-1.13.1.js new file mode 100644 index 000000000..ffd77af96 --- /dev/null +++ b/docs/_static/underscore-1.13.1.js @@ -0,0 +1,2042 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define('underscore', factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () { + var current = global._; + var exports = global._ = factory(); + exports.noConflict = function () { global._ = current; return exports; }; + }())); +}(this, (function () { + // Underscore.js 1.13.1 + // https://underscorejs.org + // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors + // Underscore may be freely distributed under the MIT license. + + // Current version. + var VERSION = '1.13.1'; + + // Establish the root object, `window` (`self`) in the browser, `global` + // on the server, or `this` in some virtual machines. We use `self` + // instead of `window` for `WebWorker` support. + var root = typeof self == 'object' && self.self === self && self || + typeof global == 'object' && global.global === global && global || + Function('return this')() || + {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null; + + // Create quick reference variables for speed access to core prototypes. + var push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // Modern feature detection. + var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined', + supportsDataView = typeof DataView !== 'undefined'; + + // All **ECMAScript 5+** native function implementations that we hope to use + // are declared here. + var nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeCreate = Object.create, + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + + // Create references to these builtin functions because we override them. + var _isNaN = isNaN, + _isFinite = isFinite; + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + // The largest integer that can be represented exactly. + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + + // Some functions take a variable number of arguments, or a few expected + // arguments at the beginning and then a variable number of values to operate + // on. This helper accumulates all remaining arguments past the function’s + // argument length (or an explicit `startIndex`), into an array that becomes + // the last argument. Similar to ES6’s "rest parameter". + function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), + rest = Array(length), + index = 0; + for (; index < length; index++) { + rest[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: return func.call(this, rest); + case 1: return func.call(this, arguments[0], rest); + case 2: return func.call(this, arguments[0], arguments[1], rest); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest; + return func.apply(this, args); + }; + } + + // Is a given variable an object? + function isObject(obj) { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + } + + // Is a given value equal to null? + function isNull(obj) { + return obj === null; + } + + // Is a given variable undefined? + function isUndefined(obj) { + return obj === void 0; + } + + // Is a given value a boolean? + function isBoolean(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + } + + // Is a given value a DOM element? + function isElement(obj) { + return !!(obj && obj.nodeType === 1); + } + + // Internal function for creating a `toString`-based type tester. + function tagTester(name) { + var tag = '[object ' + name + ']'; + return function(obj) { + return toString.call(obj) === tag; + }; + } + + var isString = tagTester('String'); + + var isNumber = tagTester('Number'); + + var isDate = tagTester('Date'); + + var isRegExp = tagTester('RegExp'); + + var isError = tagTester('Error'); + + var isSymbol = tagTester('Symbol'); + + var isArrayBuffer = tagTester('ArrayBuffer'); + + var isFunction = tagTester('Function'); + + // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old + // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236). + var nodelist = root.document && root.document.childNodes; + if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') { + isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + var isFunction$1 = isFunction; + + var hasObjectTag = tagTester('Object'); + + // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. + // In IE 11, the most common among them, this problem also applies to + // `Map`, `WeakMap` and `Set`. + var hasStringTagBug = ( + supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + ), + isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); + + var isDataView = tagTester('DataView'); + + // In IE 10 - Edge 13, we need a different heuristic + // to determine whether an object is a `DataView`. + function ie10IsDataView(obj) { + return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); + } + + var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + + // Is a given value an array? + // Delegates to ECMA5's native `Array.isArray`. + var isArray = nativeIsArray || tagTester('Array'); + + // Internal function to check whether `key` is an own property name of `obj`. + function has$1(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + } + + var isArguments = tagTester('Arguments'); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj) { + return has$1(obj, 'callee'); + }; + } + }()); + + var isArguments$1 = isArguments; + + // Is a given object a finite number? + function isFinite$1(obj) { + return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)); + } + + // Is the given value `NaN`? + function isNaN$1(obj) { + return isNumber(obj) && _isNaN(obj); + } + + // Predicate-generating function. Often useful outside of Underscore. + function constant(value) { + return function() { + return value; + }; + } + + // Common internal logic for `isArrayLike` and `isBufferLike`. + function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + } + } + + // Internal helper to generate a function to obtain property `key` from `obj`. + function shallowProperty(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + } + + // Internal helper to obtain the `byteLength` property of an object. + var getByteLength = shallowProperty('byteLength'); + + // Internal helper to determine whether we should spend extensive checks against + // `ArrayBuffer` et al. + var isBufferLike = createSizePropertyCheck(getByteLength); + + // Is a given value a typed array? + var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + function isTypedArray(obj) { + // `ArrayBuffer.isView` is the most future-proof, so use it when available. + // Otherwise, fall back on the above regular expression. + return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) : + isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)); + } + + var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false); + + // Internal helper to obtain the `length` property of an object. + var getLength = shallowProperty('length'); + + // Internal helper to create a simple lookup structure. + // `collectNonEnumProps` used to depend on `_.contains`, but this led to + // circular imports. `emulatedSet` is a one-off solution that only works for + // arrays of strings. + function emulatedSet(keys) { + var hash = {}; + for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true; + return { + contains: function(key) { return hash[key]; }, + push: function(key) { + hash[key] = true; + return keys.push(key); + } + }; + } + + // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't + // be iterated by `for key in ...` and thus missed. Extends `keys` in place if + // needed. + function collectNonEnumProps(obj, keys) { + keys = emulatedSet(keys); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = isFunction$1(constructor) && constructor.prototype || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys`. + function keys(obj) { + if (!isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (has$1(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + function isEmpty(obj) { + if (obj == null) return true; + // Skip the more expensive `toString`-based type checks if `obj` has no + // `.length`. + var length = getLength(obj); + if (typeof length == 'number' && ( + isArray(obj) || isString(obj) || isArguments$1(obj) + )) return length === 0; + return getLength(keys(obj)) === 0; + } + + // Returns whether an object has a given set of `key:value` pairs. + function isMatch(object, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + } + + // If Underscore is called as a function, it returns a wrapped object that can + // be used OO-style. This wrapper holds altered versions of all functions added + // through `_.mixin`. Wrapped objects may be chained. + function _$1(obj) { + if (obj instanceof _$1) return obj; + if (!(this instanceof _$1)) return new _$1(obj); + this._wrapped = obj; + } + + _$1.VERSION = VERSION; + + // Extracts the result from a wrapped and chained object. + _$1.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxies for some methods used in engine operations + // such as arithmetic and JSON stringification. + _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value; + + _$1.prototype.toString = function() { + return String(this._wrapped); + }; + + // Internal function to wrap or shallow-copy an ArrayBuffer, + // typed array or DataView to a new view, reusing the buffer. + function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength(bufferSource) + ); + } + + // We use this string twice, so give it a name for minification. + var tagDataView = '[object DataView]'; + + // Internal recursive comparison function for `_.isEqual`. + function eq(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // `null` or `undefined` only equal to itself (strict comparison). + if (a == null || b == null) return false; + // `NaN`s are equivalent, but non-reflexive. + if (a !== a) return b !== b; + // Exhaust primitive checks + var type = typeof a; + if (type !== 'function' && type !== 'object' && typeof b != 'object') return false; + return deepEq(a, b, aStack, bStack); + } + + // Internal recursive comparison function for `_.isEqual`. + function deepEq(a, b, aStack, bStack) { + // Unwrap any wrapped objects. + if (a instanceof _$1) a = a._wrapped; + if (b instanceof _$1) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + // Work around a bug in IE 10 - Edge 13. + if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (!isDataView$1(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN. + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + case '[object Symbol]': + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case '[object ArrayBuffer]': + case tagDataView: + // Coerce to typed array so we can fall through. + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + + var areArrays = className === '[object Array]'; + if (!areArrays && isTypedArray$1(a)) { + var byteLength = getByteLength(a); + if (byteLength !== getByteLength(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && + isFunction$1(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var _keys = keys(a), key; + length = _keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = _keys[length]; + if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + } + + // Perform a deep comparison to check if two objects are equal. + function isEqual(a, b) { + return eq(a, b); + } + + // Retrieve all the enumerable property names of an object. + function allKeys(obj) { + if (!isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + } + + // Since the regular `Object.prototype.toString` type tests don't work for + // some types in IE 11, we use a fingerprinting heuristic instead, based + // on the methods. It's not great, but it's the best we got. + // The fingerprint method lists are defined below. + function ie11fingerprint(methods) { + var length = getLength(methods); + return function(obj) { + if (obj == null) return false; + // `Map`, `WeakMap` and `Set` have no enumerable keys. + var keys = allKeys(obj); + if (getLength(keys)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction$1(obj[methods[i]])) return false; + } + // If we are testing against `WeakMap`, we need to ensure that + // `obj` doesn't have a `forEach` method in order to distinguish + // it from a regular `Map`. + return methods !== weakMapMethods || !isFunction$1(obj[forEachName]); + }; + } + + // In the interest of compact minification, we write + // each string in the fingerprints only once. + var forEachName = 'forEach', + hasName = 'has', + commonInit = ['clear', 'delete'], + mapTail = ['get', hasName, 'set']; + + // `Map`, `WeakMap` and `Set` each have slightly different + // combinations of the above sublists. + var mapMethods = commonInit.concat(forEachName, mapTail), + weakMapMethods = commonInit.concat(mapTail), + setMethods = ['add'].concat(commonInit, forEachName, hasName); + + var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map'); + + var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap'); + + var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set'); + + var isWeakSet = tagTester('WeakSet'); + + // Retrieve the values of an object's properties. + function values(obj) { + var _keys = keys(obj); + var length = _keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[_keys[i]]; + } + return values; + } + + // Convert an object into a list of `[key, value]` pairs. + // The opposite of `_.object` with one argument. + function pairs(obj) { + var _keys = keys(obj); + var length = _keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [_keys[i], obj[_keys[i]]]; + } + return pairs; + } + + // Invert the keys and values of an object. The values must be serializable. + function invert(obj) { + var result = {}; + var _keys = keys(obj); + for (var i = 0, length = _keys.length; i < length; i++) { + result[obj[_keys[i]]] = _keys[i]; + } + return result; + } + + // Return a sorted list of the function names available on the object. + function functions(obj) { + var names = []; + for (var key in obj) { + if (isFunction$1(obj[key])) names.push(key); + } + return names.sort(); + } + + // An internal function for creating assigner functions. + function createAssigner(keysFunc, defaults) { + return function(obj) { + var length = arguments.length; + if (defaults) obj = Object(obj); + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!defaults || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + } + + // Extend a given object with all the properties in passed-in object(s). + var extend = createAssigner(allKeys); + + // Assigns a given object with all the own properties in the passed-in + // object(s). + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + var extendOwn = createAssigner(keys); + + // Fill in a given object with default properties. + var defaults = createAssigner(allKeys, true); + + // Create a naked function reference for surrogate-prototype-swapping. + function ctor() { + return function(){}; + } + + // An internal function for creating a new object that inherits from another. + function baseCreate(prototype) { + if (!isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + } + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + function create(prototype, props) { + var result = baseCreate(prototype); + if (props) extendOwn(result, props); + return result; + } + + // Create a (shallow-cloned) duplicate of an object. + function clone(obj) { + if (!isObject(obj)) return obj; + return isArray(obj) ? obj.slice() : extend({}, obj); + } + + // Invokes `interceptor` with the `obj` and then returns `obj`. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + function tap(obj, interceptor) { + interceptor(obj); + return obj; + } + + // Normalize a (deep) property `path` to array. + // Like `_.iteratee`, this function can be customized. + function toPath$1(path) { + return isArray(path) ? path : [path]; + } + _$1.toPath = toPath$1; + + // Internal wrapper for `_.toPath` to enable minification. + // Similar to `cb` for `_.iteratee`. + function toPath(path) { + return _$1.toPath(path); + } + + // Internal function to obtain a nested property in `obj` along `path`. + function deepGet(obj, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj == null) return void 0; + obj = obj[path[i]]; + } + return length ? obj : void 0; + } + + // Get the value of the (deep) property on `path` from `object`. + // If any property in `path` does not exist or if the value is + // `undefined`, return `defaultValue` instead. + // The `path` is normalized through `_.toPath`. + function get(object, path, defaultValue) { + var value = deepGet(object, toPath(path)); + return isUndefined(value) ? defaultValue : value; + } + + // Shortcut function for checking if an object has a given property directly on + // itself (in other words, not on a prototype). Unlike the internal `has` + // function, this public version can also traverse nested properties. + function has(obj, path) { + path = toPath(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has$1(obj, key)) return false; + obj = obj[key]; + } + return !!length; + } + + // Keep the identity function around for default iteratees. + function identity(value) { + return value; + } + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + function matcher(attrs) { + attrs = extendOwn({}, attrs); + return function(obj) { + return isMatch(obj, attrs); + }; + } + + // Creates a function that, when passed an object, will traverse that object’s + // properties down the given `path`, specified as an array of keys or indices. + function property(path) { + path = toPath(path); + return function(obj) { + return deepGet(obj, path); + }; + } + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + } + + // An internal function to generate callbacks that can be applied to each + // element in a collection, returning the desired result — either `_.identity`, + // an arbitrary callback, a property matcher, or a property accessor. + function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction$1(value)) return optimizeCb(value, context, argCount); + if (isObject(value) && !isArray(value)) return matcher(value); + return property(value); + } + + // External wrapper for our callback generator. Users may customize + // `_.iteratee` if they want additional predicate/iteratee shorthand styles. + // This abstraction hides the internal-only `argCount` argument. + function iteratee(value, context) { + return baseIteratee(value, context, Infinity); + } + _$1.iteratee = iteratee; + + // The function we call internally to generate a callback. It invokes + // `_.iteratee` if overridden, otherwise `baseIteratee`. + function cb(value, context, argCount) { + if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context); + return baseIteratee(value, context, argCount); + } + + // Returns the results of applying the `iteratee` to each element of `obj`. + // In contrast to `_.map` it returns an object. + function mapObject(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = keys(obj), + length = _keys.length, + results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Predicate-generating function. Often useful outside of Underscore. + function noop(){} + + // Generates a function for a given object that returns a given property. + function propertyOf(obj) { + if (obj == null) return noop; + return function(path) { + return get(obj, path); + }; + } + + // Run a function **n** times. + function times(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + } + + // Return a random integer between `min` and `max` (inclusive). + function random(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + } + + // A (possibly faster) way to get the current timestamp as an integer. + var now = Date.now || function() { + return new Date().getTime(); + }; + + // Internal helper to generate functions for escaping and unescaping strings + // to/from HTML interpolation. + function createEscaper(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped. + var source = '(?:' + keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + } + + // Internal list of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + + // Function for escaping strings to HTML interpolation. + var _escape = createEscaper(escapeMap); + + // Internal list of HTML entities for unescaping. + var unescapeMap = invert(escapeMap); + + // Function for unescaping strings from HTML interpolation. + var _unescape = createEscaper(unescapeMap); + + // By default, Underscore uses ERB-style template delimiters. Change the + // following template settings to use alternative delimiters. + var templateSettings = _$1.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + + // When customizing `_.templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + + function escapeChar(match) { + return '\\' + escapes[match]; + } + + // In order to prevent third-party code injection through + // `_.templateSettings.variable`, we test it against the following regular + // expression. It is intentionally a bit more liberal than just matching valid + // identifiers, but still prevents possible loopholes through defaults or + // destructuring assignment. + var bareIdentifier = /^\s*(\w|\$)+\s*$/; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults({}, settings, _$1.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offset. + return match; + }); + source += "';\n"; + + var argument = settings.variable; + if (argument) { + // Insure against third-party code injection. (CVE-2021-23358) + if (!bareIdentifier.test(argument)) throw new Error( + 'variable is not a bare identifier: ' + argument + ); + } else { + // If a variable is not specified, place data values in local scope. + source = 'with(obj||{}){\n' + source + '}\n'; + argument = 'obj'; + } + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + var render; + try { + render = new Function(argument, '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _$1); + }; + + // Provide the compiled source as a convenience for precompilation. + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + } + + // Traverses the children of `obj` along `path`. If a child is a function, it + // is invoked with its parent as context. Returns the value of the final + // child, or `fallback` if any child is undefined. + function result(obj, path, fallback) { + path = toPath(path); + var length = path.length; + if (!length) { + return isFunction$1(fallback) ? fallback.call(obj) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj == null ? void 0 : obj[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; // Ensure we don't continue iterating. + } + obj = isFunction$1(prop) ? prop.call(obj) : prop; + } + return obj; + } + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + function uniqueId(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + } + + // Start chaining a wrapped Underscore object. + function chain(obj) { + var instance = _$1(obj); + instance._chain = true; + return instance; + } + + // Internal function to execute `sourceFunc` bound to `context` with optional + // `args`. Determines whether to execute a function as a constructor or as a + // normal function. + function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (isObject(result)) return result; + return self; + } + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. `_` acts + // as a placeholder by default, allowing any combination of arguments to be + // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument. + var partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }); + + partial.placeholder = _$1; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). + var bind = restArguments(function(func, context, args) { + if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function'); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + + // Internal helper for collection methods to determine whether a collection + // should be iterated as an array or as an object. + // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var isArrayLike = createSizePropertyCheck(getLength); + + // Internal implementation of a recursive `flatten` function. + function flatten$1(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) { + // Flatten current level of array or arguments object. + if (depth > 1) { + flatten$1(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + } + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + var bindAll = restArguments(function(obj, keys) { + keys = flatten$1(keys, false, false); + var index = keys.length; + if (index < 1) throw new Error('bindAll must be passed function names'); + while (index--) { + var key = keys[index]; + obj[key] = bind(obj[key], obj); + } + return obj; + }); + + // Memoize an expensive function by storing its results. + function memoize(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!has$1(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + } + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + var delay = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + var defer = partial(delay, _$1, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + function throttle(func, wait, options) { + var timeout, context, args, result; + var previous = 0; + if (!options) options = {}; + + var later = function() { + previous = options.leading === false ? 0 : now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + + var throttled = function() { + var _now = now(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + + return throttled; + } + + // When a sequence of calls of the returned function ends, the argument + // function is triggered. The end of a sequence is defined by the `wait` + // parameter. If `immediate` is passed, the argument function will be + // triggered at the beginning of the sequence instead of at the end. + function debounce(func, wait, immediate) { + var timeout, previous, args, result, context; + + var later = function() { + var passed = now() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result = func.apply(context, args); + // This check is needed because `func` can recursively invoke `debounced`. + if (!timeout) args = context = null; + } + }; + + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result = func.apply(context, args); + } + return result; + }); + + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + + return debounced; + } + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + function wrap(func, wrapper) { + return partial(wrapper, func); + } + + // Returns a negated version of the passed-in predicate. + function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + } + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + } + + // Returns a function that will only be executed on and after the Nth call. + function after(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + } + + // Returns a function that will only be executed up to (but not including) the + // Nth call. + function before(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + } + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + var once = partial(before, 2); + + // Returns the first key on an object that passes a truth test. + function findKey(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + } + + // Internal function to generate `_.findIndex` and `_.findLastIndex`. + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a truth test. + var findIndex = createPredicateIndexFinder(1); + + // Returns the last index on an array-like that passes a truth test. + var findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + function sortedIndex(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + } + + // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions. + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN$1); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + var indexOf = createIndexFinder(1, findIndex, sortedIndex); + + // Return the position of the last occurrence of an item in an array, + // or -1 if the item is not included in the array. + var lastIndexOf = createIndexFinder(-1, findLastIndex); + + // Return the first value which passes a truth test. + function find(obj, predicate, context) { + var keyFinder = isArrayLike(obj) ? findIndex : findKey; + var key = keyFinder(obj, predicate, context); + if (key !== void 0 && key !== -1) return obj[key]; + } + + // Convenience version of a common use case of `_.find`: getting the first + // object containing specific `key:value` pairs. + function findWhere(obj, attrs) { + return find(obj, matcher(attrs)); + } + + // The cornerstone for collection functions, an `each` + // implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + function each(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var _keys = keys(obj); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee(obj[_keys[i]], _keys[i], obj); + } + } + return obj; + } + + // Return the results of applying the iteratee to each element. + function map(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + } + + // Internal helper to create a reducing function, iterating left or right. + function createReduce(dir) { + // Wrap code that reassigns argument variables in a separate function than + // the one that accesses `arguments.length` to avoid a perf hit. (#1991) + var reducer = function(obj, iteratee, memo, initial) { + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length, + index = dir > 0 ? 0 : length - 1; + if (!initial) { + memo = obj[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + }; + + return function(obj, iteratee, memo, context) { + var initial = arguments.length >= 3; + return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + var reduce = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + var reduceRight = createReduce(-1); + + // Return all the elements that pass a truth test. + function filter(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + } + + // Return all the elements for which a truth test fails. + function reject(obj, predicate, context) { + return filter(obj, negate(cb(predicate)), context); + } + + // Determine whether all of the elements pass a truth test. + function every(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + } + + // Determine if at least one element in the object passes a truth test. + function some(obj, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike(obj) && keys(obj), + length = (_keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + } + + // Determine if the array or object contains a given item (using `===`). + function contains(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return indexOf(obj, item, fromIndex) >= 0; + } + + // Invoke a method (with arguments) on every item in a collection. + var invoke = restArguments(function(obj, path, args) { + var contextPath, func; + if (isFunction$1(path)) { + func = path; + } else { + path = toPath(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + + // Convenience version of a common use case of `_.map`: fetching a property. + function pluck(obj, key) { + return map(obj, property(key)); + } + + // Convenience version of a common use case of `_.filter`: selecting only + // objects containing specific `key:value` pairs. + function where(obj, attrs) { + return filter(obj, matcher(attrs)); + } + + // Return the maximum element (or element-based computation). + function max(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed > lastComputed || computed === -Infinity && result === -Infinity) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Return the minimum element (or element-based computation). + function min(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) { + obj = isArrayLike(obj) ? obj : values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value != null && value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + each(obj, function(v, index, list) { + computed = iteratee(v, index, list); + if (computed < lastComputed || computed === Infinity && result === Infinity) { + result = v; + lastComputed = computed; + } + }); + } + return result; + } + + // Sample **n** random values from a collection using the modern version of the + // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `_.map`. + function sample(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = values(obj); + return obj[random(obj.length - 1)]; + } + var sample = isArrayLike(obj) ? clone(obj) : values(obj); + var length = getLength(sample); + n = Math.max(Math.min(n, length), 0); + var last = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last); + var temp = sample[index]; + sample[index] = sample[rand]; + sample[rand] = temp; + } + return sample.slice(0, n); + } + + // Shuffle a collection. + function shuffle(obj) { + return sample(obj, Infinity); + } + + // Sort the object's values by a criterion produced by an iteratee. + function sortBy(obj, iteratee, context) { + var index = 0; + iteratee = cb(iteratee, context); + return pluck(map(obj, function(value, key, list) { + return { + value: value, + index: index++, + criteria: iteratee(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + } + + // An internal function used for aggregate "group by" operations. + function group(behavior, partition) { + return function(obj, iteratee, context) { + var result = partition ? [[], []] : {}; + iteratee = cb(iteratee, context); + each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + } + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + var groupBy = group(function(result, value, key) { + if (has$1(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `_.groupBy`, but for + // when you know that your index values will be unique. + var indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + var countBy = group(function(result, value, key) { + if (has$1(result, key)) result[key]++; else result[key] = 1; + }); + + // Split a collection into two arrays: one whose elements all pass the given + // truth test, and one whose elements all do not pass the truth test. + var partition = group(function(result, value, pass) { + result[pass ? 0 : 1].push(value); + }, true); + + // Safely create a real, live array from anything iterable. + var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + function toArray(obj) { + if (!obj) return []; + if (isArray(obj)) return slice.call(obj); + if (isString(obj)) { + // Keep surrogate pair characters together. + return obj.match(reStrSymbol); + } + if (isArrayLike(obj)) return map(obj, identity); + return values(obj); + } + + // Return the number of elements in a collection. + function size(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : keys(obj).length; + } + + // Internal `_.pick` helper function to determine whether `key` is an enumerable + // property name of `obj`. + function keyInObj(value, key, obj) { + return key in obj; + } + + // Return a copy of the object only containing the allowed properties. + var pick = restArguments(function(obj, keys) { + var result = {}, iteratee = keys[0]; + if (obj == null) return result; + if (isFunction$1(iteratee)) { + if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]); + keys = allKeys(obj); + } else { + iteratee = keyInObj; + keys = flatten$1(keys, false, false); + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }); + + // Return a copy of the object without the disallowed properties. + var omit = restArguments(function(obj, keys) { + var iteratee = keys[0], context; + if (isFunction$1(iteratee)) { + iteratee = negate(iteratee); + if (keys.length > 1) context = keys[1]; + } else { + keys = map(flatten$1(keys, false, false), String); + iteratee = function(value, key) { + return !contains(keys, key); + }; + } + return pick(obj, iteratee, context); + }); + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + } + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. The **guard** check allows it to work with `_.map`. + function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); + } + + // Returns everything but the first entry of the `array`. Especially useful on + // the `arguments` object. Passing an **n** will return the rest N values in the + // `array`. + function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + } + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); + } + + // Trim out all falsy values from an array. + function compact(array) { + return filter(array, Boolean); + } + + // Flatten out an array, either recursively (by default), or up to `depth`. + // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively. + function flatten(array, depth) { + return flatten$1(array, depth, false); + } + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + var difference = restArguments(function(array, rest) { + rest = flatten$1(rest, true, true); + return filter(array, function(value){ + return !contains(rest, value); + }); + }); + + // Return a version of the array that does not contain the specified value(s). + var without = restArguments(function(array, otherArrays) { + return difference(array, otherArrays); + }); + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // The faster algorithm will not work with an iteratee if the iteratee + // is not a one-to-one function, so providing an iteratee will disable + // the faster algorithm. + function uniq(array, isSorted, iteratee, context) { + if (!isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted && !iteratee) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!contains(result, value)) { + result.push(value); + } + } + return result; + } + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + var union = restArguments(function(arrays) { + return uniq(flatten$1(arrays, true, true)); + }); + + // Produce an array that contains every item shared between all the + // passed-in arrays. + function intersection(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (contains(result, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + } + + // Complement of zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices. + function unzip(array) { + var length = array && max(array, getLength).length || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = pluck(array, index); + } + return result; + } + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + var zip = restArguments(unzip); + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. Passing by pairs is the reverse of `_.pairs`. + function object(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + } + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](https://docs.python.org/library/functions.html#range). + function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + } + + // Chunk a single array into multiple arrays, each containing `count` or fewer + // items. + function chunk(array, count) { + if (count == null || count < 1) return []; + var result = []; + var i = 0, length = array.length; + while (i < length) { + result.push(slice.call(array, i, i += count)); + } + return result; + } + + // Helper function to continue chaining intermediate results. + function chainResult(instance, obj) { + return instance._chain ? _$1(obj).chain() : obj; + } + + // Add your own custom functions to the Underscore object. + function mixin(obj) { + each(functions(obj), function(name) { + var func = _$1[name] = obj[name]; + _$1.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_$1, args)); + }; + }); + return _$1; + } + + // Add all mutator `Array` functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) { + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) { + delete obj[0]; + } + } + return chainResult(this, obj); + }; + }); + + // Add all accessor `Array` functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _$1.prototype[name] = function() { + var obj = this._wrapped; + if (obj != null) obj = method.apply(obj, arguments); + return chainResult(this, obj); + }; + }); + + // Named Exports + + var allExports = { + __proto__: null, + VERSION: VERSION, + restArguments: restArguments, + isObject: isObject, + isNull: isNull, + isUndefined: isUndefined, + isBoolean: isBoolean, + isElement: isElement, + isString: isString, + isNumber: isNumber, + isDate: isDate, + isRegExp: isRegExp, + isError: isError, + isSymbol: isSymbol, + isArrayBuffer: isArrayBuffer, + isDataView: isDataView$1, + isArray: isArray, + isFunction: isFunction$1, + isArguments: isArguments$1, + isFinite: isFinite$1, + isNaN: isNaN$1, + isTypedArray: isTypedArray$1, + isEmpty: isEmpty, + isMatch: isMatch, + isEqual: isEqual, + isMap: isMap, + isWeakMap: isWeakMap, + isSet: isSet, + isWeakSet: isWeakSet, + keys: keys, + allKeys: allKeys, + values: values, + pairs: pairs, + invert: invert, + functions: functions, + methods: functions, + extend: extend, + extendOwn: extendOwn, + assign: extendOwn, + defaults: defaults, + create: create, + clone: clone, + tap: tap, + get: get, + has: has, + mapObject: mapObject, + identity: identity, + constant: constant, + noop: noop, + toPath: toPath$1, + property: property, + propertyOf: propertyOf, + matcher: matcher, + matches: matcher, + times: times, + random: random, + now: now, + escape: _escape, + unescape: _unescape, + templateSettings: templateSettings, + template: template, + result: result, + uniqueId: uniqueId, + chain: chain, + iteratee: iteratee, + partial: partial, + bind: bind, + bindAll: bindAll, + memoize: memoize, + delay: delay, + defer: defer, + throttle: throttle, + debounce: debounce, + wrap: wrap, + negate: negate, + compose: compose, + after: after, + before: before, + once: once, + findKey: findKey, + findIndex: findIndex, + findLastIndex: findLastIndex, + sortedIndex: sortedIndex, + indexOf: indexOf, + lastIndexOf: lastIndexOf, + find: find, + detect: find, + findWhere: findWhere, + each: each, + forEach: each, + map: map, + collect: map, + reduce: reduce, + foldl: reduce, + inject: reduce, + reduceRight: reduceRight, + foldr: reduceRight, + filter: filter, + select: filter, + reject: reject, + every: every, + all: every, + some: some, + any: some, + contains: contains, + includes: contains, + include: contains, + invoke: invoke, + pluck: pluck, + where: where, + max: max, + min: min, + shuffle: shuffle, + sample: sample, + sortBy: sortBy, + groupBy: groupBy, + indexBy: indexBy, + countBy: countBy, + partition: partition, + toArray: toArray, + size: size, + pick: pick, + omit: omit, + first: first, + head: first, + take: first, + initial: initial, + last: last, + rest: rest, + tail: rest, + drop: rest, + compact: compact, + flatten: flatten, + without: without, + uniq: uniq, + unique: uniq, + union: union, + intersection: intersection, + difference: difference, + unzip: unzip, + transpose: unzip, + zip: zip, + object: object, + range: range, + chunk: chunk, + mixin: mixin, + 'default': _$1 + }; + + // Default Export + + // Add all of the Underscore functions to the wrapper object. + var _ = mixin(allExports); + // Legacy Node.js API. + _._ = _; + + return _; + +}))); +//# sourceMappingURL=underscore-umd.js.map diff --git a/docs/_static/underscore.js b/docs/_static/underscore.js index 5b55f32be..cf177d428 100644 --- a/docs/_static/underscore.js +++ b/docs/_static/underscore.js @@ -1,31 +1,6 @@ -// Underscore.js 1.3.1 -// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore is freely distributable under the MIT license. -// Portions of Underscore are inspired or borrowed from Prototype, -// Oliver Steele's Functional, and John Resig's Micro-Templating. -// For all details and documentation: -// http://documentcloud.github.com/underscore -(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== -c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, -h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= -b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e2;a== -null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= -function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= -e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= -function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, -c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}}; -b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, -1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; -b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; -b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), -function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ -u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= -function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= -true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.1 +// https://underscorejs.org +// (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t - - - - - Index — visions 0.7.1 documentation - - - - - - - - - - - - + + + Index — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index e084c3467..ee3fc5632 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,68 +1,33 @@ - - - - - - - Visions — visions 0.7.1 documentation - - - - - + - - - - - - + + Visions — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/objects.inv b/docs/objects.inv index 41ac4a306..b79c23aed 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 4d45163f6..ff892fdd1 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -1,40 +1,20 @@ - - - - - - - Python Module Index — visions 0.7.1 documentation - - - - - - - - - - - - + + + Python Module Index — visions 0.7.2 documentation + + - - + - - - - - - + @@ -42,29 +22,13 @@ - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/search.html b/docs/search.html index 3918e39e6..4acd78857 100644 --- a/docs/search.html +++ b/docs/search.html @@ -1,69 +1,34 @@ - - - - - - - Search — visions 0.7.1 documentation - - - - - - - - - - - - + + + Search — visions 0.7.2 documentation + + - - + - - - - - - - + + + - - - +
    - -
    - - -
    - - - - - - - - - - + diff --git a/docs/searchindex.js b/docs/searchindex.js index 5ac746826..3dc216153 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","visions/api","visions/api/_autosummary/visions.declarative.create_type","visions/api/_autosummary/visions.functional.cast_to_detected","visions/api/_autosummary/visions.functional.cast_to_inferred","visions/api/_autosummary/visions.functional.compare_detect_inference_frame","visions/api/_autosummary/visions.functional.detect_type","visions/api/_autosummary/visions.functional.infer_type","visions/api/_autosummary/visions.functional.type_inference_report_frame","visions/api/_autosummary/visions.relations.relations.IdentityRelation","visions/api/_autosummary/visions.relations.relations.InferenceRelation","visions/api/_autosummary/visions.relations.relations.TypeRelation","visions/api/_autosummary/visions.types.boolean","visions/api/_autosummary/visions.types.categorical","visions/api/_autosummary/visions.types.complex","visions/api/_autosummary/visions.types.count","visions/api/_autosummary/visions.types.date","visions/api/_autosummary/visions.types.date_time","visions/api/_autosummary/visions.types.file","visions/api/_autosummary/visions.types.float","visions/api/_autosummary/visions.types.generic","visions/api/_autosummary/visions.types.geometry","visions/api/_autosummary/visions.types.image","visions/api/_autosummary/visions.types.integer","visions/api/_autosummary/visions.types.ip_address","visions/api/_autosummary/visions.types.object","visions/api/_autosummary/visions.types.ordinal","visions/api/_autosummary/visions.types.path","visions/api/_autosummary/visions.types.string","visions/api/_autosummary/visions.types.time","visions/api/_autosummary/visions.types.time_delta","visions/api/_autosummary/visions.types.type.VisionsBaseType","visions/api/_autosummary/visions.types.url","visions/api/_autosummary/visions.types.uuid","visions/api/_autosummary/visions.typesets.VisionsTypeset","visions/api/_autosummary/visions.typesets.complete_set","visions/api/_autosummary/visions.typesets.geometry_set","visions/api/_autosummary/visions.typesets.standard_set","visions/api/_autosummary/visions.utils.graph","visions/api/_autosummary/visions.utils.images.image_utils","visions/api/_autosummary/visions.utils.monkeypatches.imghdr_patch","visions/api/_autosummary/visions.utils.monkeypatches.pathlib_patch","visions/api/_autosummary/visions.utils.warning_handling","visions/api/declarative","visions/api/functional","visions/api/relations","visions/api/types","visions/api/typesets","visions/api/utils","visions/applications/applications","visions/applications/compression","visions/applications/integration","visions/applications/machine_learning","visions/applications/summarizer","visions/applications/users","visions/applications/validation","visions/background/about","visions/background/background","visions/background/data_type_view","visions/background/engineering_view","visions/background/goals","visions/background/graph_view","visions/background/motivation","visions/background/nested_set_view","visions/background/theory","visions/contributing/contributing","visions/contributing/support","visions/contributing/type","visions/getting_started/concepts","visions/getting_started/examples","visions/getting_started/examples/casting","visions/getting_started/examples/country_code_type","visions/getting_started/examples/membership","visions/getting_started/examples/ml_problem_set","visions/getting_started/extending","visions/getting_started/installation","visions/getting_started/introduction","visions/getting_started/testing","visions/getting_started/usage","visions/getting_started/usage/defaults","visions/getting_started/usage/import","visions/getting_started/usage/relations","visions/getting_started/usage/types","visions/getting_started/usage/typesets"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.rst","visions\\api.rst","visions\\api\\_autosummary\\visions.declarative.create_type.rst","visions\\api\\_autosummary\\visions.functional.cast_to_detected.rst","visions\\api\\_autosummary\\visions.functional.cast_to_inferred.rst","visions\\api\\_autosummary\\visions.functional.compare_detect_inference_frame.rst","visions\\api\\_autosummary\\visions.functional.detect_type.rst","visions\\api\\_autosummary\\visions.functional.infer_type.rst","visions\\api\\_autosummary\\visions.functional.type_inference_report_frame.rst","visions\\api\\_autosummary\\visions.relations.relations.IdentityRelation.rst","visions\\api\\_autosummary\\visions.relations.relations.InferenceRelation.rst","visions\\api\\_autosummary\\visions.relations.relations.TypeRelation.rst","visions\\api\\_autosummary\\visions.types.boolean.rst","visions\\api\\_autosummary\\visions.types.categorical.rst","visions\\api\\_autosummary\\visions.types.complex.rst","visions\\api\\_autosummary\\visions.types.count.rst","visions\\api\\_autosummary\\visions.types.date.rst","visions\\api\\_autosummary\\visions.types.date_time.rst","visions\\api\\_autosummary\\visions.types.file.rst","visions\\api\\_autosummary\\visions.types.float.rst","visions\\api\\_autosummary\\visions.types.generic.rst","visions\\api\\_autosummary\\visions.types.geometry.rst","visions\\api\\_autosummary\\visions.types.image.rst","visions\\api\\_autosummary\\visions.types.integer.rst","visions\\api\\_autosummary\\visions.types.ip_address.rst","visions\\api\\_autosummary\\visions.types.object.rst","visions\\api\\_autosummary\\visions.types.ordinal.rst","visions\\api\\_autosummary\\visions.types.path.rst","visions\\api\\_autosummary\\visions.types.string.rst","visions\\api\\_autosummary\\visions.types.time.rst","visions\\api\\_autosummary\\visions.types.time_delta.rst","visions\\api\\_autosummary\\visions.types.type.VisionsBaseType.rst","visions\\api\\_autosummary\\visions.types.url.rst","visions\\api\\_autosummary\\visions.types.uuid.rst","visions\\api\\_autosummary\\visions.typesets.VisionsTypeset.rst","visions\\api\\_autosummary\\visions.typesets.complete_set.rst","visions\\api\\_autosummary\\visions.typesets.geometry_set.rst","visions\\api\\_autosummary\\visions.typesets.standard_set.rst","visions\\api\\_autosummary\\visions.utils.graph.rst","visions\\api\\_autosummary\\visions.utils.images.image_utils.rst","visions\\api\\_autosummary\\visions.utils.monkeypatches.imghdr_patch.rst","visions\\api\\_autosummary\\visions.utils.monkeypatches.pathlib_patch.rst","visions\\api\\_autosummary\\visions.utils.warning_handling.rst","visions\\api\\declarative.rst","visions\\api\\functional.rst","visions\\api\\relations.rst","visions\\api\\types.rst","visions\\api\\typesets.rst","visions\\api\\utils.rst","visions\\applications\\applications.rst","visions\\applications\\compression.rst","visions\\applications\\integration.rst","visions\\applications\\machine_learning.rst","visions\\applications\\summarizer.rst","visions\\applications\\users.rst","visions\\applications\\validation.rst","visions\\background\\about.rst","visions\\background\\background.rst","visions\\background\\data_type_view.rst","visions\\background\\engineering_view.rst","visions\\background\\goals.rst","visions\\background\\graph_view.rst","visions\\background\\motivation.rst","visions\\background\\nested_set_view.rst","visions\\background\\theory.rst","visions\\contributing\\contributing.rst","visions\\contributing\\support.rst","visions\\contributing\\type.rst","visions\\getting_started\\concepts.rst","visions\\getting_started\\examples.rst","visions\\getting_started\\examples\\casting.rst","visions\\getting_started\\examples\\country_code_type.rst","visions\\getting_started\\examples\\membership.rst","visions\\getting_started\\examples\\ml_problem_set.rst","visions\\getting_started\\extending.rst","visions\\getting_started\\installation.rst","visions\\getting_started\\introduction.rst","visions\\getting_started\\testing.rst","visions\\getting_started\\usage.rst","visions\\getting_started\\usage\\defaults.rst","visions\\getting_started\\usage\\import.rst","visions\\getting_started\\usage\\relations.rst","visions\\getting_started\\usage\\types.rst","visions\\getting_started\\usage\\typesets.rst"],objects:{"visions.declarative":{create_type:[2,0,1,""]},"visions.functional":{cast_to_detected:[3,0,1,""],cast_to_inferred:[4,0,1,""],compare_detect_inference_frame:[5,0,1,""],detect_type:[6,0,1,""],infer_type:[7,0,1,""],type_inference_report_frame:[8,0,1,""]},"visions.relations.relations":{IdentityRelation:[9,1,1,""],InferenceRelation:[10,1,1,""],TypeRelation:[11,1,1,""]},"visions.relations.relations.IdentityRelation":{__init__:[9,2,1,""]},"visions.relations.relations.InferenceRelation":{__init__:[10,2,1,""]},"visions.relations.relations.TypeRelation":{__init__:[11,2,1,""]},"visions.types":{"boolean":[12,3,0,"-"],"float":[19,3,0,"-"],categorical:[13,3,0,"-"],complex:[14,3,0,"-"],count:[15,3,0,"-"],date:[16,3,0,"-"],date_time:[17,3,0,"-"],file:[18,3,0,"-"],generic:[20,3,0,"-"],geometry:[21,3,0,"-"],image:[22,3,0,"-"],integer:[23,3,0,"-"],ip_address:[24,3,0,"-"],object:[25,3,0,"-"],ordinal:[26,3,0,"-"],path:[27,3,0,"-"],string:[28,3,0,"-"],time:[29,3,0,"-"],time_delta:[30,3,0,"-"],url:[32,3,0,"-"],uuid:[33,3,0,"-"]},"visions.types.boolean":{Boolean:[12,1,1,""]},"visions.types.boolean.Boolean":{contains_op:[12,2,1,""]},"visions.types.categorical":{Categorical:[13,1,1,""]},"visions.types.categorical.Categorical":{contains_op:[13,2,1,""]},"visions.types.complex":{Complex:[14,1,1,""]},"visions.types.complex.Complex":{contains_op:[14,2,1,""]},"visions.types.count":{Count:[15,1,1,""]},"visions.types.count.Count":{contains_op:[15,2,1,""]},"visions.types.date":{Date:[16,1,1,""]},"visions.types.date.Date":{contains_op:[16,2,1,""]},"visions.types.date_time":{DateTime:[17,1,1,""]},"visions.types.date_time.DateTime":{contains_op:[17,2,1,""]},"visions.types.file":{File:[18,1,1,""]},"visions.types.file.File":{contains_op:[18,2,1,""]},"visions.types.float":{Float:[19,1,1,""]},"visions.types.float.Float":{contains_op:[19,2,1,""]},"visions.types.generic":{Generic:[20,1,1,""]},"visions.types.generic.Generic":{contains_op:[20,2,1,""]},"visions.types.geometry":{Geometry:[21,1,1,""]},"visions.types.geometry.Geometry":{contains_op:[21,2,1,""]},"visions.types.image":{Image:[22,1,1,""]},"visions.types.image.Image":{contains_op:[22,2,1,""]},"visions.types.integer":{Integer:[23,1,1,""]},"visions.types.integer.Integer":{contains_op:[23,2,1,""]},"visions.types.ip_address":{IPAddress:[24,1,1,""]},"visions.types.ip_address.IPAddress":{contains_op:[24,2,1,""]},"visions.types.object":{Object:[25,1,1,""]},"visions.types.object.Object":{contains_op:[25,2,1,""]},"visions.types.ordinal":{Ordinal:[26,1,1,""]},"visions.types.ordinal.Ordinal":{contains_op:[26,2,1,""]},"visions.types.path":{Path:[27,1,1,""]},"visions.types.path.Path":{contains_op:[27,2,1,""]},"visions.types.string":{String:[28,1,1,""]},"visions.types.string.String":{contains_op:[28,2,1,""]},"visions.types.time":{Time:[29,1,1,""]},"visions.types.time.Time":{contains_op:[29,2,1,""]},"visions.types.time_delta":{TimeDelta:[30,1,1,""]},"visions.types.time_delta.TimeDelta":{contains_op:[30,2,1,""]},"visions.types.type":{VisionsBaseType:[31,1,1,""]},"visions.types.type.VisionsBaseType":{__init__:[31,2,1,""]},"visions.types.url":{URL:[32,1,1,""]},"visions.types.url.URL":{contains_op:[32,2,1,""]},"visions.types.uuid":{UUID:[33,1,1,""]},"visions.types.uuid.UUID":{contains_op:[33,2,1,""]},"visions.typesets":{VisionsTypeset:[34,1,1,""],complete_set:[35,3,0,"-"],geometry_set:[36,3,0,"-"],standard_set:[37,3,0,"-"]},"visions.typesets.VisionsTypeset":{__init__:[34,2,1,""],base_graph:[34,4,1,""],relation_graph:[34,4,1,""],types:[34,4,1,""]},"visions.typesets.complete_set":{CompleteSet:[35,1,1,""]},"visions.typesets.geometry_set":{GeometrySet:[36,1,1,""]},"visions.typesets.standard_set":{StandardSet:[37,1,1,""]},"visions.utils":{graph:[38,3,0,"-"],warning_handling:[42,3,0,"-"]},"visions.utils.graph":{output_graph:[38,0,1,""]},"visions.utils.images":{image_utils:[39,3,0,"-"]},"visions.utils.images.image_utils":{decode_byte_exif:[39,0,1,""],extract_exif:[39,0,1,""],get_image_shape:[39,0,1,""],hash_image:[39,0,1,""],is_image_truncated:[39,0,1,""],open_image:[39,0,1,""]},"visions.utils.monkeypatches":{imghdr_patch:[40,3,0,"-"],pathlib_patch:[41,3,0,"-"]},"visions.utils.monkeypatches.imghdr_patch":{test_jpeg1:[40,0,1,""],test_jpeg2:[40,0,1,""],test_jpeg3:[40,0,1,""]},"visions.utils.warning_handling":{discard_stderr:[42,0,1,""],suppress_warnings:[42,0,1,""]}},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","module","Python module"],"4":["py","attribute","Python attribute"]},objtypes:{"0":"py:function","1":"py:class","2":"py:method","3":"py:module","4":"py:attribute"},terms:{"0000":70,"00000000":70,"000000000000":70,"02145":56,"0b8a22ca":[33,70],"100":64,"1001":51,"1012":51,"10x":50,"127":24,"128":24,"2004":55,"2006":52,"2015":58,"2016":58,"2017":[16,17],"2018":51,"2019":[16,17],"2020":[56,63],"21105":56,"2145":56,"3166":71,"34th":51,"484":59,"4ad2f664102c031705d4eda6bf50e27a78bfc96d":62,"4df5":[33,70],"4f63":[33,70],"61275cf63d981d332220fa3aef157989fcef3305":62,"7c900e9a23c6":[33,70],"7eguido":[32,70],"80ad":[33,70],"8442":[33,70],"85ac":[33,70],"88c8":[33,70],"abstract":[1,31,58,59,60,68,76,82],"boolean":[1,35,36,37,50,58,59,63,64,72,74,79,83],"byte":[39,50],"case":[52,59,74,77,83],"catch":83,"class":[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,52,59,71,73,74],"default":[52,59,60,61,67,74,75,76,77,83],"float":[1,11,35,36,37,52,55,58,62,64,68,70,79,81,82,83],"function":[1,9,10,11,42,55,58,61,62,64,68,70,74,77,78,83],"import":[8,11,12,13,16,17,18,19,20,21,22,23,24,26,27,29,30,32,33,52,60,65,70,71,72,73,74,77,81,82,83],"int":[39,58,72],"new":[51,53,58,59,60,66,74],"null":59,"public":[51,56],"return":[3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,42,52,61,64,71,73,74,83],"static":[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,50,62],"super":[73,74],"true":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,52,61,63,72,74,81,82],"try":[42,58,65],"var":73,"while":[42,50,51,52,58,64,74,81,82],Adding:58,And:0,Are:54,For:[0,11,49,50,52,55,58,59,60,61,62,63,64,68,74,75,77],Going:81,Not:[62,81],One:[52,62,69,80],The:[34,37,51,52,53,55,56,58,59,61,62,65,71,72,73,74,75,76,77,80,81],There:[50,52,53,58,62,63,77],These:[55,64,68,83],Yes:50,__init__:[9,10,11,31,34,67,73,74],aaa381d6:[33,70],abedjan:51,abid:65,abl:[62,64,83],about:[52,63,66,82,83],abov:[55,65],access:[65,80],account:73,accur:[31,55],achiev:[58,73],action:[65,83],activ:52,actual:[58,59,60,64],add:[62,67,74],added:59,adding:[54,59,62,74],addit:[49,51,61,65,74,75],addition:[64,77],address:[24,62],adequ:65,adher:[52,61],adt:58,advanc:65,after:65,against:[3,4,77],agre:62,aim:67,akin:64,algebra:74,algorithm:76,all:[11,16,22,35,58,59,61,62,63,64,69,71,75,77,81,82,83],allow:[51,58,59,62,68,74,81],alpha:71,alreadi:64,also:[52,53,58,61,62,64,74,80,82],altern:[11,74,80],although:[49,74],alwai:55,ambigu:52,amsterdam:51,analysi:[50,52,53,55,58,69,74,76,83],analyst:64,analyt:64,ani:[12,13,14,15,16,17,18,21,22,23,24,26,27,28,30,32,33,59,61,64,68,74,83],anoth:[51,52,58,61,62,76,82,83],answer:[59,82,83],api:[31,67,73,83],appear:62,appl:[58,82],appli:[52,73,77,81],applic:[55,62,76],approach:51,appropri:0,approx:55,approxim:[50,55],april:51,arbitrarili:83,arg:[35,36,37,74,77],argument:[62,64],around:58,arr:50,arrai:[12,14,17,19,25,28,30,68,74],articl:56,ask:66,aspect:[52,58],assert:[55,77],assess:77,associ:[34,61,64],assum:52,assumpt:[55,62],astyp:74,attempt:[58,83],attr:[9,10,11],attribut:[34,64],aurum2018datadiscoveri:51,aurum:51,author:56,autom:[53,55,62],automat:[50,52,65,77],automl:[52,62],avail:[64,80,83],avoid:52,awai:52,axelderomblai:62,axiom:60,back:[67,81],background:52,bad:42,bag:61,barjn:60,base:[5,6,8,50,51,52,59,61,74,77,83],base_graph:34,baselin:83,basic:[0,58,82],becaus:[55,68,83],been:[55,74],befor:[61,80],begin:[59,65,69],behaviour:[59,66],behind:64,being:[58,65],belief:62,believ:62,belong:[52,83],below:[63,65,67,77,83],benefici:59,benefit:55,best:83,better:0,between:[11,34,52,53,55,58,61,62,64,68,74,81,82],beyond:[53,83],bias:52,bibtex:56,binari:[52,73,74],binaryclassif:73,bishop2006pattern:52,bishop:52,bit:59,bitmap:58,bjarn:[0,65],black:65,blob:62,block:82,bond:81,book:[55,62],bool:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,50,58,72,73,74],boolean_contain:12,booleannl:74,both:[34,51,52,60,61,64],bound:64,broadli:83,brugman2020:56,brugman:56,build:[31,59,65,76,82],builtin:64,bull:51,bulwark:55,busi:64,calibr:52,call:[64,83],callabl:42,can:[0,11,49,50,51,52,53,55,56,58,59,61,62,63,64,65,68,73,74,75,77,78,80,81,82,83],cancer:52,cannot:[50,64],cap:61,capabl:[82,83],cardin:73,carter:28,cast:[3,4,58,64,69],cast_df:70,cast_to_detect:1,cast_to_inf:[1,70,83],casting_exampl:70,cat:[73,74],categor:[1,35,36,37,52,58,62,73,74,79,83],categori:[13,26,52,58,64,74],categorical_contain:13,categoricalstr:74,caus:55,cee:39,centric:62,certain:[55,59],certainti:52,champion:28,chang:[1,74],chapter:52,characterist:[53,82],check:[55,65,74,82],checklist:67,choic:59,choos:[70,74],chosen:76,circl:63,circular:63,circumst:68,citat:56,classif:[52,73],classifi:52,classmethod:[71,73,74],clean:76,clone:75,close:[39,59],closest:83,cls:[71,73,74],code:[49,50,52,55,65,68,69,74],coerc:64,coercion:[58,64],coercion_test:74,collect:[34,62,64,68,77],column:[3,4,5,6,7,51,62,73,74],com:[32,51,55,62,70,75],combat:62,combin:[51,58,77,83],come:[51,63,64,68,74],command:65,comment:73,commit:65,common:[31,51,62],commun:62,compani:51,compar:[5,8,68],compare_detect_inference_fram:[1,8,74],complet:[35,49,55,63,70,75,79,83],complete_set:1,completeset:[35,61,63,70,74,77,80,83],complex:[1,35,36,37,55,58,59,60,62,76,79,83],complex_contain:14,complic:68,compon:[55,58,64,82],compos:[34,60,64,68],compress:62,compressio:54,comput:[52,64,68],computation:62,concept:[57,59,78],conceptu:64,concern:[58,62],concret:[1,58,82],confer:51,configur:68,conflict:80,consequ:50,consid:[50,51,52,74],consist:[50,55,64,68],constrain:[63,68],constraint:[0,58,61,63],construct:[59,64,67,68,83],contain:[2,51,62,63,64,68,74],contains_map:77,contains_op:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,71,73,74],content:59,context:[5,6,7,8,62],continu:[52,61,67,73],continuumio:62,contradictori:64,contravari:59,contrib:67,contribut:[49,74,75],conveni:74,convers:[58,76],convert:[11,62,76,83],copi:[38,59,83],core:[12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,59,78],correct:[52,55],correspond:[58,68],cost:52,could:[0,49,51,52,55,73,74,80],count:[1,35,52],count_contain:15,countri:69,country_code_type_exampl:71,countrycod:71,coupl:[55,62,64],covari:59,cram:62,creat:[38,54,58,63,67,70,74,76],create_typ:[1,74],creation:76,creator:0,critic:51,csparpa:55,csv:[8,51,52],current:[7,51,54,59,62,64,74,77,80],custom:[31,52,58,62,76],customset:74,cut:65,cwi:[32,70],cyberpanda:62,cycl:[61,64],dai:[30,68],data:[0,3,4,5,6,7,11,31,40,52,56,59,60,61,63,64,68,69,70,74,76,83],data_analysi:74,datafram:[3,4,6,7,8,12,13,16,19,23,25,28,50,59,70,73,83],dataset:[8,50,51,52,53,55,64,73,76],datasetsearch:51,date:[1,35,53,58,62,63,64,74],date_contain:16,date_pars:62,date_tim:[1,74],datetim:[16,17,29,30,35,36,37,58,62,63,64,68,74,79,80,83],datetime_contain:17,datetimeintyyyymmdd:74,dayfirst:62,debug:74,decid:[50,61,64],decis:52,declar:[1,68],decod:39,decode_byte_exif:39,decoupl:[50,55,59,62,82],dedic:53,deeper:68,def:[71,73,74,77],default_rel:[10,11],defin:[0,11,55,58,61,62,64,68,71,74,76,77,81,82,83],definit:[63,64],delimet:62,demonstr:[53,70,72],denot:[50,63,68],depend:[52,55,60,62,68,73,75],depth:61,deriv:34,describ:64,design:[55,58,60,64],detail:[58,74],detect:[3,5,6,8,58,59,64,70,73,76,77],detect_typ:[1,70,73,83],determin:[11,52,64],determinist:64,dev:[55,58,65],develop:[51,55,60,62,64,65,74,75,76],diagnosi:52,dict:[6,7,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,39,73],dictionari:[6,7],didn:83,differ:[58,61,62,64,68,83],differenti:52,difficult:52,digit:55,digraph:38,direct:[61,64],directori:77,discard_stderr:42,discret:[52,73],discuss:[49,55,58,59],disjoint:[61,64],disk:[64,68],distinct:[50,52,58,64,68,74,82],distinguish:[52,64],doc:[33,38,51,62,65,78],docsrc:[65,67],docstr:67,document:[58,59,67,74,83],doe:[38,50,57,58,59],doesn:73,dog:73,doi:56,dollar:51,domain:[58,61,64,74],done:62,dot:38,down:75,downstream:49,draw:52,dtype:[13,26,58,72,73,74],dual:64,dummi:52,dure:59,dylan:[56,75],dynam:[59,68],each:[7,50,52,58,59,61,63,64,65,68,74,77,82,83],easi:[64,74],easier:50,easiest:80,easili:77,eav:56,eda:53,edg:[61,64],effect:[50,53,59,76,82],effici:[0,50,58,60,76],either:[38,64,74],element:[58,60,64,82],elsewher:74,emailaddress:35,embed:52,empti:83,emptyset:61,enabl:60,encod:[11,39,50,62,68,83],encompass:[52,62],encount:52,encourag:56,end:[38,59,67],enforc:52,eng:51,engard:55,engin:[51,58,83],enorm:52,enough:62,environ:[0,68],envis:58,equival:[64,65],error:52,especi:52,essenti:[53,76],etc:[0,58],euro:51,even:[49,74],everi:[53,58,68,82],evolv:67,evolve_typ:74,exact:58,exampl:[5,8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,49,50,52,55,58,59,61,62,63,64,68,73,75,77,78,81,82,83],excel:[52,62,63,83],except:[61,64],excit:49,exclus:[34,59,61,63,74],execut:42,exercis:52,exhaust:[49,57],exif:40,exif_v:39,exist:[18,60,74],expand:[67,74],expect:[55,77,83],expens:62,experi:75,explain:[52,78],explicit:62,explor:49,exploratori:[53,76],expos:83,express:[58,60],extend:[0,59,60,61,62,73,76],extens:[38,51,60,62,77],extensionsdtyp:58,extract:58,extract_exif:39,extrem:76,fa49c44b7ed:[33,70],facilit:55,fact:74,failur:42,fairli:83,fals:[9,12,13,61,63,72,73,74,81,82],familiar:64,featur:[66,74],feel:[54,67],femal:50,fernandez:51,few:[49,64],field:[52,55],file:[1,22,27,35,38,51,52,59,65,66,67,68,75,79,83],file_contain:18,file_format:38,file_nam:38,fill:[52,69],find:[49,51,56,57,63,64,65,67,74,80],finger:65,finit:52,first:[3,4,51,58,61,64],five:55,fix:60,flexibl:[0,62,64,68,76],float_contain:19,float_int_rel:81,fluentcheck:55,fmri:52,focu:[52,55],folder:65,follow:[35,36,37,54,64,71,72,73,74,76,79,80],footnot:[51,52,55],forest:52,form:68,formal:61,format:[5,8,38,40],forward:51,found:[53,56,59,68,73],foundat:[60,62],framework:[60,62,68],free:[54,64,67],freedom:64,from:[6,7,8,11,21,22,24,30,32,34,39,50,51,52,55,58,59,60,61,63,64,65,68,70,71,73,75,76,77,80,82,83],fruit:[58,68,82],full:[34,51],fulli:49,func:[42,74],fundament:[0,82],furthermor:78,gather:74,gener:[1,9,10,11,50,61,63,64,65,66,72,73,74,77,81,82],geodata:75,geometri:[1,35,36,68,75,79,83],geometry_contain:21,geometry_set:1,geometryset:[36,61],get:[0,42,53,65,73],get_contains_cas:77,get_image_shap:39,get_rel:[71,73,74],get_seri:77,get_type_from_path:73,getting_start:67,git:[54,75],github:[32,55,56,62,65,70,75],give:[52,58,64],given:[5,7,59,61,68,73,82],goal:[59,64],goe:53,going:65,good:62,googl:51,got:[0,83],gotcha:[80,83],graph:[1,5,6,34,51,59,63,64,68,76,83],graphviz:38,great:[55,75],great_expect:55,ground:55,group:[58,68,83],grow:62,guarante:[55,64],guid:[58,59,77],guidelin:65,h2o:62,h2oai:62,had:64,hand:51,handl:[54,58],happen:[65,83],hardwar:0,has:[50,52,53,55,58,61,63,74,80],hash_imag:39,hasnan:71,have:[49,51,52,55,58,59,61,62,63,64,65,66,75,82],header:[40,62],heavili:60,help:[31,49,50,58,74,76,77],helper:[55,74],henc:[61,63],here:[56,58,59,67,80],heurist:62,hidden:62,hierarch:52,high:[52,53,58],highli:55,hint:59,his:51,hit:42,hoc:62,home:[18,22,27],homepag:50,hood:[58,82],hope:62,hors:73,hot:52,hour:30,how:[52,55,59,62,64,65,66,70,73,74,78,80,81],howev:[50,51,52,75],html:[32,33,38,52,58,62,70],http:[32,33,38,51,52,53,55,56,58,62,65,70,75],ian:56,icd:51,idea:[0,64,68],idempot:59,ident:[2,64,74],identifi:[55,77],identity_transform:[9,10],identityrel:[1,34,71,73,74,81,82],ieav:54,ieee:51,ietf:33,ilya:51,imag:[1,35,38,59,75,79],image_contain:22,image_util:1,imagin:[58,64,74,81,82],imghdr_patch:1,impact:[52,59],implement:[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,52,58,59,61,62,67,74,76,79,81,82,83],implicit:62,improv:65,includ:[34,35,36,37,59,60,62,63,67,69,70,74,75,76,77,79,83],incomplet:58,inconsist:[58,60],increas:[59,76],index:0,indic:[50,52,61,64],infer:[2,4,5,7,8,50,58,62,63,64,68,69,70,74,76],infer_typ:[1,70,83],inferencerel:[1,34,73,74,80,81,82],inferenti:[9,10,11],infinit:50,info:38,inform:[49,51,56,59,67,83],initi:31,input:[51,55,62,64],inspect:74,inspir:49,instanc:77,instanti:68,instead:[59,64,83],instruct:67,insur:65,int16:58,int32:58,int64:[58,72],int8:58,int_rang:77,int_seri:77,integ:[1,11,15,35,36,37,52,58,59,64,68,70,72,74,79,80,81,82,83],integer_contain:23,integer_is_mydatetim:74,integer_to_mydatetim:74,intend:[53,55,64],intens:62,interest:[0,53,64,69],intern:[51,55,58,77],intertwin:60,interv:52,introduc:[58,61,62,64,68,70,78],intuit:[58,59,63,74],invari:55,invis:81,invit:49,invok:83,ip_address:1,ip_address_contain:24,ipaddress:[24,35,79],ipv4address:24,is_alpha2:71,is_categorical_dtyp:[73,74],is_image_trunc:39,is_integer_dtyp:73,is_len_2:71,is_numeric_dtyp:73,is_object_dtyp:73,is_rel:[11,81],is_relationship:11,isbn:55,isclos:73,isin:71,isn:58,iso:71,iso_3166_alpha_iso_2_cod:71,isort:65,issu:76,item:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33],its:[52,64],itself:[59,60,68],jfif:40,jmenglund:55,joss:56,journal:56,jpeg:40,jpg:22,just:[42,50,74],keep:[59,64],kei:[0,38,55,64,68],kind:[52,77],kindli:77,know:[65,74,80],knowledg:[51,82],known:[42,52],koko:51,krekel:55,l454:62,label:52,lack:58,lai:62,lambda:74,languag:64,larg:[55,59],learn:[62,73],least:51,left:64,len:[58,71],less:[50,51],let:[49,52,74,76,82,83],level:[53,58,82],lib:39,librari:[33,56,62,64,76],licens:51,lightweight:75,like:[49,51,58,61,65,68,74,81,82,83],likewis:52,limit:[58,59,63,74],list:[5,49,68,75,77,83],liter:63,load:[21,42,80],local:65,log:42,logic:[59,64,68,73,82,83],logist:52,look:[49,51,58,65,74,82,83],lose:50,loss:[58,64],lossless:50,lost:52,love:62,low:[58,73],m5sayqyz:39,machin:[50,53,55,64,68,73,74,82],madden:51,made:59,mai:[50,52,59,61,74],main:[53,60,62],make:[50,52,55,58,64,65,74,82],male:50,man:74,mani:[58,62],manipul:[55,74],manner:[62,68],manual:65,map:[6,7,34,59,63,64,74,76,77,81,82],mark:77,match:[51,61,77,83],max:53,mean:[49,50,52,55,58,64,73,74,83],mean_var_r:73,mean_var_ratio:73,meaning:55,meant:49,measur:52,mechan:[11,64,68,74],medic:52,meet:74,member:[63,77],membership:[58,61,63,69],membership_exampl:72,memori:[50,82],mental:52,mere:52,messag:77,metadata:51,method:[9,10,11,31,34,52,55,74,81],metric:52,might:[51,52,53,55,58,59,64,68,74,80,83],min:53,minim:[50,64,75,77],minimum:[62,64],miss:[16,52,61,64,77],mix:58,ml_problem_exampl:73,mlbox:62,mlproblemtypeset:73,model:[73,76],modifi:[59,67],modul:[39,52],modular:59,moment:64,monkeypatch:1,more:[0,49,50,52,56,58,59,60,62,64,68,74,75,82,83],moreov:62,most:[64,74,80],motiv:[58,59],much:[62,64],multiclassif:73,multipl:[57,58,75],mung:50,must:[61,64],mutual:[59,61],my_typeset:83,mydatetim:74,mypi:65,n_distinct:73,nai:50,name:[2,6,7,38,51,54,77],namespac:[68,80],nan:[20,25,58,59,70,72,77],narrowest:[61,63],ndarrai:[12,14,17,19,23,25,28,30],need:[11,50,74,75,80],negbinomregress:73,nest:58,networkx:76,never:68,node:[61,64],nomin:73,non:[52,58],none:[2,9,10,11,12,38,58,59,61,63,72],note:[49,50,58,61,62,74],noth:38,notic:66,notion:[64,68],now:[81,83],nrow:62,nullabl:58,number:[52,55,56,58,59,64,74],numbers_with_nan:70,numer:73,numeric_seri:77,numeric_series_miss:77,numpi:[12,14,17,19,20,23,25,28,30,60,68,70,72,73,76],nuniqu:73,object:[1,35,36,37,50,58,59,61,64,72,79,80,83],object_contain:25,observ:[50,55],obtain:[50,75],obviou:49,occur:[50,59],offer:59,offic:51,often:[50,52,55,80,82],omit:83,onc:[62,70,75],one:[11,50,51,52,55,58,61,63,67,76,77,81,83],ones:77,onli:[42,50,55,58,59,62,64,74,75],open:[56,66],open_imag:39,oper:[51,58,59,61,74,83],opinion:62,oppos:[50,62],optim:50,option:[39,52,64,66,67,74],orang:[58,82],order:[11,59,61,64,73,74],ordin:[1,35,52,73,74],ordinal_contain:26,ordinalregress:73,org:[33,38,51,52,56,62,70],organ:[54,56],orient:83,other:[50,52,55,59,60,62,67,74,77,82,83],otherwis:59,our:[50,58,59,60,62,64,65,70,73,81],ourselv:50,out:[49,51],outlin:65,output:[5,8,38,42,52],output_graph:[38,73],over:[50,55,62,68,83],overhead:58,overlap:[53,55],overview:53,own:[0,62,64,74,77],pack:63,packag:[39,49,52,53,55,56,60,62,65,66,75,76,78,80],page:[49,56,58,68,75],pair:[61,64],panda:[8,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,50,53,54,55,59,60,62,68,70,72,73,76,83],pandas2:58,pandasschema:55,paramet:[3,4,5,6,7,8,34,38,39,52],parametr:77,parent:[61,64],pars:[32,62],parser:62,part:[50,55,56,58,80],particularli:74,path:[1,18,22,35,38,39,61,79,80,83],path_contain:27,path_series_linux:77,path_series_linux_miss:77,path_series_window:77,pathlib:[18,22,27,80],pathlib_patch:1,patient:52,pattern:[50,52],pdf:73,pdt:[73,74],pear:[58,82],peopl:65,pep:59,per:[50,59],perform:[0,3,4,50,52,58,59,60,61,62,63,64,68,76,83],permit:64,physic:[50,59],pick:76,pil:39,pip:65,place:67,plain:52,plan:52,pleas:[49,56,65,66,67,74,75,77,83],plenti:78,plot:[38,65,75],png:[22,38],point:[21,58],poisson:73,poissonregress:73,posit:15,possibl:[49,51,61,63,64,68,73,75],potenti:[50,68,83],power:[50,58,76],practic:[52,62,64,82,83],pre:[65,74],precis:64,predict:52,prefer:[60,80],preprocess:62,preserv:50,primari:[61,64,83],print:[5,8,70,72,73,74],probabl:[52,64],problem:[0,55,62,64,68,69,76],problem_set:73,problem_typ:73,proce:80,process:[52,53,83],produc:42,product:[52,62],profil:[32,53,54,56,70,75],program:[0,59,62],project:[50,52,54,56,67],proper:[51,61],properli:64,properti:[55,58],protocol:58,provid:[3,4,5,6,7,8,11,31,51,52,53,55,57,58,64,65,67,76,77,78],publish:56,pull:[49,54],pure:68,purpos:[50,53,74],pydata:62,pyspark:[12,13,16,19,23,25,28],pytest:[55,65,77],python:[0,32,33,62,65,68,70,74,75,76],pyupgrad:65,queri:51,question:[66,82,83],quickli:74,rais:38,ram:50,random:52,rang:[30,53,55],rate:55,rather:[59,83],ratio:[73,74],rdw_typeset:74,reach:51,read:[52,59,74,75,83],read_csv:[8,62],reader:62,real:[52,53,62,76],realiti:11,realli:[75,83],reason:[62,63],recal:59,recip:62,recogn:64,recognit:52,recommend:[52,75],reduc:[55,59,60,76],redund:62,refer:[33,39,55,59],regardless:[55,64],regress:[52,73],relat:[1,5,34,51,58,62,63,64,71,73,74,77,80,83],related_typ:[9,10,11,74],relation_graph:34,relationship:[9,10,11,34,59,61,64,68,74],releas:52,relev:[51,52,67,76],reli:[50,52,59,60],reliabl:[52,60],rememb:83,remov:74,replac:74,report:[5,8,51],repositori:75,repres:[11,52,55,58,59,61,63,64,68,81,82,83],represent:[50,52,53,55,58,59,63,64,68,74],request:[49,54],requir:[64,65,68,74,77,81],requirements_dev:75,requirements_test:75,research:51,residu:52,resolv:60,resourc:52,respect:[11,58],respons:[64,81],restrict:50,restructuredtext:65,result:[58,77],retriev:51,reus:[55,77],rfc4122:33,rid:42,right:[52,76,83],robust:64,root:[61,63,64,83],row:67,rst:[65,67],rtol:73,rubin:28,rubric:23,rule:[50,52,55],run:65,runtim:59,sai:[58,61,64],said:52,same:[50,51,55,58,59,61,64,83],sampl:52,save:60,sbrugman:54,scan:52,scenario:52,scene:64,schema:[51,69],scheme:53,scientist:[51,64],scikit:52,scope:49,scratch:58,search:[51,61],second:[51,64,83],secondli:58,section:[33,49,57,59,74,78],see:[31,49,52,55,58,63,66,68,73,74,77,82,83],seek:50,seen:52,self:[31,68,73,74],semant:[1,50,51,52,55,56,64,67,68,76],sens:[55,74],sensibl:[53,58,60],separ:58,sequenc:[3,4,5,6,7,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,58,61,64,68,71,73,74,82,83],seri:[11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,50,61,67,68,71,72,73,74,77,81,82,83],serv:62,server:65,set:[34,35,36,37,51,52,58,61,64,67,68,71,74,75,77],setminu:61,settl:75,setup:75,sever:[42,66],shape:[21,36,42],share:49,shortcom:58,shortcut:62,shorthand:65,shortli:[58,70],should:[16,49,52,55,58,60,62,64,65,73,77,83],show:[58,71,73,77],sibl:61,side:59,signatur:31,signific:73,silli:42,similar:61,similarli:[61,63],simon:56,simpl:[58,60,64,74,77,83],simpli:[69,74],simplifi:[49,60,73,74],sinc:64,singl:[57,62,64,74],site:39,size:59,slim:75,small:[40,74],softwar:[0,50,55,56,65],sole:52,solid:60,solut:[49,50,51,59,62],solv:[58,62,64,68,76],some:[50,51,64,65,66],someth:58,sort:[38,65],sourc:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,56,65,67,74],speak:83,special:[52,74,75,82],specialis:52,specif:[33,52,59,64,68,74,75,77,83],specifi:[59,71],spend:51,sphinx:65,split:74,springer:52,sql:[12,13,16,19,23,25,28],src:67,stabl:[52,62],stai:59,standard:[33,36,37,51,55,74,79,83],standard_set:1,standardset:[8,37,61,83],start:[61,64,65],starter:74,state:[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,62,71,73,74],staticmethod:[71,73,74],statist:[52,53,73],statu:51,step:53,still:[0,83],stonebrak:51,stonebraker2018dataintegr:51,stop:65,storag:[50,58,59,76],store:[50,52,53,55,58,62,64],str:[5,6,7,8,38,39,71,74],strategi:52,string:[1,35,36,37,52,53,64,68,70,71,79,81,82,83],string_contain:28,strong:62,stroustrup:[0,60,65],structur:[61,83],style:65,subclass:74,subsequ:[58,62],subset:[61,63],subtract:74,suit:74,suitabl:74,summar:[52,55],summari:[53,58],supervis:52,support:[35,36,37,51,59,61,62,74,83],suppress:42,suppress_warn:42,surject:[61,64],svg:38,svm:52,symbol:61,syntax:[65,80],sys:42,system:[0,50,51,52,54,62,76],tabl:[51,67],tabular:76,take:[64,73,82,83],taken:52,talk:51,target:[52,73],target_2:73,target_3:73,target_num:73,task:[49,50,51,52,58,64],tell:77,templat:[67,77],term:68,test2:[18,22,27],test:[64,67,68,71,73,75,81,82],test_:67,test_complete_set:77,test_contain:77,test_jpeg1:40,test_jpeg2:40,test_jpeg3:40,test_seri:[82,83],test_util:74,testable_seri:77,text:[8,51,52,58],textrm:61,than:[51,83],thei:[11,58,64],them:[34,49,58,80,81,83],theori:52,therefor:[53,64],thi:[5,49,50,52,53,55,56,57,58,59,60,61,62,63,64,65,68,70,73,74,75,76,78,80,82,83],thing:60,think:59,third:58,those:[51,74],though:49,thousand:62,three:[61,64,77,82,83],through:[58,61,76,80],tight:[55,62],tightli:64,time:[1,35,51,55,58,60,61,62,64,74],time_contain:29,time_delta:1,time_delta_contain:30,timedelta:[30,35,36,37,58,74,83],titan:51,titl:56,tmiguelt:55,to_datetim:74,to_str:70,todo:59,togeth:[58,64],tool:[33,52,58,60,65,76],top:76,train:52,transform:[9,10,11,64,68,74,81],transformed_seri:81,travers:[61,64,68,76,83],tree:[61,64],tri:59,trivial:[50,52,58],truncat:39,tupl:[3,4,5,39],turn:62,two:[11,50,51,52,58,59,61,64,68,74,81,82,83],txt:[18,27,75],type:[0,1,3,4,5,6,7,8,9,10,11,34,35,36,37,38,39,42,50,51,53,54,55,60,63,64,69,70,75,76,77,78,79,80,83],type_aft:[5,74],type_befor:[5,74],type_geometri:75,type_image_path:75,type_inference_report_fram:[1,5],type_nam:67,typerel:[1,73],typeset:[1,3,4,5,6,7,8,52,59,60,61,62,63,64,67,69,70,73,76,78,80],typeset_1:83,typeset_2:83,typic:[50,77],uint64:58,ultim:59,uncov:62,under:[0,51,58,82],underli:[11,58,64,82],understand:[52,57,58,59,63,64,68],unexpect:66,union:[6,7,38,39],uniqu:[55,64,74],univers:[61,64],unnecessarili:59,upcast:[58,59],updat:65,upon:[68,74],url:[1,35,51,53,56,58,61,70,79,83],url_contain:32,url_nan_seri:77,url_none_seri:77,url_seri:77,urllib:32,urlpars:32,usag:[50,52,58,67,70,74],use:[52,58,62,64,66,67,68,74,76,78,80,83],used:[38,50,52,54,58,59,64,65,68,73,77,80,83],useful:[58,67,74],user:[18,22,27,39,50,55,58,60,62,64,65,68],uses:[64,65,68,77],using:[50,54,56,59,64,65,74,76],usual:64,util:[1,50,77],uuid:[1,35,70,79],uuid_contain:33,uuid_str:33,valid:[64,81],valu:[16,42,50,52,53,55,61,63,64,68,71,74],valueerror:38,vari:83,variabl:[50,53,73],variable_set:73,variabletypeset:73,varieti:55,variou:[52,68,72],vector:52,veri:[0,61],versa:52,version:62,via:[49,52],vice:52,view:[57,59,65,68,83],violat:62,virtual:68,virtualenv:39,vision:[1,49,50,52,53,54,56,57,58,59,60,61,62,65,66,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83],visions_typ:74,visionsbasetyp:[1,5,6,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,34,71,73,74],visionstypeset:[1,3,4,5,6,7,8,73,83],visiontypeset:74,visit:50,visualis:[61,83],volum:56,wage:51,wai:[42,50,51,52,57,59,63,68,71,73,74,76,80,82],want:[0,52,58,64,66,68],warn:42,warning_handl:1,web:65,welcom:[0,65],well:[52,53,64],were:[3,4,69],weren:83,what:[50,57,62,83],whatev:81,when:[0,38,42,52,53,55,56,58,59,60,61,63,64,65,74,76,83],where:[0,49,50,52,53,59,62,63,64,68,74,80],whether:[11,52,55,59,64,68,74],which:[3,4,52,55,58,62,63,64,65,67,70,72,74,77,81,83],whose:64,why:58,wise:[3,4],wish:52,within:[50,51,59,60,68,71],without:[51,58,59,62,64,70,83],wkt:[21,42],woman:74,wonder:59,word:64,work:[49,53,56,58,59,62,68,76,78,80],workflow:[49,55,65],world:[52,62,76],worthwhil:53,would:[49,59,62,64,73,83],wouldn:74,wrap:42,write:[0,38],written:65,www:[32,70],year:56,yet:[62,81],yield:50,york:51,you:[0,49,50,54,56,59,65,66,67,68,69,74,75,76,77,78,80,83],your:[0,54,59,62,65,66,67,69,74,76,77,83],your_typeset:67,yourself:74,yourtype1:77,yourtype2:77,yourtype3:77,yourtypeset:77,yuan:51,yyyymmdd:74,zaxr:55},titles:["Visions","API","visions.declarative.create_type","visions.functional.cast_to_detected","visions.functional.cast_to_inferred","visions.functional.compare_detect_inference_frame","visions.functional.detect_type","visions.functional.infer_type","visions.functional.type_inference_report_frame","visions.relations.relations.IdentityRelation","visions.relations.relations.InferenceRelation","visions.relations.relations.TypeRelation","visions.types.boolean","visions.types.categorical","visions.types.complex","visions.types.count","visions.types.date","visions.types.date_time","visions.types.file","visions.types.float","visions.types.generic","visions.types.geometry","visions.types.image","visions.types.integer","visions.types.ip_address","visions.types.object","visions.types.ordinal","visions.types.path","visions.types.string","visions.types.time","visions.types.time_delta","visions.types.type.VisionsBaseType","visions.types.url","visions.types.uuid","visions.typesets.VisionsTypeset","visions.typesets.complete_set","visions.typesets.geometry_set","visions.typesets.standard_set","visions.utils.graph","visions.utils.images.image_utils","visions.utils.monkeypatches.imghdr_patch","visions.utils.monkeypatches.pathlib_patch","visions.utils.warning_handling","Declarative API","Functional API","Relations","Types","Typesets","Utils","Applications","Data Compression","Data Discovery and Data Integration","Machine Learning","Data Summarization","Users","Data Validation","About","Background","Data Type View","Design decisions","Goals","Graph view","Open challenges","Nested set view","Theory","Community contributions","Support","Contributions new types to visions","Concepts","Examples","Casting example","Country code type example","Membership example","Problem type inference","Extending","Installation","Introduction","Typeset testing","Usage","Defaults","Importing the module","Type Relations","Types","Typesets"],titleterms:{"abstract":[46,47],"boolean":12,"default":79,"float":19,"function":[3,4,5,6,7,8,44,47],"import":80,"new":67,"short":59,The:[64,83],about:56,all:65,anoth:74,api:[1,43,44,47,74],applic:49,background:[57,64],bitmap:59,can:76,cast:[61,70,83],cast_to_detect:3,cast_to_inf:4,categor:13,challeng:[62,64],chang:[44,62],check:59,circuit:59,cite:56,code:[62,71],commun:65,compar:58,compare_detect_inference_fram:5,complete_set:35,complex:14,compress:50,compressio:50,concept:[58,68],concret:47,confid:52,constraint:59,contain:77,contribut:[65,67],convers:77,count:15,countri:71,create_typ:2,current:58,custom:74,data:[50,51,53,55,58,62],date:16,date_tim:17,decis:59,declar:[2,43,74],decoupl:58,dedic:62,defin:59,depend:65,design:59,detail:83,detect:[61,83],detect_typ:6,discoveri:51,document:65,doe:76,don:[59,62],dtype:59,encod:52,exampl:[69,70,71,72,74],extend:74,extens:61,fail:58,file:18,fix:62,from:74,gener:[20,83],geometri:21,geometry_set:36,github:66,goal:60,graph:[38,61],how:[58,76],hundr:62,identityrel:9,imag:[22,39],image_util:39,imghdr_patch:40,indic:0,infer:[52,59,61,73,77,83],infer_typ:7,inferencerel:10,inherit:59,instal:[65,75],integ:23,integr:51,introduct:[76,83],ip_address:24,issu:66,learn:52,line:62,lint:65,logic:[58,62],machin:[52,62],mai:62,make:62,map:[61,68],membership:[72,82],memori:59,miss:[58,59],mix:62,model:[52,58],modul:[62,80],monkeypatch:[40,41],multipl:83,need:[58,62],nest:63,nullabl:59,numpi:58,object:25,oop:59,open:[62,64],ordin:26,overflow:66,panda:58,path:27,pathlib_patch:41,physic:58,pip:75,problem:[52,58,73],profil:52,python:58,refer:58,relat:[9,10,11,45,59,61,68,81,82],requir:[62,75],sampl:59,score:52,scratch:74,semant:[46,62],set:[62,63],small:62,solut:64,sourc:75,stack:66,standard_set:37,string:[28,58],summar:53,support:66,tabl:0,test:[59,65,77],theori:64,time:29,time_delta:30,togeth:65,type:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,44,46,52,58,59,61,62,67,68,71,73,74,81,82],type_inference_report_fram:8,typerel:11,typeset:[34,35,36,37,44,47,68,74,77,83],unifi:58,url:32,usag:[59,78],use:59,user:54,util:[38,39,40,41,42,48],uuid:33,valid:55,valu:[58,59],variabl:52,view:[58,61,63],vision:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,64,67],visionsbasetyp:31,visionstypeset:34,warning_handl:42,what:[58,76],where:58,why:[59,64],work:64}}) \ No newline at end of file +Search.setIndex({docnames:["index","visions/api","visions/api/_autosummary/visions.declarative.create_type","visions/api/_autosummary/visions.functional.cast_to_detected","visions/api/_autosummary/visions.functional.cast_to_inferred","visions/api/_autosummary/visions.functional.compare_detect_inference_frame","visions/api/_autosummary/visions.functional.detect_type","visions/api/_autosummary/visions.functional.infer_type","visions/api/_autosummary/visions.functional.type_inference_report_frame","visions/api/_autosummary/visions.relations.relations.IdentityRelation","visions/api/_autosummary/visions.relations.relations.InferenceRelation","visions/api/_autosummary/visions.relations.relations.TypeRelation","visions/api/_autosummary/visions.types.boolean","visions/api/_autosummary/visions.types.categorical","visions/api/_autosummary/visions.types.complex","visions/api/_autosummary/visions.types.count","visions/api/_autosummary/visions.types.date","visions/api/_autosummary/visions.types.date_time","visions/api/_autosummary/visions.types.file","visions/api/_autosummary/visions.types.float","visions/api/_autosummary/visions.types.generic","visions/api/_autosummary/visions.types.geometry","visions/api/_autosummary/visions.types.image","visions/api/_autosummary/visions.types.integer","visions/api/_autosummary/visions.types.ip_address","visions/api/_autosummary/visions.types.object","visions/api/_autosummary/visions.types.ordinal","visions/api/_autosummary/visions.types.path","visions/api/_autosummary/visions.types.string","visions/api/_autosummary/visions.types.time","visions/api/_autosummary/visions.types.time_delta","visions/api/_autosummary/visions.types.type.VisionsBaseType","visions/api/_autosummary/visions.types.url","visions/api/_autosummary/visions.types.uuid","visions/api/_autosummary/visions.typesets.VisionsTypeset","visions/api/_autosummary/visions.typesets.complete_set","visions/api/_autosummary/visions.typesets.geometry_set","visions/api/_autosummary/visions.typesets.standard_set","visions/api/_autosummary/visions.utils.graph","visions/api/_autosummary/visions.utils.images.image_utils","visions/api/_autosummary/visions.utils.monkeypatches.imghdr_patch","visions/api/_autosummary/visions.utils.monkeypatches.pathlib_patch","visions/api/_autosummary/visions.utils.warning_handling","visions/api/declarative","visions/api/functional","visions/api/relations","visions/api/types","visions/api/typesets","visions/api/utils","visions/applications/applications","visions/applications/compression","visions/applications/integration","visions/applications/machine_learning","visions/applications/summarizer","visions/applications/users","visions/applications/validation","visions/background/about","visions/background/background","visions/background/data_type_view","visions/background/engineering_view","visions/background/goals","visions/background/graph_view","visions/background/motivation","visions/background/nested_set_view","visions/background/theory","visions/contributing/contributing","visions/contributing/support","visions/contributing/type","visions/getting_started/concepts","visions/getting_started/examples","visions/getting_started/examples/casting","visions/getting_started/examples/country_code_type","visions/getting_started/examples/membership","visions/getting_started/examples/ml_problem_set","visions/getting_started/extending","visions/getting_started/installation","visions/getting_started/introduction","visions/getting_started/testing","visions/getting_started/usage","visions/getting_started/usage/defaults","visions/getting_started/usage/import","visions/getting_started/usage/relations","visions/getting_started/usage/types","visions/getting_started/usage/typesets"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.rst","visions/api.rst","visions/api/_autosummary/visions.declarative.create_type.rst","visions/api/_autosummary/visions.functional.cast_to_detected.rst","visions/api/_autosummary/visions.functional.cast_to_inferred.rst","visions/api/_autosummary/visions.functional.compare_detect_inference_frame.rst","visions/api/_autosummary/visions.functional.detect_type.rst","visions/api/_autosummary/visions.functional.infer_type.rst","visions/api/_autosummary/visions.functional.type_inference_report_frame.rst","visions/api/_autosummary/visions.relations.relations.IdentityRelation.rst","visions/api/_autosummary/visions.relations.relations.InferenceRelation.rst","visions/api/_autosummary/visions.relations.relations.TypeRelation.rst","visions/api/_autosummary/visions.types.boolean.rst","visions/api/_autosummary/visions.types.categorical.rst","visions/api/_autosummary/visions.types.complex.rst","visions/api/_autosummary/visions.types.count.rst","visions/api/_autosummary/visions.types.date.rst","visions/api/_autosummary/visions.types.date_time.rst","visions/api/_autosummary/visions.types.file.rst","visions/api/_autosummary/visions.types.float.rst","visions/api/_autosummary/visions.types.generic.rst","visions/api/_autosummary/visions.types.geometry.rst","visions/api/_autosummary/visions.types.image.rst","visions/api/_autosummary/visions.types.integer.rst","visions/api/_autosummary/visions.types.ip_address.rst","visions/api/_autosummary/visions.types.object.rst","visions/api/_autosummary/visions.types.ordinal.rst","visions/api/_autosummary/visions.types.path.rst","visions/api/_autosummary/visions.types.string.rst","visions/api/_autosummary/visions.types.time.rst","visions/api/_autosummary/visions.types.time_delta.rst","visions/api/_autosummary/visions.types.type.VisionsBaseType.rst","visions/api/_autosummary/visions.types.url.rst","visions/api/_autosummary/visions.types.uuid.rst","visions/api/_autosummary/visions.typesets.VisionsTypeset.rst","visions/api/_autosummary/visions.typesets.complete_set.rst","visions/api/_autosummary/visions.typesets.geometry_set.rst","visions/api/_autosummary/visions.typesets.standard_set.rst","visions/api/_autosummary/visions.utils.graph.rst","visions/api/_autosummary/visions.utils.images.image_utils.rst","visions/api/_autosummary/visions.utils.monkeypatches.imghdr_patch.rst","visions/api/_autosummary/visions.utils.monkeypatches.pathlib_patch.rst","visions/api/_autosummary/visions.utils.warning_handling.rst","visions/api/declarative.rst","visions/api/functional.rst","visions/api/relations.rst","visions/api/types.rst","visions/api/typesets.rst","visions/api/utils.rst","visions/applications/applications.rst","visions/applications/compression.rst","visions/applications/integration.rst","visions/applications/machine_learning.rst","visions/applications/summarizer.rst","visions/applications/users.rst","visions/applications/validation.rst","visions/background/about.rst","visions/background/background.rst","visions/background/data_type_view.rst","visions/background/engineering_view.rst","visions/background/goals.rst","visions/background/graph_view.rst","visions/background/motivation.rst","visions/background/nested_set_view.rst","visions/background/theory.rst","visions/contributing/contributing.rst","visions/contributing/support.rst","visions/contributing/type.rst","visions/getting_started/concepts.rst","visions/getting_started/examples.rst","visions/getting_started/examples/casting.rst","visions/getting_started/examples/country_code_type.rst","visions/getting_started/examples/membership.rst","visions/getting_started/examples/ml_problem_set.rst","visions/getting_started/extending.rst","visions/getting_started/installation.rst","visions/getting_started/introduction.rst","visions/getting_started/testing.rst","visions/getting_started/usage.rst","visions/getting_started/usage/defaults.rst","visions/getting_started/usage/import.rst","visions/getting_started/usage/relations.rst","visions/getting_started/usage/types.rst","visions/getting_started/usage/typesets.rst"],objects:{"visions.declarative":{create_type:[2,0,1,""]},"visions.functional":{cast_to_detected:[3,0,1,""],cast_to_inferred:[4,0,1,""],compare_detect_inference_frame:[5,0,1,""],detect_type:[6,0,1,""],infer_type:[7,0,1,""],type_inference_report_frame:[8,0,1,""]},"visions.relations.relations":{IdentityRelation:[9,1,1,""],InferenceRelation:[10,1,1,""],TypeRelation:[11,1,1,""]},"visions.relations.relations.IdentityRelation":{__init__:[9,2,1,""]},"visions.relations.relations.InferenceRelation":{__init__:[10,2,1,""]},"visions.relations.relations.TypeRelation":{__init__:[11,2,1,""]},"visions.types":{"boolean":[12,3,0,"-"],"float":[19,3,0,"-"],categorical:[13,3,0,"-"],complex:[14,3,0,"-"],count:[15,3,0,"-"],date:[16,3,0,"-"],date_time:[17,3,0,"-"],file:[18,3,0,"-"],generic:[20,3,0,"-"],geometry:[21,3,0,"-"],image:[22,3,0,"-"],integer:[23,3,0,"-"],ip_address:[24,3,0,"-"],object:[25,3,0,"-"],ordinal:[26,3,0,"-"],path:[27,3,0,"-"],string:[28,3,0,"-"],time:[29,3,0,"-"],time_delta:[30,3,0,"-"],url:[32,3,0,"-"],uuid:[33,3,0,"-"]},"visions.types.boolean":{Boolean:[12,1,1,""]},"visions.types.boolean.Boolean":{contains_op:[12,2,1,""]},"visions.types.categorical":{Categorical:[13,1,1,""]},"visions.types.categorical.Categorical":{contains_op:[13,2,1,""]},"visions.types.complex":{Complex:[14,1,1,""]},"visions.types.complex.Complex":{contains_op:[14,2,1,""]},"visions.types.count":{Count:[15,1,1,""]},"visions.types.count.Count":{contains_op:[15,2,1,""]},"visions.types.date":{Date:[16,1,1,""]},"visions.types.date.Date":{contains_op:[16,2,1,""]},"visions.types.date_time":{DateTime:[17,1,1,""]},"visions.types.date_time.DateTime":{contains_op:[17,2,1,""]},"visions.types.file":{File:[18,1,1,""]},"visions.types.file.File":{contains_op:[18,2,1,""]},"visions.types.float":{Float:[19,1,1,""]},"visions.types.float.Float":{contains_op:[19,2,1,""]},"visions.types.generic":{Generic:[20,1,1,""]},"visions.types.generic.Generic":{contains_op:[20,2,1,""]},"visions.types.geometry":{Geometry:[21,1,1,""]},"visions.types.geometry.Geometry":{contains_op:[21,2,1,""]},"visions.types.image":{Image:[22,1,1,""]},"visions.types.image.Image":{contains_op:[22,2,1,""]},"visions.types.integer":{Integer:[23,1,1,""]},"visions.types.integer.Integer":{contains_op:[23,2,1,""]},"visions.types.ip_address":{IPAddress:[24,1,1,""]},"visions.types.ip_address.IPAddress":{contains_op:[24,2,1,""]},"visions.types.object":{Object:[25,1,1,""]},"visions.types.object.Object":{contains_op:[25,2,1,""]},"visions.types.ordinal":{Ordinal:[26,1,1,""]},"visions.types.ordinal.Ordinal":{contains_op:[26,2,1,""]},"visions.types.path":{Path:[27,1,1,""]},"visions.types.path.Path":{contains_op:[27,2,1,""]},"visions.types.string":{String:[28,1,1,""]},"visions.types.string.String":{contains_op:[28,2,1,""]},"visions.types.time":{Time:[29,1,1,""]},"visions.types.time.Time":{contains_op:[29,2,1,""]},"visions.types.time_delta":{TimeDelta:[30,1,1,""]},"visions.types.time_delta.TimeDelta":{contains_op:[30,2,1,""]},"visions.types.type":{VisionsBaseType:[31,1,1,""]},"visions.types.type.VisionsBaseType":{__init__:[31,2,1,""]},"visions.types.url":{URL:[32,1,1,""]},"visions.types.url.URL":{contains_op:[32,2,1,""]},"visions.types.uuid":{UUID:[33,1,1,""]},"visions.types.uuid.UUID":{contains_op:[33,2,1,""]},"visions.typesets":{VisionsTypeset:[34,1,1,""],complete_set:[35,3,0,"-"],geometry_set:[36,3,0,"-"],standard_set:[37,3,0,"-"]},"visions.typesets.VisionsTypeset":{__init__:[34,2,1,""],base_graph:[34,4,1,""],relation_graph:[34,4,1,""],types:[34,4,1,""]},"visions.typesets.complete_set":{CompleteSet:[35,1,1,""]},"visions.typesets.geometry_set":{GeometrySet:[36,1,1,""]},"visions.typesets.standard_set":{StandardSet:[37,1,1,""]},"visions.utils":{graph:[38,3,0,"-"],warning_handling:[42,3,0,"-"]},"visions.utils.graph":{output_graph:[38,0,1,""]},"visions.utils.images":{image_utils:[39,3,0,"-"]},"visions.utils.images.image_utils":{decode_byte_exif:[39,0,1,""],extract_exif:[39,0,1,""],get_image_shape:[39,0,1,""],hash_image:[39,0,1,""],is_image_truncated:[39,0,1,""],open_image:[39,0,1,""]},"visions.utils.monkeypatches":{imghdr_patch:[40,3,0,"-"],pathlib_patch:[41,3,0,"-"]},"visions.utils.monkeypatches.imghdr_patch":{test_jpeg1:[40,0,1,""],test_jpeg2:[40,0,1,""],test_jpeg3:[40,0,1,""]},"visions.utils.warning_handling":{discard_stderr:[42,0,1,""],suppress_warnings:[42,0,1,""]}},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","module","Python module"],"4":["py","attribute","Python attribute"]},objtypes:{"0":"py:function","1":"py:class","2":"py:method","3":"py:module","4":"py:attribute"},terms:{"0":[11,14,19,24,29,52,58,59,62,64,70,72,73,81],"0000":70,"00000000":70,"000000000000":70,"01":63,"02":63,"02145":56,"05":73,"0b8a22ca":[33,70],"1":[11,13,14,15,19,20,21,23,24,25,26,30,51,52,55,59,60,64,68,70,71,72,73,74,77,81,83],"10":[15,29,56],"100":64,"1001":51,"1012":51,"10x":50,"12":[16,17,39],"127":24,"128":24,"17":29,"2":[11,14,19,21,23,24,26,51,55,58,59,60,68,70,71,72,73,74,77,81,83],"20":15,"2004":55,"2006":52,"2015":58,"2016":58,"2017":[16,17],"2018":51,"2019":[16,17],"2020":[56,63],"21":29,"21105":56,"2145":56,"23":62,"3":[11,14,16,17,23,26,30,33,39,51,55,68,70,72,74,77,81,83],"3166":71,"34th":51,"38":52,"4":[15,16,17,29,55,68],"41":51,"42":[21,52],"48":56,"484":59,"4ad2f664102c031705d4eda6bf50e27a78bfc96d":62,"4df5":[33,70],"4f63":[33,70],"5":[16,17,19,52,55,56,68],"6":55,"61275cf63d981d332220fa3aef157989fcef3305":62,"66":50,"7":70,"7c900e9a23c6":[33,70],"7eguido":[32,70],"8":[29,39,52],"80":[32,51,52,70],"80ad":[33,70],"8442":[33,70],"85ac":[33,70],"88c8":[33,70],"9":51,"92":21,"abstract":[1,31,58,59,60,68,76,82],"boolean":[1,35,36,37,50,58,59,63,64,72,74,79,83],"byte":[39,50],"case":[52,59,74,77,83],"catch":83,"class":[9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,52,59,71,73,74],"default":[52,59,60,61,67,74,75,76,77,83],"do":[50,52,59,64,65,71],"float":[1,11,35,36,37,52,55,58,62,64,68,70,79,81,82,83],"function":[1,9,10,11,42,55,58,61,62,64,68,70,74,77,78,83],"import":[8,11,12,13,16,17,18,19,20,21,22,23,24,26,27,29,30,32,33,52,60,65,70,71,72,73,74,77,81,82,83],"int":[39,58,72],"new":[51,53,58,59,60,66,74],"null":59,"public":[51,56],"return":[3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,42,52,61,64,71,73,74,83],"static":[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,50,62],"super":[73,74],"true":[10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,52,61,63,72,74,81,82],"try":[42,58,65],"var":73,"while":[42,50,51,52,58,64,74,81,82],A:[3,4,6,7,11,34,50,51,52,53,55,59,61,62,64,65,68,82],AS:71,AT:71,And:0,As:[50,82,83],At:[58,82],BE:71,BY:71,By:[75,79,82],For:[0,11,49,50,52,55,58,59,60,61,62,63,64,68,74,75,77],IN:71,IS:71,IT:71,If:[53,65,66,68,69,77],In:[11,51,52,55,61,64,74,82,83],It:[0,49,58,59,64,75,76,78],NO:71,No:[50,51],Not:[62,81],Of:59,On:76,One:[52,62,69,80],TO:71,The:[34,37,51,52,53,55,56,58,59,61,62,65,71,72,73,74,75,76,77,80,81],There:[50,52,53,58,62,63,77],These:[55,64,68,83],To:[58,65,67,75,77,82],_:73,__init__:[9,10,11,31,34,67,73,74],aaa381d6:[33,70],abedjan:51,abid:65,abl:[62,64,83],about:[52,63,66,82,83],abov:[55,65],access:[65,80],account:73,accur:55,achiev:[58,73],action:[65,83],activ:52,actual:[58,59,60,64],ad:[54,58,59,62,71,74],add:[62,67,74],addit:[49,51,61,65,74,75],addition:[64,77],address:[24,62],adequ:65,adher:[52,61],adt:58,advanc:65,ae:71,af:71,after:65,ag:71,against:[3,4,77],agre:62,ai:71,aim:67,akin:64,al:[51,55,56,71],algebra:74,algorithm:76,all:[11,16,22,35,58,59,61,62,63,64,69,71,75,77,81,82,83],allow:[51,58,59,62,68,74,81],alpha:71,alreadi:64,also:[52,53,58,61,62,64,74,80,82],altern:[11,74,80],although:[49,74],alwai:55,am:71,ambigu:52,amsterdam:51,an:[11,49,50,51,52,53,56,58,60,62,63,64,66,73,74,77,80,81,82,83],analysi:[50,52,53,55,58,69,74,76,83],analyst:64,analyt:64,ani:[59,61,64,68,74,83],anoth:[51,52,58,61,62,76,82,83],answer:[59,82,83],ao:71,api:[31,67,73,83],appear:62,appl:[58,82],appli:[52,73,77,81],applic:[55,62,76],approach:51,appropri:0,approx:55,approxim:[50,55],april:51,aq:71,ar:[11,16,49,50,51,52,53,54,55,58,60,61,63,64,65,66,68,71,74,75,76,77,80,82,83],arbitrarili:83,arg:[74,77],argument:[62,64],around:58,arr:50,arrai:[12,14,19,68,74],articl:56,ask:66,aspect:[52,58],assert:[55,77],assess:77,associ:[34,61,64],assum:52,assumpt:[55,62],astyp:74,attempt:[58,83],attr:[9,10,11],attribut:[9,10,11,34,64],au:71,aurum2018datadiscoveri:51,aurum:51,author:56,autom:[53,55,62],automat:[50,52,65,77],automl:[52,62],avail:[64,80,83],avoid:52,aw:71,awai:52,ax:71,axelderomblai:62,axiom:60,az:71,b:[11,59,64,82],ba:71,back:[67,81],background:52,bad:42,bag:61,barjn:60,base:[5,6,8,50,51,52,59,61,74,77,83],base_graph:34,baselin:83,basic:[0,58,82],bb:71,bd:71,becaus:[55,68,83],been:[55,74],befor:[61,80],begin:[59,65,69],behaviour:[59,66],behind:64,being:[58,65],belief:62,believ:62,belong:[52,83],below:[63,65,67,77,83],benefici:59,benefit:55,best:83,better:0,between:[11,34,52,53,55,58,61,62,64,68,74,81,82],beyond:[53,83],bf:71,bg:71,bh:71,bi:71,bias:52,bibtex:56,binari:[52,73,74],binaryclassif:73,bishop2006pattern:52,bishop:52,bit:59,bitmap:58,bj:71,bjarn:[0,65],bl:71,black:65,blob:62,block:82,bm:71,bn:71,bo:71,bond:81,book:[55,62],bool:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,38,39,50,58,72,73,74],boolean_contain:12,booleannl:74,both:[34,51,52,60,61,64],bound:64,bq:71,br:71,broadli:83,brugman2020:56,brugman:56,bs:71,bt:71,build:[31,59,65,76,82],builtin:64,bull:51,bulwark:55,busi:64,bv:71,bw:71,bz:71,c:[0,51,52],ca:71,calibr:52,call:[64,83],callabl:42,can:[0,11,49,50,51,52,53,55,56,58,59,61,62,63,64,65,68,73,74,75,77,78,80,81,82,83],cancer:52,cannot:[50,64],cap:61,capabl:[82,83],cardin:73,carter:28,cast:[3,4,58,64,69],cast_df:70,cast_to_detect:1,cast_to_inf:[1,70,83],casting_exampl:70,cat:[73,74],categor:[1,35,36,37,52,58,62,73,74,79,83],categori:[13,26,52,58,64,74],categorical_contain:13,categoricalstr:74,caus:55,cc:71,cd:[65,71,75],centric:62,certain:[55,59],certainti:52,cf:71,cg:71,ch:71,champion:28,chang:[1,74],chapter:52,characterist:[53,82],check:[55,65,74,82],checklist:67,choic:59,choos:[70,74],chosen:76,ci:71,circl:63,circular:63,circumst:68,citat:56,ck:71,cl:[71,73,74],classif:[52,73],classifi:52,classmethod:[71,73,74],clean:76,clone:75,close:59,closest:83,cm:71,cn:71,co:71,code:[49,50,52,55,65,68,69,74],coerc:64,coercion:[58,64],coercion_test:74,collect:[34,62,64,68,77],column:[3,4,5,6,7,51,62,73,74],com:[32,51,55,62,70,75],combat:62,combin:[51,58,77,83],come:[51,63,64,68,74],command:65,comment:73,commit:65,common:[31,51,62],commun:62,compani:51,compar:[5,8,68],compare_detect_inference_fram:[1,8,74],complet:[35,49,55,63,70,75,79,83],complete_set:1,completeset:[35,61,63,70,74,77,80,83],complex:[1,35,36,37,55,58,59,60,62,76,79,83],complex_contain:14,complic:68,compon:[55,58,64,82],compos:[34,60,64,68],compress:62,compressio:54,comput:[52,64,68],computation:62,concept:[57,59,78],conceptu:64,concern:[58,62],concret:[1,58,82],confer:51,configur:68,conflict:80,consequ:50,consid:[50,51,52,74],consist:[50,55,64,68],constrain:[63,68],constraint:[0,58,61,63],construct:[59,64,67,68,83],contain:[2,51,62,63,64,68,74],contains_map:77,contains_op:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,71,73,74],content:59,context:[5,6,7,8,62],continu:[52,61,67,73],continuumio:62,contradictori:64,contravari:59,contrib:67,contribut:[49,74,75],conveni:74,convers:[58,76],convert:[11,62,76,83],copi:[38,59,83],core:[12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,59,78],correct:[52,55],correspond:[58,68],cost:52,could:[0,49,51,52,55,73,74,80],count:[1,35,52],count_contain:15,countri:69,country_code_type_exampl:71,countrycod:71,coupl:[55,62,64],covari:59,cr:71,cram:62,creat:[38,54,58,63,67,70,74,76],create_typ:[1,74],creation:76,creator:0,critic:51,csparpa:55,csv:[8,51,52],cu:71,current:[7,51,54,59,62,64,74,77,80],custom:[31,52,58,62,76],customset:74,cut:65,cv:71,cw:71,cwi:[32,70],cx:71,cy:71,cyberpanda:62,cycl:[61,64],cz:71,d:49,dai:[30,68],data:[0,3,4,5,6,7,11,31,40,52,56,59,60,61,63,64,68,69,70,74,76,83],data_analysi:74,datafram:[3,4,6,7,8,50,59,70,73,83],dataset:[8,50,51,52,53,55,64,73,76],datasetsearch:51,date:[1,35,53,58,62,63,64,74],date_contain:16,date_pars:62,date_tim:[1,74],datetim:[16,17,29,30,35,36,37,58,62,63,64,68,74,79,80,83],datetime_contain:17,datetimeintyyyymmdd:74,dayfirst:62,de:71,debug:74,decid:[50,61,64],decis:52,declar:[1,68],decod:39,decode_byte_exif:39,decoupl:[50,55,59,62,82],dedic:53,deeper:68,def:[71,73,74,77],default_rel:[10,11],defin:[0,11,55,58,61,62,64,68,71,74,76,77,81,82,83],definit:[63,64],delimet:62,demonstr:[53,70,72],denot:[50,63,68],depend:[52,55,60,62,68,73,75],depth:61,deriv:34,describ:64,design:[55,58,60,64],detail:[58,74],detect:[3,5,6,8,58,59,64,70,73,76,77],detect_typ:[1,70,73,83],determin:[11,52,64],determinist:64,dev:[55,58,65],develop:[51,55,60,62,64,65,74,75,76],df:[8,70,74],diagnosi:52,dict:[6,7,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,39,73],dictionari:[6,7],didn:83,differ:[58,61,62,64,68,83],differenti:52,difficult:52,digit:55,digraph:38,direct:[61,64],directori:77,discard_stderr:42,discret:[52,73],discuss:[49,55,58,59],disjoint:[61,64],disk:[64,68],distinct:[50,52,58,64,68,74,82],distinguish:[52,64],dj:71,dk:71,dm:71,doc:[33,38,51,62,65,78],docsrc:[65,67],docstr:67,document:[58,59,67,74,83],doe:[38,50,57,58,59],doesn:73,dog:73,doi:56,dollar:51,domain:[58,61,64,74],done:62,dot:38,down:75,downstream:49,draw:52,dtype:[13,26,58,72,73,74],dual:64,dummi:52,dure:59,dylan:[56,75],dynam:[59,68],dz:71,e:[18,22,50,58,59,61,62,64,65],each:[7,50,52,58,59,61,63,64,65,68,74,77,82,83],easi:[64,74],easier:50,easiest:80,easili:77,eav:56,ec:71,eda:53,edg:[61,64],ee:71,effect:[50,53,59,76,82],effici:[0,50,58,60,76],eg:71,eh:71,either:[38,64,74],element:[58,60,64,82],elsewher:74,emailaddress:35,embed:52,empti:83,emptyset:61,enabl:60,encod:[11,39,50,62,68,83],encompass:[52,62],encount:52,encourag:56,end:[38,59,67],enforc:52,eng:51,engard:55,engin:[51,58,83],enorm:52,enough:62,environ:[0,68],envis:58,equival:[64,65],er:71,error:52,es:71,especi:52,essenti:[53,76],et:[51,55,56,71],etc:[0,58],euro:51,even:[49,74],everi:[53,58,68,82],evolv:67,evolve_typ:74,exact:58,exampl:[5,8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,49,50,52,55,58,59,61,62,63,64,68,73,75,77,78,81,82,83],excel:[52,62,63,83],except:[61,64],excit:49,exclus:[34,59,61,63,74],execut:42,exercis:52,exhaust:[49,57],exif:40,exif_v:39,exist:[18,60,74],expand:[67,74],expect:[55,77,83],expens:62,experi:75,explain:[52,78],explicit:62,explor:49,exploratori:[53,76],expos:83,express:[58,60],extend:[0,59,60,61,62,73,76],extens:[38,51,60,62,77],extensionsdtyp:58,extract:58,extract_exif:39,extrem:76,f:[5,40,51,61,73,74],fa49c44b7ed:[33,70],facilit:55,fact:74,failur:42,fairli:83,fals:[9,12,13,61,63,72,73,74,81,82],familiar:64,featur:[66,74],feel:[54,67],femal:50,fernandez:51,few:[49,64],fi:71,field:[52,55],file:[1,22,27,35,38,51,52,59,65,66,67,68,75,79,83],file_contain:18,file_format:38,file_nam:38,fill:[52,69],find:[49,51,56,57,63,64,65,67,74,80],finger:65,finit:52,first:[3,4,51,58,61,64],five:55,fix:60,fj:71,fk:71,flexibl:[0,62,64,68,76],float_contain:19,float_int_rel:81,fluentcheck:55,fm:71,fmri:52,fo:71,focu:[52,55],folder:65,follow:[35,36,37,54,64,71,72,73,74,76,79,80],footnot:[51,52,55],forest:52,form:68,formal:61,format:[5,8,38,40],forward:51,found:[53,56,59,68,73],foundat:[60,62],fr:71,framework:[60,62,68],free:[54,64,67],freedom:64,from:[6,7,8,11,21,22,24,30,32,34,39,50,51,52,55,58,59,60,61,63,64,65,68,70,71,73,75,76,77,80,82,83],fruit:[58,68,82],full:[34,51],fulli:49,func:[42,74],fundament:[0,82],furthermor:78,g:[38,50,51,62,64,65],ga:71,gather:74,gb:71,gd:71,ge:71,gener:[1,9,10,11,50,61,63,64,65,66,72,73,74,77,81,82],geodata:75,geometri:[1,35,36,68,75,79,83],geometry_contain:21,geometry_set:1,geometryset:[36,61],get:[0,42,53,65,73],get_contains_cas:77,get_image_shap:39,get_rel:[71,73,74],get_seri:77,get_type_from_path:73,getting_start:67,gf:71,gg:71,gh:71,gi:71,git:[54,75],github:[32,55,56,62,65,70,75],give:[52,58,64],given:[5,7,59,61,68,73,82],gl:71,gm:71,gn:71,go:[65,81],goal:[59,64],goe:53,good:62,googl:51,got:[0,83],gotcha:[80,83],gp:71,gq:71,gr:71,graph:[1,5,6,34,51,59,63,64,68,76,83],graphviz:38,great:[55,75],great_expect:55,ground:55,group:[58,68,83],grow:62,gs:71,gt:71,gu:71,guarante:[55,64],guid:[58,59,77],guidelin:65,gw:71,gy:71,h2o:62,h2oai:62,h:40,ha:[50,52,53,55,58,61,63,74,80],had:64,hand:51,handl:[54,58],happen:[65,83],hardwar:0,hash_imag:39,hasnan:71,have:[49,51,52,55,58,59,61,62,63,64,65,66,75,82],header:[40,62],heavili:60,help:[49,50,58,74,76,77],helper:[55,74],henc:[61,63],here:[56,58,59,67,80],heurist:62,hi:51,hidden:62,hierarch:52,high:[52,53,58],highli:55,hint:59,hit:42,hk:71,hm:71,hn:71,hoc:62,home:[18,22,27],homepag:50,hood:[58,82],hope:62,hors:73,hostedtoolcach:39,hot:52,hour:30,how:[52,55,59,62,64,65,66,70,73,74,78,80,81],howev:[50,51,52,75],hr:71,ht:71,html:[32,33,38,52,58,62,70],http:[32,33,38,51,52,53,55,56,58,62,65,70,75],hu:71,i:[0,18,22,30,51,58,59,61,62,64],ian:56,icd:51,id:[51,71],idea:[0,64,68],idempot:59,ident:[2,64,74],identifi:[55,77],identity_transform:[9,10],identityrel:[1,34,71,73,74,81,82],ie:71,ieav:54,ieee:51,ietf:33,il:71,ilya:51,im:71,imag:[1,35,38,59,75,79],image_contain:22,image_util:1,imagin:[58,64,74,81,82],imghdr_patch:1,impact:[52,59],implement:[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,52,58,59,61,62,67,74,76,79,81,82,83],implicit:62,improv:65,includ:[34,35,36,37,59,60,62,63,67,69,70,74,75,76,77,79,83],incomplet:58,inconsist:[58,60],increas:[59,76],index:0,indic:[50,52,61,64],infer:[2,4,5,7,8,50,58,62,63,64,68,69,70,74,76],infer_typ:[1,70,83],inferencerel:[1,34,73,74,80,81,82],inferenti:[9,10,11],infinit:50,info:38,inform:[49,51,56,59,67,83],input:[51,55,62,64],inspect:74,inspir:49,instanc:77,instanti:68,instead:[59,64,83],instruct:67,insur:65,int16:58,int32:58,int64:[58,72],int8:58,int_rang:77,int_seri:77,integ:[1,11,15,35,36,37,52,58,59,64,68,70,72,74,79,80,81,82,83],integer_contain:23,integer_is_mydatetim:74,integer_to_mydatetim:74,intend:[53,55,64],intens:62,interest:[0,53,64,69],intern:[51,55,58,77],intertwin:60,interv:52,introduc:[58,61,62,64,68,70,78],intuit:[58,59,63,74],invari:55,invis:81,invit:49,invok:83,io:[58,71],ip:[24,62],ip_address:1,ip_address_contain:24,ipaddress:[24,35,79],ipv4address:24,iq:71,ir:71,is_alpha2:71,is_categorical_dtyp:[73,74],is_image_trunc:39,is_integer_dtyp:73,is_len_2:71,is_numeric_dtyp:73,is_object_dtyp:73,is_rel:[11,81],is_relationship:11,isbn:55,isclos:73,isin:71,isn:58,iso:71,iso_3166_alpha_iso_2_cod:71,isort:65,issu:76,item:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33],its:[52,64],itself:[59,60,68],je:71,jfif:40,jm:71,jmenglund:55,jo:71,joss:56,journal:56,jp:71,jpeg:40,jpg:22,just:[42,50,74],ke:71,keep:[59,64],kei:[0,38,55,64,68],kg:71,kh:71,ki:71,kind:[52,77],kindli:77,km:71,kn:71,know:[65,74,80],knowledg:[51,82],known:[42,52],koko:51,kp:71,kr:71,krekel:55,kw:71,ky:71,kz:71,l454:62,la:71,label:52,lack:58,lai:62,lambda:74,languag:64,larg:[55,59],lb:71,lc:71,learn:[62,73],least:51,left:64,len:[58,71],less:[50,51],let:[49,52,74,76,82,83],level:[53,58,82],li:71,lib:39,librari:[33,56,62,64,76],licens:51,lightweight:75,like:[49,51,58,61,65,68,74,81,82,83],likewis:52,limit:[58,59,63,74],list:[5,49,68,75,77,83],liter:63,lk:71,load:[21,42,80],local:65,log:42,logic:[59,64,68,73,82,83],logist:52,look:[49,51,58,65,74,82,83],lose:50,loss:[58,64],lossless:50,lost:52,love:62,low:[58,73],lr:71,ls:71,lt:71,lu:71,lv:71,ly:71,m:[0,51,52,65],ma:71,machin:[50,53,55,64,68,73,74,82],madden:51,made:59,mai:[50,52,59,61,74],main:[53,60,62],make:[50,52,55,58,64,65,74,82],male:50,man:74,mani:[58,62],manipul:[55,74],manner:[62,68],manual:65,map:[6,7,34,59,63,64,74,76,77,81,82],mark:77,match:[51,61,77,83],max:53,mc:71,md:71,me:[0,71],mean:[49,50,52,55,58,64,73,74,83],mean_var_r:73,mean_var_ratio:73,meaning:55,meant:49,measur:52,mechan:[11,64,68,74],medic:52,meet:74,member:[63,77],membership:[58,61,63,69],membership_exampl:72,memori:[50,82],mental:52,mere:52,messag:77,metadata:51,method:[9,10,11,31,34,52,55,74,81],metric:52,mf:71,mg:71,mh:71,might:[51,52,53,55,58,59,64,68,74,80,83],min:53,minim:[50,64,75,77],minimum:[62,64],miss:[16,52,61,64,77],mix:58,mk:71,ml:71,ml_problem_exampl:73,mlbox:62,mlproblemtypeset:73,mm:71,mn:71,mo:71,model:[73,76],modifi:[59,67],modul:[39,52],modular:59,moment:64,monkeypatch:1,more:[0,49,50,52,56,58,59,60,62,64,68,74,75,82,83],moreov:62,most:[64,74,80],motiv:[58,59],mp:71,mq:71,mr:71,ms:71,mt:71,mu:71,much:[62,64],multiclassif:73,multipl:[57,58,75],mung:50,must:[61,64],mutual:[59,61],mv:71,mw:71,mx:71,my:[0,60,71,82,83],my_typeset:83,mydatetim:74,mypi:65,mz:71,n:59,n_distinct:73,na:71,nai:50,name:[2,6,7,38,51,54,77],namespac:[68,80],nan:[20,25,58,59,70,72,77],narrowest:[61,63],nc:71,ndarrai:[12,14,19],ne:71,need:[11,50,74,75,80],negbinomregress:73,nest:58,networkx:76,never:68,nf:71,ng:71,ni:71,nl:[32,70,71],node:[61,64],nomin:73,non:[52,58],none:[2,9,10,11,12,38,58,59,61,63,72],note:[49,50,58,61,62,74],noth:38,notic:66,notion:[64,68],now:[81,83],np:[20,25,70,71,72,73,77],nr:71,nrow:62,ns:58,nu:71,nullabl:58,number:[52,55,56,58,59,64,74],numbers_with_nan:70,numer:73,numeric_seri:77,numeric_series_miss:77,numpi:[12,14,19,20,60,68,70,72,73,76],nuniqu:73,nz:71,o:59,object:[1,35,36,37,50,58,59,61,64,72,79,80,83],object_contain:25,observ:[50,55],obtain:[50,75],obviou:49,occur:[50,59],offer:59,offic:51,often:[50,52,55,80,82],om:71,omit:83,onc:[62,70,75],one:[11,50,51,52,55,58,61,63,67,76,77,81,83],ones:77,onli:[42,50,55,58,59,62,64,74,75],open:[56,66],open_imag:39,oper:[51,58,59,61,74,83],opinion:62,oppos:[50,62],opt:39,optim:50,option:[39,52,64,66,67,74],orang:[58,82],order:[11,59,61,64,73,74],ordin:[1,35,52,73,74],ordinal_contain:26,ordinalregress:73,org:[33,38,51,52,56,62,70],organ:[54,56],orient:83,other:[50,52,55,59,60,62,67,74,77,82,83],otherwis:59,our:[50,58,59,60,62,64,65,70,73,81],ourselv:50,out:[49,51],outlin:65,output:[5,8,38,42,52],output_graph:[38,73],over:[50,55,62,68,83],overhead:58,overlap:[53,55],overview:53,own:[0,62,64,74,77],p:[52,70],pa:71,pack:63,packag:[39,49,52,53,55,56,60,62,65,66,75,76,78,80],page:[49,56,58,68,75],pair:[61,64],panda:[8,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,50,53,54,55,59,60,62,68,70,72,73,76,83],pandas2:58,pandasschema:55,paramet:[3,4,5,6,7,8,34,35,36,37,38,39,52],parametr:77,parent:[61,64],pars:[32,62],parser:62,part:[50,55,56,58,80],particularli:74,path:[1,18,22,35,38,39,61,79,80,83],path_contain:27,path_series_linux:77,path_series_linux_miss:77,path_series_window:77,pathlib:[18,22,27,80],pathlib_patch:1,patient:52,pattern:[50,52],pd:[8,11,13,21,23,26,30,70,72,73,74,77,81,82,83],pdf:73,pdt:[73,74],pe:71,pear:[58,82],peopl:65,pep:59,per:[50,59],perform:[0,3,4,50,52,58,59,60,61,62,63,64,68,76,83],permit:64,pf:71,pg:71,ph:71,physic:[50,59],pick:76,pil:39,pip:65,pk:71,pl:71,place:67,plain:52,plan:52,pleas:[49,56,65,66,67,74,75,77,83],plenti:78,plot:[38,65,75],pm:71,pn:71,png:[22,38],point:[21,58],poisson:73,poissonregress:73,posit:15,possibl:[49,51,61,63,64,68,73,75],potenti:[50,68,83],power:[50,58,76],pp:51,pr:71,practic:[52,62,64,82,83],pre:[65,74],precis:64,predict:52,prefer:[60,80],preprocess:62,preserv:50,primari:[61,64,83],print:[5,8,70,72,73,74],probabl:[52,64],problem:[0,55,62,64,68,69,76],problem_set:73,problem_typ:73,proce:80,process:[52,53,83],produc:42,product:[52,62],profil:[32,53,54,56,70,75],program:[0,59,62],project:[50,52,54,56,67],proper:[51,61],properli:64,properti:[55,58],protocol:58,provid:[3,4,5,6,7,8,11,31,51,52,53,55,57,58,64,65,67,76,77,78],ps:71,pt:71,publish:56,pull:[49,54],pure:68,purpos:[50,53,74],pw:71,py:[39,62,67,70,71,72,73,74,75,77],pydata:62,pytest:[55,65,77],python3:39,python:[0,32,33,39,62,65,68,70,74,75,76],pyupgrad:65,qa:71,queri:51,question:[66,82,83],quickli:74,r:51,rais:38,ram:50,random:52,rang:[30,53,55],rate:55,rather:[59,83],ratio:[73,74],rdw_typeset:74,re:71,reach:51,read:[52,59,74,75,83],read_csv:[8,62],reader:62,real:[52,53,62,76],realiti:11,realli:[75,83],reason:[62,63],recal:59,recip:62,recogn:64,recognit:52,recommend:[52,75],reduc:[55,59,60,76],redund:62,refer:[33,39,55,59],regardless:[55,64],regress:[52,73],relat:[1,5,34,51,58,62,63,64,71,73,74,77,80,83],related_typ:[9,10,11,74],relation_graph:34,relationship:[9,10,11,34,59,61,64,68,74],releas:52,relev:[51,52,67,76],reli:[50,52,59,60],reliabl:[52,60],rememb:83,remov:74,replac:74,report:[5,8,51],repositori:75,repres:[11,52,55,58,59,61,63,64,68,81,82,83],represent:[50,52,53,55,58,59,63,64,68,74],request:[49,54],requir:[64,65,68,74,77,81],requirements_dev:75,requirements_test:75,research:51,residu:52,resolv:60,resourc:52,respect:[11,58],respons:[64,81],restrict:50,restructuredtext:65,result:[58,77],retriev:51,reus:[55,77],rfc4122:33,rid:42,right:[52,76,83],ro:71,robust:64,root:[61,63,64,83],row:67,rs:71,rst:[65,67],rtol:73,ru:71,rubin:28,rubric:23,rule:[50,52,55],run:65,runtim:59,rw:71,s:[0,42,49,50,51,58,61,64,67,68,74,82,83],sa:71,sai:[58,61,64],said:52,same:[50,51,55,58,59,61,64,83],sampl:52,save:60,sb:71,sbrugman:54,sc:71,scan:52,scenario:52,scene:64,schema:[51,69],scheme:53,scientist:[51,64],scikit:52,scope:49,scratch:58,sd:71,se:71,search:[51,61],second:[51,64,83],secondli:58,section:[33,49,57,59,74,78],see:[49,52,55,58,63,66,68,73,74,77,82,83],seek:50,seen:52,self:[68,73,74],semant:[1,50,51,52,55,56,64,67,68,76],sens:[55,74],sensibl:[53,58,60],separ:58,sequenc:[3,4,5,6,7,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,58,61,64,68,71,73,74,82,83],seri:[11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,32,33,50,61,67,68,71,72,73,74,77,81,82,83],serv:62,server:65,set:[34,35,36,37,51,52,58,61,64,67,68,71,74,75,77],setminu:61,settl:75,setup:75,sever:[42,66],sg:71,sh:71,shape:[21,36,42],share:49,shortcom:58,shortcut:62,shorthand:65,shortli:[58,70],should:[16,49,52,55,58,60,62,64,65,73,77,83],show:[58,71,73,77],si:71,sibl:61,side:59,signific:73,silli:42,similar:61,similarli:[61,63],simon:56,simpl:[58,60,64,74,77,83],simpli:[69,74],simplifi:[49,60,73,74],sinc:64,singl:[57,62,64,74],site:39,size:59,sj:71,sk:71,sl:71,slim:75,sm:71,small:[40,74],sn:71,so:[59,62,71],softwar:[0,50,55,56,65],sole:52,solid:60,solut:[49,50,51,59,62],solv:[58,62,64,68,76],some:[50,51,64,65,66],someth:58,sort:[38,65],sourc:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,56,65,67,74],speak:83,special:[52,74,75,82],specialis:52,specif:[33,52,59,64,68,74,75,77,83],specifi:[59,71],spend:51,sphinx:65,split:74,springer:52,sr:71,src:67,ss:71,st:71,stabl:[52,62],stai:59,standard:[33,36,37,51,55,74,79,83],standard_set:1,standardset:[8,37,61,83],start:[61,64,65],starter:74,state:[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,62,71,73,74],staticmethod:[71,73,74],statist:[52,53,73],statu:51,step:53,still:[0,83],stonebrak:51,stonebraker2018dataintegr:51,stop:65,storag:[50,58,59,76],store:[50,52,53,55,58,62,64],str:[5,6,7,8,38,39,71,74],strategi:52,string:[1,35,36,37,52,53,64,68,70,71,79,81,82,83],string_contain:28,strong:62,stroustrup:[0,60,65],structur:[61,83],style:65,subclass:74,subsequ:[58,62],subset:[61,63],subtract:74,suit:74,suitabl:74,summar:[52,55],summari:[53,58],supervis:52,support:[35,36,37,51,59,61,62,74,83],suppress:42,suppress_warn:42,surject:[61,64],sv:71,svg:38,svm:52,sx:71,sy:[42,71],symbol:61,syntax:[65,80],system:[0,50,51,52,54,62,76],sz:71,t:[42,58,73,74,83],tabl:[51,67],tabular:76,take:[64,73,82,83],taken:52,talk:51,target:[52,73],target_2:73,target_3:73,target_num:73,task:[49,50,51,52,58,64],tc:71,td:71,tell:77,templat:[67,77],term:68,test2:[18,22,27],test:[64,67,68,71,73,75,81,82],test_:67,test_complete_set:77,test_contain:77,test_jpeg1:40,test_jpeg2:40,test_jpeg3:40,test_seri:[82,83],test_util:74,testable_seri:77,text:[8,51,52,58],textrm:61,tf:71,tg:71,th:71,than:[51,83],thei:[11,58,64],them:[34,49,58,80,81,83],theori:52,therefor:[53,64],thi:[5,49,50,52,53,55,56,57,58,59,60,61,62,63,64,65,68,70,73,74,75,76,78,80,82,83],thing:60,think:59,third:58,those:[51,74],though:49,thousand:62,three:[61,64,77,82,83],through:[58,61,76,80],tight:[55,62],tightli:64,time:[1,35,51,55,58,60,61,62,64,74],time_contain:29,time_delta:1,time_delta_contain:30,timedelta:[30,35,36,37,58,74,83],titan:51,titl:56,tj:71,tk:71,tl:71,tm:71,tmiguelt:55,tn:71,to_datetim:74,to_str:70,todo:59,togeth:[58,64],tool:[33,52,58,60,65,76],top:76,tr:71,train:52,transform:[9,10,11,64,68,74,81],transformed_seri:81,travers:[61,64,68,76,83],tree:[61,64],tri:59,trivial:[50,52,58],truncat:39,tt:71,tupl:[3,4,5,39],turn:62,tv:71,tw:71,two:[11,50,51,52,58,59,61,64,68,74,81,82,83],txt:[18,27,75],type:[0,1,3,4,5,6,7,8,9,10,11,34,35,36,37,38,39,42,50,51,53,54,55,60,63,64,69,70,75,76,77,78,79,80,83],type_aft:[5,74],type_befor:[5,74],type_geometri:75,type_image_path:75,type_inference_report_fram:[1,5],type_nam:67,typerel:[1,73],typeset:[1,3,4,5,6,7,8,52,59,60,61,62,63,64,67,69,70,73,76,78,80],typeset_1:83,typeset_2:83,typic:[50,77],tz:71,u:61,ua:71,ug:71,uint64:58,ultim:59,um:71,uncov:62,under:[0,51,58,82],underli:[11,58,64,82],understand:[52,57,58,59,63,64,68],unexpect:66,union:[6,7,38,39],uniqu:[55,64,74],univers:[61,64],unnecessarili:59,up:[50,74],upcast:[58,59],updat:65,upon:[68,74],url:[1,35,51,53,56,58,61,70,79,83],url_contain:32,url_nan_seri:77,url_none_seri:77,url_seri:77,urllib:32,urlpars:32,us:[38,50,52,54,56,58,62,64,65,66,67,68,71,73,74,76,77,78,80,83],usag:[50,52,58,67,70,74],user:[18,22,27,50,55,58,60,62,64,65,68],usual:64,util:[1,50,77],uuid:[1,35,70,79],uuid_contain:33,uuid_str:33,uy:71,uz:71,v4:24,v6:24,v:[72,74,80,81,82,83],va:71,valid:[64,81],valu:[16,42,50,52,53,55,61,63,64,68,71,74],valueerror:38,vari:83,variabl:[50,53,73],variable_set:73,variabletypeset:73,varieti:55,variou:[52,68,72],vc:71,ve:71,vector:52,veri:[0,61],versa:52,version:62,vg:71,vi:71,via:[49,52],vice:52,view:[57,59,65,68,83],violat:62,virtual:68,vision:[1,49,50,52,53,54,56,57,58,59,60,61,62,65,66,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83],visions_typ:74,visionsbasetyp:[1,5,6,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,34,71,73,74],visionstypeset:[1,3,4,5,6,7,8,73,83],visiontypeset:74,visit:50,visualis:[61,83],vn:71,volum:56,vt:80,vu:71,wa:[0,5,56,74,83],wage:51,wai:[42,50,51,52,57,59,63,68,71,73,74,76,80,82],want:[0,52,58,64,66,68],warn:42,warning_handl:1,we:[3,4,11,49,50,51,52,53,55,56,57,60,61,62,63,64,68,70,74,77,80,82,83],web:65,welcom:[0,65],well:[52,53,64],were:[3,4,69],weren:83,wf:71,what:[50,57,62,83],whatev:81,when:[0,38,42,52,53,55,56,58,59,60,61,63,64,65,74,76,83],where:[0,49,50,52,53,59,62,63,64,68,74,80],whether:[11,52,55,59,64,68,74],which:[3,4,52,55,58,62,63,64,65,67,70,72,74,77,81,83],whose:64,why:58,wise:[3,4],wish:52,within:[50,51,59,60,68,71],without:[51,58,59,62,64,70,83],wkt:[21,42],woman:74,wonder:59,word:64,work:[49,53,56,58,59,62,68,76,78,80],workflow:[49,55,65],world:[52,62,76],worthwhil:53,would:[49,59,62,64,73,83],wouldn:74,wrap:42,write:[0,38],written:65,ws:71,www:[32,70],x64:39,x:[11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,55,64,74],y:55,ye:[50,71],year:56,yet:[62,81],yield:50,york:51,you:[0,49,50,54,56,59,65,66,67,68,69,74,75,76,77,78,80,83],your:[0,54,59,62,65,66,67,69,74,76,77,83],your_typeset:67,yourself:74,yourtype1:77,yourtype2:77,yourtype3:77,yourtypeset:77,yt:71,yuan:51,yyyymmdd:74,z:51,za:71,zaxr:55,zm:71,zw:71},titles:["Visions","API","visions.declarative.create_type","visions.functional.cast_to_detected","visions.functional.cast_to_inferred","visions.functional.compare_detect_inference_frame","visions.functional.detect_type","visions.functional.infer_type","visions.functional.type_inference_report_frame","visions.relations.relations.IdentityRelation","visions.relations.relations.InferenceRelation","visions.relations.relations.TypeRelation","visions.types.boolean","visions.types.categorical","visions.types.complex","visions.types.count","visions.types.date","visions.types.date_time","visions.types.file","visions.types.float","visions.types.generic","visions.types.geometry","visions.types.image","visions.types.integer","visions.types.ip_address","visions.types.object","visions.types.ordinal","visions.types.path","visions.types.string","visions.types.time","visions.types.time_delta","visions.types.type.VisionsBaseType","visions.types.url","visions.types.uuid","visions.typesets.VisionsTypeset","visions.typesets.complete_set","visions.typesets.geometry_set","visions.typesets.standard_set","visions.utils.graph","visions.utils.images.image_utils","visions.utils.monkeypatches.imghdr_patch","visions.utils.monkeypatches.pathlib_patch","visions.utils.warning_handling","Declarative API","Functional API","Relations","Types","Typesets","Utils","Applications","Data Compression","Data Discovery and Data Integration","Machine Learning","Data Summarization","Users","Data Validation","About","Background","Data Type View","Design decisions","Goals","Graph view","Open challenges","Nested set view","Theory","Community contributions","Support","Contributions new types to visions","Concepts","Examples","Casting example","Country code type example","Membership example","Problem type inference","Extending","Installation","Introduction","Typeset testing","Usage","Defaults","Importing the module","Type Relations","Types","Typesets"],titleterms:{"1":62,"2":62,"3":62,"4":62,"abstract":[46,47],"boolean":12,"default":79,"do":[58,76],"float":19,"function":[3,4,5,6,7,8,44,47],"import":80,"new":67,"short":59,The:[64,83],about:56,all:65,anoth:74,api:[1,43,44,47,74],applic:49,ar:[59,62],background:[57,64],bitmap:59,can:76,cast:[61,70,83],cast_to_detect:3,cast_to_inf:4,categor:13,challeng:[62,64],chang:[44,62],check:59,circuit:59,cite:56,code:[62,71],commun:65,compar:58,compare_detect_inference_fram:5,complete_set:35,complex:14,compress:50,compressio:50,concept:[58,68],concret:47,confid:52,constraint:59,contain:77,contribut:[65,67],convers:77,count:15,countri:71,create_typ:2,current:58,custom:74,data:[50,51,53,55,58,62],date:16,date_tim:17,decis:59,declar:[2,43,74],decoupl:58,dedic:62,defin:59,depend:65,design:59,detail:83,detect:[61,83],detect_typ:6,discoveri:51,document:65,doe:76,don:[59,62],dtype:59,encod:52,exampl:[69,70,71,72,74],extend:74,extens:61,fail:58,file:18,fix:62,from:74,gener:[20,83],geometri:21,geometry_set:36,github:66,goal:60,graph:[38,61],how:[58,76],hundr:62,identityrel:9,imag:[22,39],image_util:39,imghdr_patch:40,indic:0,infer:[52,59,61,73,77,83],infer_typ:7,inferencerel:10,inherit:59,instal:[65,75],integ:23,integr:51,introduct:[76,83],ip_address:24,issu:66,learn:52,line:62,lint:65,logic:[58,62],machin:[52,62],mai:62,make:62,map:[61,68],membership:[72,82],memori:59,miss:[58,59],mix:62,model:[52,58],modul:[62,80],monkeypatch:[40,41],multipl:83,need:[58,62],nest:63,nullabl:59,numpi:58,object:25,oop:59,open:[62,64],ordin:26,overflow:66,panda:58,path:27,pathlib_patch:41,physic:58,pip:75,problem:[52,58,73],profil:52,python:58,refer:58,relat:[9,10,11,45,59,61,68,81,82],requir:[62,75],sampl:59,score:52,scratch:74,semant:[46,62],set:[62,63],small:62,solut:64,sourc:75,stack:66,standard_set:37,string:[28,58],summar:53,support:66,t:[59,62],tabl:0,test:[59,65,77],theori:64,time:29,time_delta:30,togeth:65,type:[12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,44,46,52,58,59,61,62,67,68,71,73,74,81,82],type_inference_report_fram:8,typerel:11,typeset:[34,35,36,37,44,47,68,74,77,83],unifi:58,url:32,us:59,usag:[59,78],user:54,util:[38,39,40,41,42,48],uuid:33,valid:55,valu:[58,59],variabl:52,view:[58,61,63],vision:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,64,67],visionsbasetyp:31,visionstypeset:34,warning_handl:42,we:[58,59],what:[58,76],where:58,why:[59,64],work:64}}) \ No newline at end of file diff --git a/docs/visions/api.html b/docs/visions/api.html index 071e50d4d..f6a51f94e 100644 --- a/docs/visions/api.html +++ b/docs/visions/api.html @@ -1,69 +1,34 @@ - - - - - - - API — visions 0.7.1 documentation - - - - - + - - - - - - + + API — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.declarative.create_type.html b/docs/visions/api/_autosummary/visions.declarative.create_type.html index 86e95c7e3..b1da2e956 100644 --- a/docs/visions/api/_autosummary/visions.declarative.create_type.html +++ b/docs/visions/api/_autosummary/visions.declarative.create_type.html @@ -1,69 +1,34 @@ - - - - - - - visions.declarative.create_type — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.declarative.create_type — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.cast_to_detected.html b/docs/visions/api/_autosummary/visions.functional.cast_to_detected.html index 35d7a2b87..106e37dd3 100644 --- a/docs/visions/api/_autosummary/visions.functional.cast_to_detected.html +++ b/docs/visions/api/_autosummary/visions.functional.cast_to_detected.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.cast_to_detected — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.cast_to_detected — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.cast_to_inferred.html b/docs/visions/api/_autosummary/visions.functional.cast_to_inferred.html index cc78ffac6..1a3579adb 100644 --- a/docs/visions/api/_autosummary/visions.functional.cast_to_inferred.html +++ b/docs/visions/api/_autosummary/visions.functional.cast_to_inferred.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.cast_to_inferred — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.cast_to_inferred — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.compare_detect_inference_frame.html b/docs/visions/api/_autosummary/visions.functional.compare_detect_inference_frame.html index 61e211dcb..66f22dd9f 100644 --- a/docs/visions/api/_autosummary/visions.functional.compare_detect_inference_frame.html +++ b/docs/visions/api/_autosummary/visions.functional.compare_detect_inference_frame.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.compare_detect_inference_frame — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.compare_detect_inference_frame — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.detect_type.html b/docs/visions/api/_autosummary/visions.functional.detect_type.html index ca630b947..8c57544c4 100644 --- a/docs/visions/api/_autosummary/visions.functional.detect_type.html +++ b/docs/visions/api/_autosummary/visions.functional.detect_type.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.detect_type — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.detect_type — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.infer_type.html b/docs/visions/api/_autosummary/visions.functional.infer_type.html index c12fc15ac..a9069cb0e 100644 --- a/docs/visions/api/_autosummary/visions.functional.infer_type.html +++ b/docs/visions/api/_autosummary/visions.functional.infer_type.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.infer_type — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.infer_type — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.functional.type_inference_report_frame.html b/docs/visions/api/_autosummary/visions.functional.type_inference_report_frame.html index c04cff88c..6b3ec4b40 100644 --- a/docs/visions/api/_autosummary/visions.functional.type_inference_report_frame.html +++ b/docs/visions/api/_autosummary/visions.functional.type_inference_report_frame.html @@ -1,69 +1,34 @@ - - - - - - - visions.functional.type_inference_report_frame — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.functional.type_inference_report_frame — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.relations.relations.IdentityRelation.html b/docs/visions/api/_autosummary/visions.relations.relations.IdentityRelation.html index f223c67f3..da0cd162c 100644 --- a/docs/visions/api/_autosummary/visions.relations.relations.IdentityRelation.html +++ b/docs/visions/api/_autosummary/visions.relations.relations.IdentityRelation.html @@ -1,69 +1,34 @@ - - - - - - - visions.relations.relations.IdentityRelation — visions 0.7.1 documentation - - - - - - - - - - + - + + visions.relations.relations.IdentityRelation — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.relations.relations.InferenceRelation.html b/docs/visions/api/_autosummary/visions.relations.relations.InferenceRelation.html index 04aa4e817..61160795a 100644 --- a/docs/visions/api/_autosummary/visions.relations.relations.InferenceRelation.html +++ b/docs/visions/api/_autosummary/visions.relations.relations.InferenceRelation.html @@ -1,69 +1,34 @@ - - - - - - - visions.relations.relations.InferenceRelation — visions 0.7.1 documentation - - - - - - - - - - + - + + visions.relations.relations.InferenceRelation — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.relations.relations.TypeRelation.html b/docs/visions/api/_autosummary/visions.relations.relations.TypeRelation.html index 9d31183ee..9402f18b5 100644 --- a/docs/visions/api/_autosummary/visions.relations.relations.TypeRelation.html +++ b/docs/visions/api/_autosummary/visions.relations.relations.TypeRelation.html @@ -1,69 +1,34 @@ - - - - - - - visions.relations.relations.TypeRelation — visions 0.7.1 documentation - - - - - - - - - - + - + + visions.relations.relations.TypeRelation — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.boolean.html b/docs/visions/api/_autosummary/visions.types.boolean.html index a52390ceb..d095dc608 100644 --- a/docs/visions/api/_autosummary/visions.types.boolean.html +++ b/docs/visions/api/_autosummary/visions.types.boolean.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.boolean — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.boolean — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.categorical.html b/docs/visions/api/_autosummary/visions.types.categorical.html index 0b296a9c5..e50da4678 100644 --- a/docs/visions/api/_autosummary/visions.types.categorical.html +++ b/docs/visions/api/_autosummary/visions.types.categorical.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.categorical — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.categorical — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.complex.html b/docs/visions/api/_autosummary/visions.types.complex.html index a7e3a6bd0..ee9f5e74d 100644 --- a/docs/visions/api/_autosummary/visions.types.complex.html +++ b/docs/visions/api/_autosummary/visions.types.complex.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.complex — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.complex — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.count.html b/docs/visions/api/_autosummary/visions.types.count.html index 81e0245f1..5d77346de 100644 --- a/docs/visions/api/_autosummary/visions.types.count.html +++ b/docs/visions/api/_autosummary/visions.types.count.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.count — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.count — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.date.html b/docs/visions/api/_autosummary/visions.types.date.html index ffc7c0e58..46de24b13 100644 --- a/docs/visions/api/_autosummary/visions.types.date.html +++ b/docs/visions/api/_autosummary/visions.types.date.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.date — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.date — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.date_time.html b/docs/visions/api/_autosummary/visions.types.date_time.html index 554ebde87..62f6cdf53 100644 --- a/docs/visions/api/_autosummary/visions.types.date_time.html +++ b/docs/visions/api/_autosummary/visions.types.date_time.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.date_time — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.date_time — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.file.html b/docs/visions/api/_autosummary/visions.types.file.html index c95be3840..f4921b8c0 100644 --- a/docs/visions/api/_autosummary/visions.types.file.html +++ b/docs/visions/api/_autosummary/visions.types.file.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.file — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.file — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.float.html b/docs/visions/api/_autosummary/visions.types.float.html index 02fcf4c13..277e2f082 100644 --- a/docs/visions/api/_autosummary/visions.types.float.html +++ b/docs/visions/api/_autosummary/visions.types.float.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.float — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.float — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.generic.html b/docs/visions/api/_autosummary/visions.types.generic.html index 89c51bb6a..82b3a3126 100644 --- a/docs/visions/api/_autosummary/visions.types.generic.html +++ b/docs/visions/api/_autosummary/visions.types.generic.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.generic — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.generic — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.geometry.html b/docs/visions/api/_autosummary/visions.types.geometry.html index 35c852be0..96a049eb6 100644 --- a/docs/visions/api/_autosummary/visions.types.geometry.html +++ b/docs/visions/api/_autosummary/visions.types.geometry.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.geometry — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.geometry — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.image.html b/docs/visions/api/_autosummary/visions.types.image.html index 62a7a8f46..353ac1643 100644 --- a/docs/visions/api/_autosummary/visions.types.image.html +++ b/docs/visions/api/_autosummary/visions.types.image.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.image — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.image — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.integer.html b/docs/visions/api/_autosummary/visions.types.integer.html index 8512953fd..88a3ee982 100644 --- a/docs/visions/api/_autosummary/visions.types.integer.html +++ b/docs/visions/api/_autosummary/visions.types.integer.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.integer — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.integer — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.ip_address.html b/docs/visions/api/_autosummary/visions.types.ip_address.html index 7d6140c5c..812c718f0 100644 --- a/docs/visions/api/_autosummary/visions.types.ip_address.html +++ b/docs/visions/api/_autosummary/visions.types.ip_address.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.ip_address — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.ip_address — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.object.html b/docs/visions/api/_autosummary/visions.types.object.html index 447af353c..79870395d 100644 --- a/docs/visions/api/_autosummary/visions.types.object.html +++ b/docs/visions/api/_autosummary/visions.types.object.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.object — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.object — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.ordinal.html b/docs/visions/api/_autosummary/visions.types.ordinal.html index ed8b96cfd..b3e898a67 100644 --- a/docs/visions/api/_autosummary/visions.types.ordinal.html +++ b/docs/visions/api/_autosummary/visions.types.ordinal.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.ordinal — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.ordinal — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.path.html b/docs/visions/api/_autosummary/visions.types.path.html index 84df265d1..c5a4403c2 100644 --- a/docs/visions/api/_autosummary/visions.types.path.html +++ b/docs/visions/api/_autosummary/visions.types.path.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.path — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.path — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.string.html b/docs/visions/api/_autosummary/visions.types.string.html index a1d8ed3cf..0c005888b 100644 --- a/docs/visions/api/_autosummary/visions.types.string.html +++ b/docs/visions/api/_autosummary/visions.types.string.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.string — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.string — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.time.html b/docs/visions/api/_autosummary/visions.types.time.html index d0cde9126..d31303e64 100644 --- a/docs/visions/api/_autosummary/visions.types.time.html +++ b/docs/visions/api/_autosummary/visions.types.time.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.time — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.time — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.time_delta.html b/docs/visions/api/_autosummary/visions.types.time_delta.html index 1b8ba8e96..0bb031e20 100644 --- a/docs/visions/api/_autosummary/visions.types.time_delta.html +++ b/docs/visions/api/_autosummary/visions.types.time_delta.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.time_delta — visions 0.7.1 documentation - + - - - - - - - - - - + + visions.types.time_delta — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/_autosummary/visions.types.type.VisionsBaseType.html b/docs/visions/api/_autosummary/visions.types.type.VisionsBaseType.html index e56a494e8..debfe2e07 100644 --- a/docs/visions/api/_autosummary/visions.types.type.VisionsBaseType.html +++ b/docs/visions/api/_autosummary/visions.types.type.VisionsBaseType.html @@ -1,69 +1,34 @@ - - - - - - - visions.types.type.VisionsBaseType — visions 0.7.1 documentation - - - - - + - - - - - - + + visions.types.type.VisionsBaseType — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/functional.html b/docs/visions/api/functional.html index f9d06c7f7..0de1a6c2e 100644 --- a/docs/visions/api/functional.html +++ b/docs/visions/api/functional.html @@ -1,69 +1,34 @@ - - - - - - - Functional API — visions 0.7.1 documentation - - - - - + - - - - - - + + Functional API — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/api/types.html b/docs/visions/api/types.html index 2218d3dd6..7ff03ebdf 100644 --- a/docs/visions/api/types.html +++ b/docs/visions/api/types.html @@ -1,69 +1,34 @@ - - - - - - - Types — visions 0.7.1 documentation - - - - - + - - - - - - + + Types — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/applications.html b/docs/visions/applications/applications.html index 090a2cf10..6f077ce6c 100644 --- a/docs/visions/applications/applications.html +++ b/docs/visions/applications/applications.html @@ -1,69 +1,34 @@ - - - - - - - Applications — visions 0.7.1 documentation - - - - - + - - - - - - + + Applications — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/compression.html b/docs/visions/applications/compression.html index 0dfd77ff6..2849e67c8 100644 --- a/docs/visions/applications/compression.html +++ b/docs/visions/applications/compression.html @@ -1,69 +1,34 @@ - - - - - - - Data Compression — visions 0.7.1 documentation - - - - - + - - - - - - + + Data Compression — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/integration.html b/docs/visions/applications/integration.html index ba3562d17..d5f684198 100644 --- a/docs/visions/applications/integration.html +++ b/docs/visions/applications/integration.html @@ -1,69 +1,34 @@ - - - - - - - Data Discovery and Data Integration — visions 0.7.1 documentation - - - - - + - - - - - - + + Data Discovery and Data Integration — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/machine_learning.html b/docs/visions/applications/machine_learning.html index 3dc586824..7c7cb6000 100644 --- a/docs/visions/applications/machine_learning.html +++ b/docs/visions/applications/machine_learning.html @@ -1,69 +1,34 @@ - - - - - - - Machine Learning — visions 0.7.1 documentation - - - - - - - - - - + - + + Machine Learning — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    -
    -

    Model profiling

    + +
    +

    Model profiling

    There are plans to implement specific model statistics in the model-profiler package (to be released). This package will focus on summarization of a model or sets of predictions and will be based on a custom visions typeset. Relevant statistics encompass error metrics, analysis of residuals and model explainers.

    @@ -247,63 +162,38 @@

    Model profilinghttps://scikit-learn.org/stable/modules/calibration.html

    -

    - + + - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/summarizer.html b/docs/visions/applications/summarizer.html index 5bb75a4bf..e91de093c 100644 --- a/docs/visions/applications/summarizer.html +++ b/docs/visions/applications/summarizer.html @@ -1,69 +1,34 @@ - - - - - - - Data Summarization — visions 0.7.1 documentation - - - - - + - - - - - - + + Data Summarization — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/users.html b/docs/visions/applications/users.html index d897f507b..d2e8ca40a 100644 --- a/docs/visions/applications/users.html +++ b/docs/visions/applications/users.html @@ -1,69 +1,34 @@ - - - - - - - Users — visions 0.7.1 documentation - - - - - + - - - - - - + + Users — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/applications/validation.html b/docs/visions/applications/validation.html index 5bc7b5c00..232c04e48 100644 --- a/docs/visions/applications/validation.html +++ b/docs/visions/applications/validation.html @@ -1,69 +1,34 @@ - - - - - - - Data Validation — visions 0.7.1 documentation - - - - - + - - - - - - + + Data Validation — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/about.html b/docs/visions/background/about.html index b6fc0bc82..68b3c9008 100644 --- a/docs/visions/background/about.html +++ b/docs/visions/background/about.html @@ -1,69 +1,34 @@ - - - - - - - About — visions 0.7.1 documentation - - - - - + - - - - - - + + About — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/data_type_view.html b/docs/visions/background/data_type_view.html index b147fcef4..b799ae666 100644 --- a/docs/visions/background/data_type_view.html +++ b/docs/visions/background/data_type_view.html @@ -1,67 +1,32 @@ - - - - - - - Data Type View — visions 0.7.1 documentation - - - - - - - - - - + - + + Data Type View — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    -
    -

    Problem with strings

    + +
    +

    Problem with strings

    Pandas does not have a logical type “string”. Strings are stored as objects, which gives non-trivial overhead https://dev.pandas.io/pandas2/strings.html

    -
    -

    Where the current models fail

    +
    +

    Where the current models fail

    The data models in Python, Numpy and Pandas are inconsistent and incomplete for logical storage of data types for analysis. Here, we try to understand the aspects relation to what are shortcomings of the current implementation and we want of the unified data model.

    We first provide a motivating example why we need a new model. @@ -262,21 +177,21 @@

    Where the current models fail -

    How do Python, Numpy and Pandas model data?

    -
    -

    Python

    +

    +
    +

    How do Python, Numpy and Pandas model data?

    +
    +

    Python

    The Python data model

    Python Data Model -
    -
    -

    Numpy

    +
    +
    +

    Numpy

    The Numpy data model

    Numpy Data Model -
    -
    -

    Pandas

    + +
    +

    Pandas

    The Pandas data model

    @@ -318,64 +233,45 @@

    Pandas -

    Unifying, what do we need?

    + + +
    +

    Unifying, what do we need?

    Custom dtypes.

    - -
    -

    References

    +
    +
    +

    References

    We note that many of the problems visions attempts to solve, are discussed in the design documents for pandas 2.0 (2015-2016).

    - - - +
    + + -
    -
    -

    - - © Copyright 2021, Ian Eaves and Simon Brugman - -

    +

    © Copyright 2021, Ian Eaves and Simon Brugman.

    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
    + Built with Sphinx using a + theme + provided by Read the Docs. + + - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/engineering_view.html b/docs/visions/background/engineering_view.html index 090efec49..5953a348a 100644 --- a/docs/visions/background/engineering_view.html +++ b/docs/visions/background/engineering_view.html @@ -1,67 +1,32 @@ - - - - - - - Design decisions — visions 0.7.1 documentation - + - - - - - - - - - - + + Design decisions — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    -
    -

    Memory usage

    + +
    +

    Memory usage

    TODO

    Operations are designed to be idempotent (i.e. do not have side-effects). This may impact the performance of your program when you use large DataFrames, as a copy is made.

    -
    -
    -

    Dtypes

    + +
    +

    Dtypes

    Staying close to pandas’ data types, we can use the dtypes for type detection. Complexity O(1) instead of O(n).

    -
    -
    -

    Constraint checking in tests

    + +
    +

    Constraint checking in tests

    Constraint of mutual exclusivity is not checked on runtime, rather during testing.

    -
    -
    -

    Nullable types

    + +
    +

    Nullable types

    All types are nullable by default. TODO: why (refer to goal)

    -
    -
    -

    Why don’t we use OOP inheritance?

    + +
    +

    Why don’t we use OOP inheritance?

    You might wonder why for example Image class does not inherit from File class. The short answer is, we tried, in order to support our use cases inheritance ultimately only added complexity to the solution. Within the current abstraction, each type inherits from a base type, class inheritance from relations.

    @@ -236,21 +151,21 @@

    Why don’t we use OOP inheritance?PEP 484.

    - -
    -

    Sampling in inference

    + +
    +

    Sampling in inference

    TODO

    -
    -
    -

    Why are relations defined on the type?

    + +
    +

    Why are relations defined on the type?

    The short answer is extendability.

    Recall, relations define mappings to a type, so, given two types A and B with a relation from B -> A, that relationship is defined on A. Defining relationships in this way actually decouples types from each other. This allows us to dynamically construct a relation graph based only on the types included in the typeset without modifying any type specific logic.

    -
    -
    -

    Missing value bitmaps

    + +
    +

    Missing value bitmaps

    Pandas upcasts certain types when adding missing values, unnecessarily increasing physical storage size. This behaviour occurs for booleans and integers. Pandas itself offers nullable integers. @@ -258,54 +173,35 @@

    Missing value bitmapsNaN is used when the type represents numbers, None otherwise. More information can be found here: pandas 2.0 design document

    -

    - + + -
    -
    -

    - - © Copyright 2021, Ian Eaves and Simon Brugman - -

    +

    © Copyright 2021, Ian Eaves and Simon Brugman.

    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
    + Built with Sphinx using a + theme + provided by Read the Docs. + + - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/goals.html b/docs/visions/background/goals.html index 3fdd42fed..50b291192 100644 --- a/docs/visions/background/goals.html +++ b/docs/visions/background/goals.html @@ -1,67 +1,32 @@ - - - - - - - Goals — visions 0.7.1 documentation - - - - - + - - - - - - + + Goals — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - + Built with Sphinx using a + theme + provided by Read the Docs. + + - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/graph_view.html b/docs/visions/background/graph_view.html index a54420d06..4bb2d3fd6 100644 --- a/docs/visions/background/graph_view.html +++ b/docs/visions/background/graph_view.html @@ -1,69 +1,35 @@ - - - - - - - Graph view — visions 0.7.1 documentation - + - - - - - - - - - - + + Graph view — visions 0.7.2 documentation + + - - + - - - - - - + + - - - +
    - -
    - - -
    +
    +

    Type inference

    Type inference is type detection on the extended graph. Similarly, we perform depth first search. The primary difference between type inference and detection are that values are mapped before continuing the search when traversing a relational map

    -
    -
    -

    Type casting

    + +
    +

    Type casting

    Type casting returns the (possibly mapped) values of type inference.

    -
    - + + - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/motivation.html b/docs/visions/background/motivation.html index e53905d36..dcdfeaaf4 100644 --- a/docs/visions/background/motivation.html +++ b/docs/visions/background/motivation.html @@ -1,67 +1,32 @@ - - - - - - - Open challenges — visions 0.7.1 documentation - - - - - - - - - - + - + + Open challenges — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - + + -
    -
    -

    - - © Copyright 2021, Ian Eaves and Simon Brugman - -

    +

    © Copyright 2021, Ian Eaves and Simon Brugman.

    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
    + Built with Sphinx using a + theme + provided by Read the Docs. + + - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/nested_set_view.html b/docs/visions/background/nested_set_view.html index 1cf206ec1..083313840 100644 --- a/docs/visions/background/nested_set_view.html +++ b/docs/visions/background/nested_set_view.html @@ -1,69 +1,35 @@ - - - - - - - Nested set view — visions 0.7.1 documentation - - - - - + - - - - - - + + Nested set view — visions 0.7.2 documentation + + - - + - - - - - - + + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/background/theory.html b/docs/visions/background/theory.html index 52eea93cd..61918856d 100644 --- a/docs/visions/background/theory.html +++ b/docs/visions/background/theory.html @@ -1,69 +1,35 @@ - - - - - - - Theory — visions 0.7.1 documentation - - - - - - - - - - + - + + Theory — visions 0.7.2 documentation + + - - + - - - - - - + + - - - +
    - -
    - - -
    -
    -

    Why it works

    + +
    +

    Why it works

    We will be using the language of trees and sets to understand how this all comes together and start by defining a semantic type as the set of all sequences with some consistent semantic meaning. A typeset is then a directed rooted tree whose nodes @@ -262,63 +178,38 @@

    Why it works - - - - - - +
    -
    -

    - - © Copyright 2021, Ian Eaves and Simon Brugman - -

    +

    © Copyright 2021, Ian Eaves and Simon Brugman.

    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
    + Built with Sphinx using a + theme + provided by Read the Docs. + +

    - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/contributing/contributing.html b/docs/visions/contributing/contributing.html index 174d8d1fe..3e4cfe387 100644 --- a/docs/visions/contributing/contributing.html +++ b/docs/visions/contributing/contributing.html @@ -1,69 +1,34 @@ - - - - - - - Community contributions — visions 0.7.1 documentation - - - - - - - - - - + - + + Community contributions — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    -
    -

    Linting

    + +
    +

    Linting

    visions uses the black code style, isort for sorting imports and pyupgrade for updating python syntax.

    make lint
     
    @@ -229,9 +144,9 @@

    Linting
    pre-commit run --all-files
     

    -
    -
    -

    Documentation

    + +
    +

    Documentation

    Software should provide adequate documentation for beginning and advanced users. When you contribute, please check if your contribution requires some additional documentation. Documentation is written in ReStructuredText (.rst). @@ -247,70 +162,45 @@

    Documentationpython -m http.server

    - -
    -

    All together

    + +
    +

    All together

    A shorthand for all commands above is:

    make all
     
    -
    - + + - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/contributing/support.html b/docs/visions/contributing/support.html index 62c3d3cac..ec146aab5 100644 --- a/docs/visions/contributing/support.html +++ b/docs/visions/contributing/support.html @@ -1,69 +1,34 @@ - - - - - - - Support — visions 0.7.1 documentation - - - - - + - - - - - - + + Support — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/contributing/type.html b/docs/visions/contributing/type.html index 8e71eee32..d36c308e0 100644 --- a/docs/visions/contributing/type.html +++ b/docs/visions/contributing/type.html @@ -1,69 +1,34 @@ - - - - - - - Contributions new types to visions — visions 0.7.1 documentation - - - - - + - - - - - - + + Contributions new types to visions — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/concepts.html b/docs/visions/getting_started/concepts.html index 8247e92df..1ff15c4c8 100644 --- a/docs/visions/getting_started/concepts.html +++ b/docs/visions/getting_started/concepts.html @@ -1,69 +1,34 @@ - - - - - - - Concepts — visions 0.7.1 documentation - - - - - - - - - - + - + + Concepts — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    -
    -

    Relational mapping

    + +
    +

    Relational mapping

    A relational mapping encodes the relationships between various types. These relationships come in the form of two functions:

      @@ -227,63 +142,38 @@

      Relational mapping - - - - - - +
      -
      -

      - - © Copyright 2021, Ian Eaves and Simon Brugman - -

      +

      © Copyright 2021, Ian Eaves and Simon Brugman.

      - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
      + Built with Sphinx using a + theme + provided by Read the Docs. + +

    - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/examples.html b/docs/visions/getting_started/examples.html index a24face55..a83c59bf6 100644 --- a/docs/visions/getting_started/examples.html +++ b/docs/visions/getting_started/examples.html @@ -1,69 +1,34 @@ - - - - - - - Examples — visions 0.7.1 documentation - - - - - + - - - - - - + + Examples — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/examples/casting.html b/docs/visions/getting_started/examples/casting.html index 90d3c0cf8..d26a4da90 100644 --- a/docs/visions/getting_started/examples/casting.html +++ b/docs/visions/getting_started/examples/casting.html @@ -1,69 +1,34 @@ - - - - - - - Casting example — visions 0.7.1 documentation - - - - - + - - - - - - + + Casting example — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/installation.html b/docs/visions/getting_started/installation.html index 880caf3ca..fc0a4dafd 100644 --- a/docs/visions/getting_started/installation.html +++ b/docs/visions/getting_started/installation.html @@ -1,69 +1,34 @@ - - - - - - - Installation — visions 0.7.1 documentation - - - - - - - - - - + - + + Installation — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/introduction.html b/docs/visions/getting_started/introduction.html index b2aef8803..2a1f80775 100644 --- a/docs/visions/getting_started/introduction.html +++ b/docs/visions/getting_started/introduction.html @@ -1,69 +1,34 @@ - - - - - - - Introduction — visions 0.7.1 documentation - - - - - + - - - - - - + + Introduction — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/testing.html b/docs/visions/getting_started/testing.html index bae0d935a..63e6e72ee 100644 --- a/docs/visions/getting_started/testing.html +++ b/docs/visions/getting_started/testing.html @@ -1,69 +1,34 @@ - - - - - - - Typeset testing — visions 0.7.1 documentation - - - - - + - - - - - - + + Typeset testing — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage.html b/docs/visions/getting_started/usage.html index 1e666b6b9..b8e11f74d 100644 --- a/docs/visions/getting_started/usage.html +++ b/docs/visions/getting_started/usage.html @@ -1,69 +1,34 @@ - - - - - - - Usage — visions 0.7.1 documentation - - - - - + - - - - - - + + Usage — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage/defaults.html b/docs/visions/getting_started/usage/defaults.html index 77defa66a..2fbb00009 100644 --- a/docs/visions/getting_started/usage/defaults.html +++ b/docs/visions/getting_started/usage/defaults.html @@ -1,69 +1,34 @@ - - - - - - - Defaults — visions 0.7.1 documentation - - - - - + - - - - - - + + Defaults — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -

    @@ -289,62 +203,37 @@

    Defaults - - - - - - +
    -
    -

    - - © Copyright 2021, Ian Eaves and Simon Brugman - -

    +

    © Copyright 2021, Ian Eaves and Simon Brugman.

    - - - - Built with Sphinx using a - - theme - - provided by Read the Docs. -
    + Built with Sphinx using a + theme + provided by Read the Docs. + + - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage/import.html b/docs/visions/getting_started/usage/import.html index 4efc17d8e..db6bb7647 100644 --- a/docs/visions/getting_started/usage/import.html +++ b/docs/visions/getting_started/usage/import.html @@ -1,69 +1,34 @@ - - - - - - - Importing the module — visions 0.7.1 documentation - - - - - + - - - - - - + + Importing the module — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage/relations.html b/docs/visions/getting_started/usage/relations.html index b2ceb1706..9ee135149 100644 --- a/docs/visions/getting_started/usage/relations.html +++ b/docs/visions/getting_started/usage/relations.html @@ -1,69 +1,34 @@ - - - - - - - Type Relations — visions 0.7.1 documentation - - - - - + - - - - - - + + Type Relations — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage/types.html b/docs/visions/getting_started/usage/types.html index 4d7eb794c..471d1af7a 100644 --- a/docs/visions/getting_started/usage/types.html +++ b/docs/visions/getting_started/usage/types.html @@ -1,69 +1,34 @@ - - - - - - - Types — visions 0.7.1 documentation - - - - - + - - - - - - + + Types — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - - - - - - - - - - - - + \ No newline at end of file diff --git a/docs/visions/getting_started/usage/typesets.html b/docs/visions/getting_started/usage/typesets.html index e363a24a6..979b55ecb 100644 --- a/docs/visions/getting_started/usage/typesets.html +++ b/docs/visions/getting_started/usage/typesets.html @@ -1,69 +1,34 @@ - - - - - - - Typesets — visions 0.7.1 documentation - + - - - - - - - - - - + + Typesets — visions 0.7.2 documentation + + - - + - - - - - - + - - - +
    - -
    - - -
    - -
    -

    Multiple Typesets

    + +
    +

    Multiple Typesets

    Another potential “gotcha” is to remember that all operations are defined over the specific typeset used to invoke the operation. In practice this means two different typesets might infer or detect different types for the same series.

    @@ -313,68 +227,45 @@

    Multiple Typesets -Visualisation of the base data structure of the *CompleteSet*. -

    Visualisation of the base data structure of the CompleteSet.

    -

    - - - +
    +Visualisation of the base data structure of the *CompleteSet*. +
    +

    Visualisation of the base data structure of the CompleteSet.

    +
    +
    + + + - - - - - - - - - - - - + \ No newline at end of file diff --git a/src/visions/visualisation/typesets/typeset_complete.png b/src/visions/visualisation/typesets/typeset_complete.png index 673f18892..e23079e18 100644 Binary files a/src/visions/visualisation/typesets/typeset_complete.png and b/src/visions/visualisation/typesets/typeset_complete.png differ diff --git a/src/visions/visualisation/typesets/typeset_complete.svg b/src/visions/visualisation/typesets/typeset_complete.svg index 3807dd111..7278268ef 100644 --- a/src/visions/visualisation/typesets/typeset_complete.svg +++ b/src/visions/visualisation/typesets/typeset_complete.svg @@ -1,355 +1,355 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Ordinal - -Ordinal + +Ordinal Categorical->Ordinal - - + + Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + Count - -Count + +Count Date - -Date + +Date DateTime - -DateTime + +DateTime DateTime->Date - - + + EmailAddress - -EmailAddress + +EmailAddress File - -File + +File Image - -Image + +Image File->Image - - + + Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry IPAddress - -IPAddress + +IPAddress Integer->Count - - + + Object->Boolean - - + + Object->Date - - + + Object->EmailAddress - - + + Object->Geometry - - + + Object->IPAddress - - + + Path - -Path + +Path Object->Path - - + + String - -String + +String Object->String - - + + Time - -Time + +Time Object->Time - - + + URL - -URL + +URL Object->URL - - + + UUID - -UUID + +UUID Object->UUID - - + + Path->File - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->EmailAddress - - + + String->Float - - + + String->Geometry - - + + String->IPAddress - - + + String->Path - - + + String->URL - - + + String->UUID - - + + diff --git a/src/visions/visualisation/typesets/typeset_complete_base.svg b/src/visions/visualisation/typesets/typeset_complete_base.svg index 516a47cc1..a6042f259 100644 --- a/src/visions/visualisation/typesets/typeset_complete_base.svg +++ b/src/visions/visualisation/typesets/typeset_complete_base.svg @@ -1,271 +1,271 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Ordinal - -Ordinal + +Ordinal Categorical->Ordinal - - + + Complex - -Complex + +Complex Count - -Count + +Count Date - -Date + +Date DateTime - -DateTime + +DateTime EmailAddress - -EmailAddress + +EmailAddress File - -File + +File Image - -Image + +Image File->Image - - + + Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry IPAddress - -IPAddress + +IPAddress Integer->Count - - + + Object->Date - - + + Object->EmailAddress - - + + Object->Geometry - - + + Object->IPAddress - - + + Path - -Path + +Path Object->Path - - + + String - -String + +String Object->String - - + + Time - -Time + +Time Object->Time - - + + URL - -URL + +URL Object->URL - - + + UUID - -UUID + +UUID Object->UUID - - + + Path->File - - + + diff --git a/src/visions/visualisation/typesets/typeset_geometry.png b/src/visions/visualisation/typesets/typeset_geometry.png index 82ccc22c4..03fa0733e 100644 Binary files a/src/visions/visualisation/typesets/typeset_geometry.png and b/src/visions/visualisation/typesets/typeset_geometry.png differ diff --git a/src/visions/visualisation/typesets/typeset_geometry.svg b/src/visions/visualisation/typesets/typeset_geometry.svg index d7b89456b..33f23c290 100644 --- a/src/visions/visualisation/typesets/typeset_geometry.svg +++ b/src/visions/visualisation/typesets/typeset_geometry.svg @@ -1,187 +1,187 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + DateTime - -DateTime + +DateTime Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry Object->Boolean - - + + Object->Geometry - - + + String - -String + +String Object->String - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->Float - - + + String->Geometry - - + + diff --git a/src/visions/visualisation/typesets/typeset_geometry_base.svg b/src/visions/visualisation/typesets/typeset_geometry_base.svg index 6e63a9f64..9bb246c40 100644 --- a/src/visions/visualisation/typesets/typeset_geometry_base.svg +++ b/src/visions/visualisation/typesets/typeset_geometry_base.svg @@ -1,139 +1,139 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex DateTime - -DateTime + +DateTime Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Geometry - -Geometry + +Geometry Object->Geometry - - + + String - -String + +String Object->String - - + + diff --git a/src/visions/visualisation/typesets/typeset_standard.png b/src/visions/visualisation/typesets/typeset_standard.png index 78926b0a8..4636374c4 100644 Binary files a/src/visions/visualisation/typesets/typeset_standard.png and b/src/visions/visualisation/typesets/typeset_standard.png differ diff --git a/src/visions/visualisation/typesets/typeset_standard.svg b/src/visions/visualisation/typesets/typeset_standard.svg index d8b4f774a..8fe7d565e 100644 --- a/src/visions/visualisation/typesets/typeset_standard.svg +++ b/src/visions/visualisation/typesets/typeset_standard.svg @@ -1,169 +1,169 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex Float - -Float + +Float Complex->Float - - + + DateTime - -DateTime + +DateTime Integer - -Integer + +Integer Float->Integer - - + + Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + Object->Boolean - - + + String - -String + +String Object->String - - + + String->Boolean - - + + String->Complex - - + + String->DateTime - - + + String->Float - - + + diff --git a/src/visions/visualisation/typesets/typeset_standard_base.svg b/src/visions/visualisation/typesets/typeset_standard_base.svg index 89617cb19..1dd471145 100644 --- a/src/visions/visualisation/typesets/typeset_standard_base.svg +++ b/src/visions/visualisation/typesets/typeset_standard_base.svg @@ -1,127 +1,127 @@ - - + %3 - + Boolean - -Boolean + +Boolean Categorical - -Categorical + +Categorical Complex - -Complex + +Complex DateTime - -DateTime + +DateTime Float - -Float + +Float Generic - -Generic + +Generic Generic->Boolean - - + + Generic->Categorical - - + + Generic->Complex - - + + Generic->DateTime - - + + Generic->Float - - + + Integer - -Integer + +Integer Generic->Integer - - + + Object - -Object + +Object Generic->Object - - + + TimeDelta - -TimeDelta + +TimeDelta Generic->TimeDelta - - + + String - -String + +String Object->String - - + +