# Path: soap/logger.py
# class levels():
# def set_context(**kwargs):
# def get_context():
# def header(s, l=levels.info):
# def format(*args):
# def log(*args, **kwargs):
# def line(*args, **kwargs):
# def rewrite(*args, **kwargs):
# def persistent(name, *args, **kwargs):
# def unpersistent(*args):
# def local_context(**kwargs):
# def log_level(l):
#     def wrapper(f):
#         def wrapped(*args, **kwargs):
# def log_enable(l):
#     def wrapper(f):
#         def wrapped(*args, **kwargs):
# def log_context(l):
#     def wrapper():
# def _init_level():
# 
# Path: soap/analysis/core.py
# def pareto_frontier(points, ignore_last=True):
#     frontier = _pareto_frontier(points, ignore_last)[0]
#     return frontier


import itertools
import matplotlib
from matplotlib import rc, pyplot
from mpl_toolkits.mplot3d import Axes3D
from soap import logger
from soap.analysis.core import pareto_frontier




_ZIGZAG_MARGIN = 1000.0
_SCATTER_MARGIN = 0.1


def _insert_region_frontier(points_2d, start_y=None, stop_x=None):
    new_points_2d = []
    py = start_y or points_2d[0][1] * _ZIGZAG_MARGIN

# Path: soap/logger.py
# class levels():
# def set_context(**kwargs):
# def get_context():
# def header(s, l=levels.info):
# def format(*args):
# def log(*args, **kwargs):
# def line(*args, **kwargs):
# def rewrite(*args, **kwargs):
# def persistent(name, *args, **kwargs):
# def unpersistent(*args):
# def local_context(**kwargs):
# def log_level(l):
#     def wrapper(f):
#         def wrapped(*args, **kwargs):
# def log_enable(l):
#     def wrapper(f):
#         def wrapped(*args, **kwargs):
# def log_context(l):
#     def wrapper():
# def _init_level():
# 
# Path: soap/analysis/core.py
# def pareto_frontier(points, ignore_last=True):
#     frontier = _pareto_frontier(points, ignore_last)[0]
#     return frontier


# Path: soap/analysis/plot.py
import itertools
import matplotlib
from matplotlib import rc, pyplot
from mpl_toolkits.mplot3d import Axes3D
from soap import logger
from soap.analysis.core import pareto_frontier





_ZIGZAG_MARGIN = 1000.0
_SCATTER_MARGIN = 0.1


def _insert_region_frontier(points_2d, start_y=None, stop_x=None):
    new_points_2d = []
    py = start_y or points_2d[0][1] * _ZIGZAG_MARGIN

    for x, y in points_2d: