B
    >Œ¶cP ã               @   s¤  d dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZd dl mZ d dlZG d	d
„ d
eƒZd dl mZ d dlZG dd„ deƒZ	d dl mZ d dlZG dd„ deƒZ
d dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZd dl mZ d dlZG dd„ deƒZdddddd
ddddddddgZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ dS )é    )ÚBaseTraceHierarchyTypeNc                   sP   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZedd„ ƒZd‡ fd	d
„	Z‡  Z	S )ÚTotalsc             C   s   | d S )aà  
        The 'marker' property is an instance of Marker
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.waterfall.totals.Marker`
          - A dict of string/value properties that will be passed
            to the Marker constructor
    
            Supported dict properties:
                
                color
                    Sets the marker color of all intermediate sums
                    and total values.
                line
                    :class:`plotly.graph_objects.waterfall.totals.m
                    arker.Line` instance or dict with compatible
                    properties

        Returns
        -------
        plotly.graph_objs.waterfall.totals.Marker
        Úmarker© )Úselfr   r   úU/var/www/cleansys/lib/python3.7/site-packages/plotly/graph_objs/waterfall/__init__.pyr   	   s    zTotals.markerc             C   s   || d< d S )Nr   r   )r   Úvalr   r   r   r   "   s    c             C   s   dS )NÚ	waterfallr   )r   r   r   r   Ú_parent_path_str(   s    zTotals._parent_path_strc             C   s   dS )Nz‘        marker
            :class:`plotly.graph_objects.waterfall.totals.Marker`
            instance or dict with compatible properties
        r   )r   r   r   r   Ú_prop_descriptions.   s    zTotals._prop_descriptionsNc                s¸   t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | 
dd¡}|dk	r’|n|| d< | jf t|f|ŽŽ d| _dS )	a¹  
        Construct a new Totals object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Totals`
        marker
            :class:`plotly.graph_objects.waterfall.totals.Marker`
            instance or dict with compatible properties

        Returns
        -------
        Totals
        ÚtotalsNz—The first argument to the plotly.graph_objs.waterfall.Totals 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Totals`Úskip_invalidFr   )r   r   )Úsuperr   Ú__init__Ú
isinstanceÚ	__class__Úto_plotly_jsonÚdictÚ_copyÚcopyÚ
ValueErrorÚpopÚ_skip_invalidÚplotly.validators.waterfallr   ÚMarkerValidatorÚ_validatorsÚ_process_kwargs)r   Úargr   ÚkwargsZv_totalsÚ_v)r   r   r   r   6   s     

zTotals.__init__)NN)
Ú__name__Ú
__module__Ú__qualname__Úpropertyr   Úsetterr
   r   r   Ú__classcell__r   r   )r   r   r      s
   r   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚTextfontc             C   s   | d S )a%
  
        The 'color' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úcolorr   )r   r   r   r   r'   |   s    2zTextfont.colorc             C   s   || d< d S )Nr'   r   )r   r   r   r   r   r'   °   s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úcolorsrcr   )r   r   r   r   r(   ¶   s    zTextfont.colorsrcc             C   s   || d< d S )Nr(   r   )r   r   r   r   r   r(   Ä   s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        Úfamilyr   )r   r   r   r   r)   Ê   s    zTextfont.familyc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)   ä   s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Ú	familysrcr   )r   r   r   r   r*   ê   s    zTextfont.familysrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   ø   s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        Úsizer   )r   r   r   r   r+   þ   s    zTextfont.sizec             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+     s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úsizesrcr   )r   r   r   r   r,     s    zTextfont.sizesrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,     s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   %  s    zTextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r   +  s    zTextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )a³  
        Construct a new Textfont object
        
        Sets the font used for `text`.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Textfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Textfont
        ÚtextfontNz›The first argument to the plotly.graph_objs.waterfall.Textfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Textfont`r   Fr   )r-   r'   r(   r)   r*   r+   r,   )r   r&   r   r   r   r   r   r   r   r   r   r   r   r-   ÚColorValidatorr   ÚColorsrcValidatorÚFamilyValidatorÚFamilysrcValidatorÚSizeValidatorÚSizesrcValidatorr   )r   r   r'   r(   r)   r*   r+   r,   r   Z
v_textfontr   )r   r   r   r   H  s>    3

zTextfont.__init__)NNNNNNN)r    r!   r"   r#   r'   r$   r(   r)   r*   r+   r,   r
   r   r   r%   r   r   )r   r   r&   x   s*   4      r&   c                   sj   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZed	d
„ ƒZd‡ fdd„	Z	‡  Z
S )ÚStreamc             C   s   | d S )a|  
        Sets the maximum number of points to keep on the plots from an
        incoming stream. If `maxpoints` is set to 50, only the newest
        50 points will be displayed on the plot.
    
        The 'maxpoints' property is a number and may be specified as:
          - An int or float in the interval [0, 10000]

        Returns
        -------
        int|float
        Ú	maxpointsr   )r   r   r   r   r5   ¾  s    zStream.maxpointsc             C   s   || d< d S )Nr5   r   )r   r   r   r   r   r5   Î  s    c             C   s   | d S )a  
        The stream id number links a data trace on a plot with a
        stream. See https://plot.ly/settings for more details.
    
        The 'token' property is a string and must be specified as:
          - A non-empty string

        Returns
        -------
        str
        Útokenr   )r   r   r   r   r6   Ô  s    zStream.tokenc             C   s   || d< d S )Nr6   r   )r   r   r   r   r   r6   ã  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   é  s    zStream._parent_path_strc             C   s   dS )Na’          maxpoints
            Sets the maximum number of points to keep on the plots
            from an incoming stream. If `maxpoints` is set to 50,
            only the newest 50 points will be displayed on the
            plot.
        token
            The stream id number links a data trace on a plot with
            a stream. See https://plot.ly/settings for more
            details.
        r   )r   r   r   r   r   ï  s    zStream._prop_descriptionsNc                sæ   t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | 
dd¡}|dk	r |n|| d< | 
d	d¡}|dk	rÀ|n|| d	< | jf t|f|ŽŽ d| _dS )
aº  
        Construct a new Stream object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Stream`
        maxpoints
            Sets the maximum number of points to keep on the plots
            from an incoming stream. If `maxpoints` is set to 50,
            only the newest 50 points will be displayed on the
            plot.
        token
            The stream id number links a data trace on a plot with
            a stream. See https://plot.ly/settings for more
            details.

        Returns
        -------
        Stream
        ÚstreamNz—The first argument to the plotly.graph_objs.waterfall.Stream 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Stream`r   Fr   )r7   r5   r6   )r   r4   r   r   r   r   r   r   r   r   r   r   r   r7   ZMaxpointsValidatorr   ZTokenValidatorr   )r   r   r5   r6   r   Zv_streamr   )r   r   r   r   ý  s&    

zStream.__init__)NNN)r    r!   r"   r#   r5   r$   r6   r
   r   r   r%   r   r   )r   r   r4   º  s   r4   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚOutsidetextfontc             C   s   | d S )a%
  
        The 'color' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        r'   r   )r   r   r   r   r'   L  s    2zOutsidetextfont.colorc             C   s   || d< d S )Nr'   r   )r   r   r   r   r   r'   €  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r(   r   )r   r   r   r   r(   †  s    zOutsidetextfont.colorsrcc             C   s   || d< d S )Nr(   r   )r   r   r   r   r   r(   ”  s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r)   r   )r   r   r   r   r)   š  s    zOutsidetextfont.familyc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)   ´  s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r*   r   )r   r   r   r   r*   º  s    zOutsidetextfont.familysrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   È  s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        r+   r   )r   r   r   r   r+   Î  s    zOutsidetextfont.sizec             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+   Û  s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r,   r   )r   r   r   r   r,   á  s    zOutsidetextfont.sizesrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,   ï  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   õ  s    z Outsidetextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r   û  s    z"Outsidetextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )aÞ  
        Construct a new Outsidetextfont object
        
        Sets the font used for `text` lying outside the bar.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Outsidetextfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Outsidetextfont
        ÚoutsidetextfontNz©The first argument to the plotly.graph_objs.waterfall.Outsidetextfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Outsidetextfont`r   Fr   )r9   r'   r(   r)   r*   r+   r,   )r   r8   r   r   r   r   r   r   r   r   r   r   r   r9   r.   r   r/   r0   r1   r2   r3   r   )r   r   r'   r(   r)   r*   r+   r,   r   Zv_outsidetextfontr   )r   r   r   r     s>    3

zOutsidetextfont.__init__)NNNNNNN)r    r!   r"   r#   r'   r$   r(   r)   r*   r+   r,   r
   r   r   r%   r   r   )r   r   r8   H  s*   4      r8   c                   sÒ   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZedd„ ƒZd‡ fdd„	Z‡  ZS )ÚInsidetextfontc             C   s   | d S )a%
  
        The 'color' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        r'   r   )r   r   r   r   r'   Ž  s    2zInsidetextfont.colorc             C   s   || d< d S )Nr'   r   )r   r   r   r   r   r'   Â  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  color .
    
        The 'colorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r(   r   )r   r   r   r   r(   È  s    zInsidetextfont.colorsrcc             C   s   || d< d S )Nr(   r   )r   r   r   r   r   r(   Ö  s    c             C   s   | d S )aô  
        HTML font family - the typeface that will be applied by the web
        browser. The web browser will only be able to apply a font if
        it is available on the system which it operates. Provide
        multiple font families, separated by commas, to indicate the
        preference in which to apply fonts if they aren't available on
        the system. The plotly service (at https://plot.ly or on-
        premise) generates images on a server, where only a select
        number of fonts are installed and supported. These include
        "Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif",
        "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open
        Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New
        Roman".
    
        The 'family' property is a string and must be specified as:
          - A non-empty string
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        str|numpy.ndarray
        r)   r   )r   r   r   r   r)   Ü  s    zInsidetextfont.familyc             C   s   || d< d S )Nr)   r   )r   r   r   r   r   r)   ö  s    c             C   s   | d S )zä
        Sets the source reference on plot.ly for  family .
    
        The 'familysrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r*   r   )r   r   r   r   r*   ü  s    zInsidetextfont.familysrcc             C   s   || d< d S )Nr*   r   )r   r   r   r   r   r*   
  s    c             C   s   | d S )a  
        The 'size' property is a number and may be specified as:
          - An int or float in the interval [1, inf]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|float|numpy.ndarray
        r+   r   )r   r   r   r   r+     s    zInsidetextfont.sizec             C   s   || d< d S )Nr+   r   )r   r   r   r   r   r+     s    c             C   s   | d S )zà
        Sets the source reference on plot.ly for  size .
    
        The 'sizesrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        r,   r   )r   r   r   r   r,   #  s    zInsidetextfont.sizesrcc             C   s   || d< d S )Nr,   r   )r   r   r   r   r   r,   1  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   7  s    zInsidetextfont._parent_path_strc             C   s   dS )Na]          color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .
        r   )r   r   r   r   r   =  s    z!Insidetextfont._prop_descriptionsNc                s¦  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm}	 |	 ¡ | jd< |	 ¡ | jd	< |	 ¡ | jd
< |	 ¡ | jd< |	 ¡ | jd< |	 ¡ | jd< | 
dd¡}
|dk	rØ|n|
| d< | 
d	d¡}
|dk	rø|n|
| d	< | 
d
d¡}
|dk	r|n|
| d
< | 
dd¡}
|dk	r<|n|
| d< | 
dd¡}
|dk	r^|n|
| d< | 
dd¡}
|dk	r€|n|
| d< | jf t|f|ŽŽ d| _dS )aÚ  
        Construct a new Insidetextfont object
        
        Sets the font used for `text` lying inside the bar.

        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Insidetextfont`
        color

        colorsrc
            Sets the source reference on plot.ly for  color .
        family
            HTML font family - the typeface that will be applied by
            the web browser. The web browser will only be able to
            apply a font if it is available on the system which it
            operates. Provide multiple font families, separated by
            commas, to indicate the preference in which to apply
            fonts if they aren't available on the system. The
            plotly service (at https://plot.ly or on-premise)
            generates images on a server, where only a select
            number of fonts are installed and supported. These
            include "Arial", "Balto", "Courier New", "Droid Sans",,
            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
            Standard TT", "Open Sans", "Overpass", "PT Sans
            Narrow", "Raleway", "Times New Roman".
        familysrc
            Sets the source reference on plot.ly for  family .
        size

        sizesrc
            Sets the source reference on plot.ly for  size .

        Returns
        -------
        Insidetextfont
        ÚinsidetextfontNz§The first argument to the plotly.graph_objs.waterfall.Insidetextfont 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Insidetextfont`r   Fr   )r;   r'   r(   r)   r*   r+   r,   )r   r:   r   r   r   r   r   r   r   r   r   r   r   r;   r.   r   r/   r0   r1   r2   r3   r   )r   r   r'   r(   r)   r*   r+   r,   r   Zv_insidetextfontr   )r   r   r   r   Z  s>    3

zInsidetextfont.__init__)NNNNNNN)r    r!   r"   r#   r'   r$   r(   r)   r*   r+   r,   r
   r   r   r%   r   r   )r   r   r:   Š  s*   4      r:   c                   sP   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZedd„ ƒZd‡ fd	d
„	Z‡  Z	S )Ú
Increasingc             C   s   | d S )aÇ  
        The 'marker' property is an instance of Marker
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.waterfall.increasing.Marker`
          - A dict of string/value properties that will be passed
            to the Marker constructor
    
            Supported dict properties:
                
                color
                    Sets the marker color of all increasing values.
                line
                    :class:`plotly.graph_objects.waterfall.increasi
                    ng.marker.Line` instance or dict with
                    compatible properties

        Returns
        -------
        plotly.graph_objs.waterfall.increasing.Marker
        r   r   )r   r   r   r   r   Ð  s    zIncreasing.markerc             C   s   || d< d S )Nr   r   )r   r   r   r   r   r   è  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   î  s    zIncreasing._parent_path_strc             C   s   dS )Nz–        marker
            :class:`plotly.graph_objects.waterfall.increasing.Marke
            r` instance or dict with compatible properties
        r   )r   r   r   r   r   ô  s    zIncreasing._prop_descriptionsNc                s¸   t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | 
dd¡}|dk	r’|n|| d< | jf t|f|ŽŽ d| _dS )	aÊ  
        Construct a new Increasing object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Increasing`
        marker
            :class:`plotly.graph_objects.waterfall.increasing.Marke
            r` instance or dict with compatible properties

        Returns
        -------
        Increasing
        Ú
increasingNzŸThe first argument to the plotly.graph_objs.waterfall.Increasing 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Increasing`r   Fr   )r=   r   )r   r<   r   r   r   r   r   r   r   r   r   r   r   r=   r   r   r   )r   r   r   r   Zv_increasingr   )r   r   r   r   ü  s     

zIncreasing.__init__)NN)
r    r!   r"   r#   r   r$   r
   r   r   r%   r   r   )r   r   r<   Ì  s
   r<   c            
       s   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZejdd„ ƒZedd„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZedd„ ƒZd#‡ fd!d"„	Z‡  ZS )$Ú
Hoverlabelc             C   s   | d S )aâ  
        Sets the horizontal alignment of the text content within hover
        label box. Has an effect only if the hover label text spans
        more two or more lines
    
        The 'align' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['left', 'right', 'auto']
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        Any|numpy.ndarray
        Úalignr   )r   r   r   r   r?   B  s    zHoverlabel.alignc             C   s   || d< d S )Nr?   r   )r   r   r   r   r   r?   T  s    c             C   s   | d S )zâ
        Sets the source reference on plot.ly for  align .
    
        The 'alignsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úalignsrcr   )r   r   r   r   r@   Z  s    zHoverlabel.alignsrcc             C   s   || d< d S )Nr@   r   )r   r   r   r   r   r@   h  s    c             C   s   | d S )aq
  
        Sets the background color of the hover labels for this trace
    
        The 'bgcolor' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úbgcolorr   )r   r   r   r   rA   n  s    4zHoverlabel.bgcolorc             C   s   || d< d S )NrA   r   )r   r   r   r   r   rA   ¤  s    c             C   s   | d S )zæ
        Sets the source reference on plot.ly for  bgcolor .
    
        The 'bgcolorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Ú
bgcolorsrcr   )r   r   r   r   rB   ª  s    zHoverlabel.bgcolorsrcc             C   s   || d< d S )NrB   r   )r   r   r   r   r   rB   ¸  s    c             C   s   | d S )ar
  
        Sets the border color of the hover labels for this trace.
    
        The 'bordercolor' property is a color and may be specified as:
          - A hex string (e.g. '#ff0000')
          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
          - A named CSS color:
                aliceblue, antiquewhite, aqua, aquamarine, azure,
                beige, bisque, black, blanchedalmond, blue,
                blueviolet, brown, burlywood, cadetblue,
                chartreuse, chocolate, coral, cornflowerblue,
                cornsilk, crimson, cyan, darkblue, darkcyan,
                darkgoldenrod, darkgray, darkgrey, darkgreen,
                darkkhaki, darkmagenta, darkolivegreen, darkorange,
                darkorchid, darkred, darksalmon, darkseagreen,
                darkslateblue, darkslategray, darkslategrey,
                darkturquoise, darkviolet, deeppink, deepskyblue,
                dimgray, dimgrey, dodgerblue, firebrick,
                floralwhite, forestgreen, fuchsia, gainsboro,
                ghostwhite, gold, goldenrod, gray, grey, green,
                greenyellow, honeydew, hotpink, indianred, indigo,
                ivory, khaki, lavender, lavenderblush, lawngreen,
                lemonchiffon, lightblue, lightcoral, lightcyan,
                lightgoldenrodyellow, lightgray, lightgrey,
                lightgreen, lightpink, lightsalmon, lightseagreen,
                lightskyblue, lightslategray, lightslategrey,
                lightsteelblue, lightyellow, lime, limegreen,
                linen, magenta, maroon, mediumaquamarine,
                mediumblue, mediumorchid, mediumpurple,
                mediumseagreen, mediumslateblue, mediumspringgreen,
                mediumturquoise, mediumvioletred, midnightblue,
                mintcream, mistyrose, moccasin, navajowhite, navy,
                oldlace, olive, olivedrab, orange, orangered,
                orchid, palegoldenrod, palegreen, paleturquoise,
                palevioletred, papayawhip, peachpuff, peru, pink,
                plum, powderblue, purple, red, rosybrown,
                royalblue, rebeccapurple, saddlebrown, salmon,
                sandybrown, seagreen, seashell, sienna, silver,
                skyblue, slateblue, slategray, slategrey, snow,
                springgreen, steelblue, tan, teal, thistle, tomato,
                turquoise, violet, wheat, white, whitesmoke,
                yellow, yellowgreen
          - A list or array of any of the above

        Returns
        -------
        str|numpy.ndarray
        Úbordercolorr   )r   r   r   r   rC   ¾  s    4zHoverlabel.bordercolorc             C   s   || d< d S )NrC   r   )r   r   r   r   r   rC   ô  s    c             C   s   | d S )zî
        Sets the source reference on plot.ly for  bordercolor .
    
        The 'bordercolorsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Úbordercolorsrcr   )r   r   r   r   rD   ú  s    zHoverlabel.bordercolorsrcc             C   s   || d< d S )NrD   r   )r   r   r   r   r   rD     s    c             C   s   | d S )aG  
        Sets the font used in hover labels.
    
        The 'font' property is an instance of Font
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.waterfall.hoverlabel.Font`
          - A dict of string/value properties that will be passed
            to the Font constructor
    
            Supported dict properties:
                
                color
    
                colorsrc
                    Sets the source reference on plot.ly for  color
                    .
                family
                    HTML font family - the typeface that will be
                    applied by the web browser. The web browser
                    will only be able to apply a font if it is
                    available on the system which it operates.
                    Provide multiple font families, separated by
                    commas, to indicate the preference in which to
                    apply fonts if they aren't available on the
                    system. The plotly service (at https://plot.ly
                    or on-premise) generates images on a server,
                    where only a select number of fonts are
                    installed and supported. These include "Arial",
                    "Balto", "Courier New", "Droid Sans",, "Droid
                    Serif", "Droid Sans Mono", "Gravitas One", "Old
                    Standard TT", "Open Sans", "Overpass", "PT Sans
                    Narrow", "Raleway", "Times New Roman".
                familysrc
                    Sets the source reference on plot.ly for
                    family .
                size
    
                sizesrc
                    Sets the source reference on plot.ly for  size
                    .

        Returns
        -------
        plotly.graph_objs.waterfall.hoverlabel.Font
        Úfontr   )r   r   r   r   rE     s    /zHoverlabel.fontc             C   s   || d< d S )NrE   r   )r   r   r   r   r   rE   ?  s    c             C   s   | d S )aÝ  
        Sets the default length (in number of characters) of the trace
        name in the hover labels for all traces. -1 shows the whole
        name regardless of length. 0-3 shows the first 0-3 characters,
        and an integer >3 will show the whole name if it is less than
        that many characters, but if it is longer, will truncate to
        `namelength - 3` characters and add an ellipsis.
    
        The 'namelength' property is a integer and may be specified as:
          - An int (or float that will be cast to an int)
            in the interval [-1, 9223372036854775807]
          - A tuple, list, or one-dimensional numpy array of the above

        Returns
        -------
        int|numpy.ndarray
        Ú
namelengthr   )r   r   r   r   rF   E  s    zHoverlabel.namelengthc             C   s   || d< d S )NrF   r   )r   r   r   r   r   rF   Z  s    c             C   s   | d S )zì
        Sets the source reference on plot.ly for  namelength .
    
        The 'namelengthsrc' property must be specified as a string or
        as a plotly.grid_objs.Column object

        Returns
        -------
        str
        Únamelengthsrcr   )r   r   r   r   rG   `  s    zHoverlabel.namelengthsrcc             C   s   || d< d S )NrG   r   )r   r   r   r   r   rG   n  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   t  s    zHoverlabel._parent_path_strc             C   s   dS )Naö          align
            Sets the horizontal alignment of the text content
            within hover label box. Has an effect only if the hover
            label text spans more two or more lines
        alignsrc
            Sets the source reference on plot.ly for  align .
        bgcolor
            Sets the background color of the hover labels for this
            trace
        bgcolorsrc
            Sets the source reference on plot.ly for  bgcolor .
        bordercolor
            Sets the border color of the hover labels for this
            trace.
        bordercolorsrc
            Sets the source reference on plot.ly for  bordercolor .
        font
            Sets the font used in hover labels.
        namelength
            Sets the default length (in number of characters) of
            the trace name in the hover labels for all traces. -1
            shows the whole name regardless of length. 0-3 shows
            the first 0-3 characters, and an integer >3 will show
            the whole name if it is less than that many characters,
            but if it is longer, will truncate to `namelength - 3`
            characters and add an ellipsis.
        namelengthsrc
            Sets the source reference on plot.ly for  namelength .
        r   )r   r   r   r   r   z  s    zHoverlabel._prop_descriptionsNc                s:  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | ¡ | jd< | 
dd¡}|dk	r|n|| d< | 
d	d¡}|dk	r&|n|| d	< | 
d
d¡}|dk	rH|n|| d
< | 
dd¡}|dk	rj|n|| d< | 
dd¡}|dk	rŒ|n|| d< | 
dd¡}|dk	r®|n|| d< | 
dd¡}|dk	rÐ|n|| d< | 
dd¡}|	dk	rò|	n|| d< | 
dd¡}|
dk	r|
n|| d< | jf t|f|ŽŽ d| _dS )a*  
        Construct a new Hoverlabel object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Hoverlabel`
        align
            Sets the horizontal alignment of the text content
            within hover label box. Has an effect only if the hover
            label text spans more two or more lines
        alignsrc
            Sets the source reference on plot.ly for  align .
        bgcolor
            Sets the background color of the hover labels for this
            trace
        bgcolorsrc
            Sets the source reference on plot.ly for  bgcolor .
        bordercolor
            Sets the border color of the hover labels for this
            trace.
        bordercolorsrc
            Sets the source reference on plot.ly for  bordercolor .
        font
            Sets the font used in hover labels.
        namelength
            Sets the default length (in number of characters) of
            the trace name in the hover labels for all traces. -1
            shows the whole name regardless of length. 0-3 shows
            the first 0-3 characters, and an integer >3 will show
            the whole name if it is less than that many characters,
            but if it is longer, will truncate to `namelength - 3`
            characters and add an ellipsis.
        namelengthsrc
            Sets the source reference on plot.ly for  namelength .

        Returns
        -------
        Hoverlabel
        Ú
hoverlabelNzŸThe first argument to the plotly.graph_objs.waterfall.Hoverlabel 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Hoverlabel`r   Fr   )rH   r?   r@   rA   rB   rC   rD   rE   rF   rG   )r   r>   r   r   r   r   r   r   r   r   r   r   r   rH   ZAlignValidatorr   ZAlignsrcValidatorZBgcolorValidatorZBgcolorsrcValidatorZBordercolorValidatorZBordercolorsrcValidatorZFontValidatorZNamelengthValidatorZNamelengthsrcValidatorr   )r   r   r?   r@   rA   rB   rC   rD   rE   rF   rG   r   Zv_hoverlabelr   )r   r   r   r   ›  sP    8

zHoverlabel.__init__)
NNNNNNNNNN)r    r!   r"   r#   r?   r$   r@   rA   rB   rC   rD   rE   rF   rG   r
   r   r   r%   r   r   )r   r   r>   >  s<   661#         r>   c                   sP   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZedd„ ƒZd‡ fd	d
„	Z‡  Z	S )Ú
Decreasingc             C   s   | d S )aÇ  
        The 'marker' property is an instance of Marker
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.waterfall.decreasing.Marker`
          - A dict of string/value properties that will be passed
            to the Marker constructor
    
            Supported dict properties:
                
                color
                    Sets the marker color of all decreasing values.
                line
                    :class:`plotly.graph_objects.waterfall.decreasi
                    ng.marker.Line` instance or dict with
                    compatible properties

        Returns
        -------
        plotly.graph_objs.waterfall.decreasing.Marker
        r   r   )r   r   r   r   r     s    zDecreasing.markerc             C   s   || d< d S )Nr   r   )r   r   r   r   r   r   7  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   =  s    zDecreasing._parent_path_strc             C   s   dS )Nz–        marker
            :class:`plotly.graph_objects.waterfall.decreasing.Marke
            r` instance or dict with compatible properties
        r   )r   r   r   r   r   C  s    zDecreasing._prop_descriptionsNc                s¸   t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | 
dd¡}|dk	r’|n|| d< | jf t|f|ŽŽ d| _dS )	aÊ  
        Construct a new Decreasing object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Decreasing`
        marker
            :class:`plotly.graph_objects.waterfall.decreasing.Marke
            r` instance or dict with compatible properties

        Returns
        -------
        Decreasing
        Ú
decreasingNzŸThe first argument to the plotly.graph_objs.waterfall.Decreasing 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Decreasing`r   Fr   )rJ   r   )r   rI   r   r   r   r   r   r   r   r   r   r   r   rJ   r   r   r   )r   r   r   r   Zv_decreasingr   )r   r   r   r   K  s     

zDecreasing.__init__)NN)
r    r!   r"   r#   r   r$   r
   r   r   r%   r   r   )r   r   rI     s
   rI   c                   s„   e Zd Zedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZedd„ ƒZ	d‡ fdd„	Z
‡  ZS )Ú	Connectorc             C   s   | d S )a>  
        The 'line' property is an instance of Line
        that may be specified as:
          - An instance of :class:`plotly.graph_objs.waterfall.connector.Line`
          - A dict of string/value properties that will be passed
            to the Line constructor
    
            Supported dict properties:
                
                color
                    Sets the line color.
                dash
                    Sets the dash style of lines. Set to a dash
                    type string ("solid", "dot", "dash",
                    "longdash", "dashdot", or "longdashdot") or a
                    dash length list in px (eg "5px,10px,2px,2px").
                width
                    Sets the line width (in px).

        Returns
        -------
        plotly.graph_objs.waterfall.connector.Line
        Úliner   )r   r   r   r   rL   ‘  s    zConnector.linec             C   s   || d< d S )NrL   r   )r   r   r   r   r   rL   ¬  s    c             C   s   | d S )a  
        Sets the shape of connector lines.
    
        The 'mode' property is an enumeration that may be specified as:
          - One of the following enumeration values:
                ['spanning', 'between']

        Returns
        -------
        Any
        Úmoder   )r   r   r   r   rM   ²  s    zConnector.modec             C   s   || d< d S )NrM   r   )r   r   r   r   r   rM   Á  s    c             C   s   | d S )zÈ
        Determines if connector lines are drawn.
    
        The 'visible' property must be specified as a bool
        (either True, or False)

        Returns
        -------
        bool
        Úvisibler   )r   r   r   r   rN   Ç  s    zConnector.visiblec             C   s   || d< d S )NrN   r   )r   r   r   r   r   rN   Õ  s    c             C   s   dS )Nr	   r   )r   r   r   r   r
   Û  s    zConnector._parent_path_strc             C   s   dS )Na          line
            :class:`plotly.graph_objects.waterfall.connector.Line`
            instance or dict with compatible properties
        mode
            Sets the shape of connector lines.
        visible
            Determines if connector lines are drawn.
        r   )r   r   r   r   r   á  s    
zConnector._prop_descriptionsNc                s  t t| ƒ d¡ |dkri }n4t|| jƒr4| ¡ }nt|tƒrJt |¡}nt	dƒ‚| 
dd¡| _ddlm} | ¡ | jd< | ¡ | jd	< | ¡ | jd
< | 
dd¡}|dk	r®|n|| d< | 
d	d¡}|dk	rÎ|n|| d	< | 
d
d¡}|dk	rî|n|| d
< | jf t|f|ŽŽ d| _dS )aB  
        Construct a new Connector object
        
        Parameters
        ----------
        arg
            dict of properties compatible with this constructor or
            an instance of
            :class:`plotly.graph_objs.waterfall.Connector`
        line
            :class:`plotly.graph_objects.waterfall.connector.Line`
            instance or dict with compatible properties
        mode
            Sets the shape of connector lines.
        visible
            Determines if connector lines are drawn.

        Returns
        -------
        Connector
        Ú	connectorNzThe first argument to the plotly.graph_objs.waterfall.Connector 
constructor must be a dict or 
an instance of :class:`plotly.graph_objs.waterfall.Connector`r   Fr   )rO   rL   rM   rN   )r   rK   r   r   r   r   r   r   r   r   r   r   r   rO   ZLineValidatorr   ZModeValidatorZVisibleValidatorr   )r   r   rL   rM   rN   r   Zv_connectorr   )r   r   r   r   í  s,    

zConnector.__init__)NNNN)r    r!   r"   r#   rL   r$   rM   rN   r
   r   r   r%   r   r   )r   r   rK     s   rK   rO   rJ   rH   r=   r   )r   )r=   )rH   )rJ   )rO   )Zplotly.basedatatypesr   Z_BaseTraceHierarchyTyper   r   r   r&   r4   r8   r:   r<   r>   rI   rK   Ú__all__Zplotly.graph_objs.waterfallr   r=   rH   rJ   rO   r   r   r   r   Ú<module>   sp   o  @   @  @n   \n *