ó DÑÕfc@stdZddd„ZeZddd„ZeZddd„Zddd„ZyddlTWne k ronXdS( sBisection algorithms.icCsŽ|dkrtdƒ‚n|dkr6t|ƒ}nxA||kry||d}|||krl|}q9|d}q9W|j||ƒdS(sïInsert item x in list a, and keep it sorted assuming a is sorted. If x is already in a, insert it to the right of the rightmost x. Optional args lo (default 0) and hi (default len(a)) bound the slice of a to be searched. islo must be non-negativeiiN(t ValueErrortNonetlentinsert(tatxtlothitmid((s/usr/lib64/python2.7/bisect.pyt insort_rights   cCs~|dkrtdƒ‚n|dkr6t|ƒ}nxA||kry||d}|||krl|}q9|d}q9W|S(s€Return the index where to insert item x in list a, assuming a is sorted. The return value i is such that all e in a[:i] have e <= x, and all e in a[i:] have e > x. So if x already appears in the list, a.insert(x) will insert just after the rightmost x already there. Optional args lo (default 0) and hi (default len(a)) bound the slice of a to be searched. islo must be non-negativeiiN(RRR(RRRRR((s/usr/lib64/python2.7/bisect.pyt bisect_rights   cCsŽ|dkrtdƒ‚n|dkr6t|ƒ}nxA||kry||d}|||krp|d}q9|}q9W|j||ƒdS(síInsert item x in list a, and keep it sorted assuming a is sorted. If x is already in a, insert it to the left of the leftmost x. Optional args lo (default 0) and hi (default len(a)) bound the slice of a to be searched. islo must be non-negativeiiN(RRRR(RRRRR((s/usr/lib64/python2.7/bisect.pyt insort_left/s    cCs~|dkrtdƒ‚n|dkr6t|ƒ}nxA||kry||d}|||krp|d}q9|}q9W|S(s€Return the index where to insert item x in list a, assuming a is sorted. The return value i is such that all e in a[:i] have e < x, and all e in a[i:] have e >= x. So if x already appears in the list, a.insert(x) will insert just before the leftmost x already there. Optional args lo (default 0) and hi (default len(a)) bound the slice of a to be searched. islo must be non-negativeiiN(RRR(RRRRR((s/usr/lib64/python2.7/bisect.pyt bisect_leftCs    iÿÿÿÿ(t*N( t__doc__RR tinsortR tbisectR R t_bisectt ImportError(((s/usr/lib64/python2.7/bisect.pyts