def configureControls(self, pane):

        pane.delete(ALL)

        width = int(pane.cget('width'))
        height = int(pane.cget('height'))

        r = 24

        #
        # PAUSE
        #
        (cx, cy) = (width/2, height/2)
        pauseButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(pauseButton, '<Button-1>', self.pause)
        pane.create_rectangle(cx - (r * 0.35), cy - (r * 0.5), 
                              cx - (r * 0.10), cy + (r * 0.5), fill='#ffffff',
                              state='disabled')
        pane.create_rectangle(cx + (r * 0.35), cy - (r * 0.5), 
                              cx + (r * 0.10), cy + (r * 0.5), fill='#ffffff',
                              state='disabled')

        pane.tag_bind(pauseButton, '<Enter>', lambda e: self.assignHelp('pause'))
        pane.tag_bind(pauseButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # PLAY
        #
        (cx, cy) = (width/2 + r*2.4, height/2)
        playButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(playButton, '<Button-1>', self.play)
        pane.create_polygon(cx - r * 0.35, cy - r * 0.5,
                            cx + r * 0.55, cy,
                            cx - r * 0.35, cy + r * 0.5, fill='#ffffff',
                            state='disabled')
        pane.tag_bind(playButton, '<Enter>', lambda e: self.assignHelp('play'))
        pane.tag_bind(playButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # REVERSE
        #
        (cx, cy) = (width/2 - r*2.4, height/2)
        reverseButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(reverseButton, '<Button-1>', self.reverse)
        pane.create_polygon(cx + r * 0.35, cy - r * 0.5,
                            cx - r * 0.55, cy,
                            cx + r * 0.35, cy + r * 0.5, fill='#ffffff',
                            state='disabled')
        pane.tag_bind(reverseButton, '<Enter>', lambda e: self.assignHelp('reverse'))
        pane.tag_bind(reverseButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # SPEED UP
        #
        (cx, cy) = (width/2 + r * 10.0, height/2)
        speedUpButton = pane.create_rectangle(cx - r, cy - r, cx + r, cy + r,
                                              fill='#0088ff', activefill='#00ffff',
                                              outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(speedUpButton, '<Button-1>', self.speedUp)
        drawChevron(pane, cx, cy, r)
        drawChevron(pane, cx - 0.3 * r, cy, r * 0.8)
        drawChevron(pane, cx + 0.3 * r, cy, r * 1.2)
        pane.tag_bind(speedUpButton, '<Enter>', lambda e: self.assignHelp('speedUp'))
        pane.tag_bind(speedUpButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # SLOW DOWN
        #
        (cx, cy) = (width/2 + r * 7.5, height/2)
        slowDownButton = pane.create_rectangle(cx - r, cy - r, cx + r, cy + r,
                                              fill='#0088ff', activefill='#00ffff',
                                              outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(slowDownButton, '<Button-1>', self.slowDown)
        drawChevron(pane, cx - 0.3 * r, cy, r * 0.8)
        drawChevron(pane, cx, cy, r)
        pane.tag_bind(slowDownButton, '<Enter>', lambda e: self.assignHelp('slowDown'))
        pane.tag_bind(slowDownButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # SHUFFLE
        #
        (cx, cy) = (r * 1.5, height/2)
        shuffleButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(shuffleButton, '<Button-1>', self.shuffle)
        coords = (cx - 0.6 * r, cy - 0.4 * r, 
                  cx - 0.6 * r, cy - 0.2 * r,
                  cx - 0.2 * r, cy - 0.2 * r,
                  cx + 0.2 * r, cy + 0.4 * r,
                  cx + 0.6 * r, cy + 0.4 * r,
                  cx + 0.6 * r, cy + 0.6 * r,
                  cx + 0.8 * r, cy + 0.3 * r,
                  cx + 0.6 * r, cy - 0.0 * r,
                  cx + 0.6 * r, cy + 0.2 * r,
                  cx + 0.2 * r, cy + 0.2 * r,
                  0.2 * r - cx, cy - 0.4 * r,
                  cx - 0.4 * r, cy - 0.4 * r)

        pane.create_polygon(*coords, outline='#ffffff', fill='#0000ff', state='disabled')

        coords = (cx - 0.6 * r, cy + 0.4 * r, 
                  cx - 0.6 * r, cy + 0.2 * r,
                  cx - 0.2 * r, cy + 0.2 * r,
                  cx + 0.2 * r, cy - 0.4 * r,
                  cx + 0.6 * r, cy - 0.4 * r,
                  cx + 0.6 * r, cy - 0.6 * r,
                  cx + 0.8 * r, cy - 0.3 * r,
                  cx + 0.6 * r, cy - 0.0 * r,
                  cx + 0.6 * r, cy - 0.2 * r,
                  cx + 0.2 * r, cy - 0.2 * r,
                  cx - 0.2 * r, cy + 0.4 * r,
                  cx - 0.4 * r, cy + 0.4 * r)

        pane.create_polygon(*coords, outline='#ffffff', fill='#0000ff', state='disabled')
        pane.tag_bind(shuffleButton, '<Enter>', lambda e: self.assignHelp('shuffle'))
        pane.tag_bind(shuffleButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # SOLVE
        #
        (cx, cy) = (r * 4.0, height/2)
        solveButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(solveButton, '<Button-1>', self.solve)
        pane.create_text(cx, cy, text='Solve', fill='white', state='disabled') 
        pane.tag_bind(solveButton, '<Enter>', lambda e: self.assignHelp('solve'))
        pane.tag_bind(solveButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # RESET
        #
        (cx, cy) = (r * 6.5, height/2)
        resetButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(resetButton, '<Button-1>', self.reset)

        pane.create_text(cx, cy, text='Reset', fill='white', state='disabled')
        pane.tag_bind(resetButton, '<Enter>', lambda e: self.assignHelp('reset'))
        pane.tag_bind(resetButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # FROM CAMERA
        #
        (cx, cy) = (r * 9.0, height/2)
        fromcamButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(fromcamButton, '<Button-1>', self.fromCamera)

        pane.create_text(cx, cy-12, text='From', fill='white', state='disabled')
        pane.create_text(cx, cy, text='Camera', fill='white', state='disabled')
        pane.tag_bind(fromcamButton, '<Enter>', lambda e: self.assignHelp('fromCamera'))
        pane.tag_bind(fromcamButton, '<Leave>', lambda e: self.assignHelp('general'))
        #
        # GUIDE
        #
        (cx, cy) = (r * 12.5, height/2)
        guideButton = pane.create_rectangle(cx - 2*r, cy - r, cx + 2*r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(guideButton, '<Button-1>', self.guideThrough)

        pane.create_text(cx, cy-12, text='Guide Through', fill='white', state='disabled')
        pane.create_text(cx, cy, text='Solution', fill='white', state='disabled')
        pane.tag_bind(guideButton, '<Enter>', lambda e: self.assignHelp('guide'))
        pane.tag_bind(guideButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # GUIDE FASTER
        #
        (cx, cy) = (r * 17.5, height/2)
        guideFastButton = pane.create_rectangle(cx - 2.5*r, cy - r, cx + 2.5*r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(guideFastButton, '<Button-1>', self.guideFastThrough)

        pane.create_text(cx, cy-12, text='Guide Through', fill='white', state='disabled')
        pane.create_text(cx, cy, text='Solution (Faster)', fill='white', state='disabled')
        pane.tag_bind(guideFastButton, '<Enter>', lambda e: self.assignHelp('guideFast'))
        pane.tag_bind(guideFastButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # BACK
        #
        r = 14
        (cx, cy) = (width/2 - r*7.5, height/2)
        backButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(backButton, '<Button-1>', self.back)
        pane.create_polygon(cx + r * 0.35, cy - r * 0.5,
                            cx - r * 0.55, cy,
                            cx + r * 0.35, cy + r * 0.5, fill='#ffffff',
                            state='disabled')
        pane.tag_bind(backButton, '<Enter>', lambda e: self.assignHelp('back'))
        pane.tag_bind(backButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # FORWARD
        #
        (cx, cy) = (width/2 + r*7.5, height/2)
        stepButton = pane.create_oval(cx - r, cy - r, cx + r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(stepButton, '<Button-1>', self.step)
        pane.create_polygon(cx - r * 0.35, cy - r * 0.5,
                            cx + r * 0.55, cy,
                            cx - r * 0.35, cy + r * 0.5, fill='#ffffff',
                            state='disabled')
        pane.tag_bind(stepButton, '<Enter>', lambda e: self.assignHelp('step'))
        pane.tag_bind(stepButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # INFO
        #
        (cx, cy) = (width - r * 3.5, height/2)
        helpButton = pane.create_rectangle(cx - 2*r, cy - r, cx + 2*r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(helpButton, '<Button-1>', lambda e: self.assignHelpState(self.SHOWINGINFO))

        pane.create_text(cx, cy, text='Help', fill='white', state='disabled')
        pane.tag_bind(helpButton, '<Enter>', lambda e: self.assignHelp('info'))
        pane.tag_bind(helpButton, '<Leave>', lambda e: self.assignHelp('general'))

        #
        # STATS
        #
        (cx, cy) = (width - r * 8.0, height/2)
        statsButton = pane.create_rectangle(cx - 2*r, cy - r, cx + 2*r, cy + r,
                                       fill='#0088ff', activefill='#00ffff', 
                                       outline='#ffffff', width=1, activewidth=3)
        pane.tag_bind(statsButton, '<Button-1>', self.showStats)

        pane.create_text(cx, cy, text='Stats', fill='white', state='disabled')
        pane.tag_bind(statsButton, '<Enter>', lambda e: self.assignHelp('stats'))
        pane.tag_bind(statsButton, '<Leave>', lambda e: self.assignHelp('general'))
dataset/ETHPy150Open bluquar/cubr/cube.py/Cube.configureControls/swapped operands of `-`