<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def chempot_vs_gamma_plot_one(self, plt, entry, ref_delu, chempot_range, delu_dict={}, delu_default=0, label='', JPERM2=False):
 """ Helper function to help plot the surface energy of a single SlabEntry as a function of chemical potential. Args: plt (Plot):
 A plot. entry (SlabEntry):
 Entry of the slab whose surface energy we want to plot ref_delu (sympy Symbol):
 The range stability of each slab is based on the chempot range of this chempot. Should be a sympy Symbol object of the format: Symbol("delu_el") where el is the name of the element chempot_range ([max_chempot, min_chempot]):
 Range to consider the stability of the slabs. delu_dict (Dict):
 Dictionary of the chemical potentials to be set as constant. Note the key should be a sympy Symbol object of the format: Symbol("delu_el") where el is the name of the element. delu_default (float):
 Default value for all unset chemical potentials label (str):
 Label of the slab for the legend. JPERM2 (bool):
 Whether to plot surface energy in /m^2 (True) or eV/A^2 (False) Returns: (Plot):
 Plot of surface energy vs chemical potential for one entry. """


        chempot_range = sorted(chempot_range)

        # use dashed lines for slabs that are not stoichiometric
        # wrt bulk. Label with formula if nonstoichiometric
        ucell_comp = self.ucell_entry.composition.reduced_composition
        if entry.adsorbates:
            s = entry.cleaned_up_slab
            clean_comp = s.composition.reduced_composition
        else:
            clean_comp = entry.composition.reduced_composition


        mark = '--' if ucell_comp != clean_comp else '-'

        delu_dict = self.set_all_variables(delu_dict, delu_default)
        delu_dict[ref_delu] = chempot_range[0]
        gamma_min = self.as_coeffs_dict[entry]
        gamma_min = gamma_min if type(gamma_min).__name__ == \
                                 "float" else sub_chempots(gamma_min, delu_dict)
        delu_dict[ref_delu] = chempot_range[1]
        gamma_max = self.as_coeffs_dict[entry]
        gamma_max = gamma_max if type(gamma_max).__name__ == \
                                 "float" else sub_chempots(gamma_max, delu_dict)
        gamma_range = [gamma_min, gamma_max]

        se_range = np.array(gamma_range) * EV_PER_ANG2_TO_JOULES_PER_M2 \
            if JPERM2 else gamma_range

        mark = entry.mark if entry.mark else mark
        c = entry.color if entry.color else self.color_dict[entry]
        plt.plot(chempot_range, se_range, mark, color=c, label=label)

        return plt