def run(
        self, group=-1, index=-1,
        close_type="single", unsaved_prompt=True, close_unsaved=True
    ):
        """Close the specified tabs and cleanup sticky states."""

        TabsExtraListener.extra_command_call = True

        if 0 >= group and index >= 0:
            self.init(close_type, group, index)

            if (
                len(self.targets) and
                not unsaved_prompt and
                not sublime.ok_cancel_dialog(
                    "Are you sure you want to dismiss all targeted unsaved buffers?"
                )
            ):
                return

            for s in self.targets:
                if SHEET_WORKAROUND:
                    self.window.focus_sheet(s)
                    v = self.window.active_view()
                else:
                    v = s.view()
                if v is not None:
                    if not v.settings().get("tabs_extra_sticky", False) or close_type == "single":
                        if not self.persistent:
                            v.settings().erase("tabs_extra_sticky")
                        self.window.focus_view(v)
                        if not v.is_dirty() or close_unsaved:
                            if not unsaved_prompt:
                                v.set_scratch(True)
                            self.window.run_command("close_file")
                    elif not self.persistent:
                        v.settings().erase("tabs_extra_sticky")
                else:
                    self.window.run_command("close_file")

            if not self.persistent and self.cleanup:
                self.window.run_command("tabs_extra_clear_all_sticky", {"group": group})

            self.select_view()

        TabsExtraListener.extra_command_call = False


###############################
# Listener
###############################
dataset/ETHPy150Open facelessuser/TabsExtra/tabs_extra.py/TabsExtraCloseCommand.run/swapped operands of `>=`