diff --git a/README.md b/README.md index efce5eb..c976dc3 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,90 @@ -# Evil nKode +# Evilnkode Project -Simulated nKode Cracker +This README provides instructions for setting up and running the `evilnkode` project using Conda, activating the environment, and executing the provided CLI scripts. It also covers how to access help for command-line options. -## Installation +## Prerequisites -- Python version 3.10 or greater is required -- Install anaconda (or your preferred tool for environment management) +- **Conda**: Ensure you have Conda installed (Miniconda or Anaconda). Download from [conda.io](https://conda.io). + +## Setting Up the Environment + +To set up the project environment using the provided `environment.yaml` file, follow these steps: + +1. **Install the environment**: + - Ensure you are in the project root directory where `environment.yaml` is located. + - Run the following command to create the `evilnkode` environment: + ```bash + conda env create -f environment.yaml + ``` + - This will install all dependencies specified in `environment.yaml`. + +## Activating the Environment + +To activate the `evilnkode` environment, run: -### Using conda ```bash -conda env create -f environment.yml -conda activate pynkode +conda activate evilnkode ``` -## Starting a Jupyter Notebook +Once activated, your terminal prompt should change to include `(evilnkode)`, indicating the environment is active. + +## Running CLI Scripts + +The project includes two main CLI scripts: `cli.visualnkode` and `cli.benchmark_histogram`. Below are instructions to run each. + +### Running `cli.visualnkode` + +To execute the `visualnkode` CLI script: -### Option 1: Using classic Jupyter Notebook ```bash -# Ensure your environment is activated -# For conda: conda activate pynkode -# For pyenv: (should be automatic if in the directory) - -# Start the Jupyter Notebook server -jupyter notebook +python -m cli.visualnkode ``` -### Option 2: Using JupyterLab +- This command runs the `visualnkode` module from the `cli` package. +- To view available options and arguments, use the `-help` flag: + ```bash + python -m cli.visualnkode -help + ``` + +### Running `cli.benchmark_histogram` + +To execute the `benchmark_histogram` CLI script: + ```bash -# Ensure your environment is activated -# Start JupyterLab -jupyter lab +python -m cli.benchmark_histogram ``` -## Notebooks -- [evilnkode](notebooks/evilkode.ipynb) +- This command runs the `benchmark_histogram` module, which may generate output such as benchmark results or histograms. For example, it might produce output like: + ``` + File exists: output/slidingtowershufflekeypad-6-8-4-5-4-4-10000/benchmark/slidingtowershufflekeypad-6-8-4-5-4-4-10000.pkl + Bench SlidingTowerShuffle Break 5 + Bench SlidingTowerShuffle Replay 5 + ``` +- To view available options and arguments, use the `-help` flag: + ```bash + python -m cli.benchmark_histogram -help + ``` + +## Using the `-help` Flag + +Both CLI scripts (`cli.visualnkode` and `cli.benchmark_histogram`) support a `-help` flag to display available command-line options and their descriptions. Run the following to explore options for each script: + +```bash +python -m cli.visualnkode -help +python -m cli.benchmark_histogram -help +``` + +This will provide detailed information about parameters, flags, and usage for each script. + +## Project Structure + +Key files and directories in the project: + +- `environment.yaml`: Conda environment configuration file. +- `cli/`: Contains CLI scripts (`visualnkode` and `benchmark_histogram`). +- `output/`: Directory where script outputs, such as benchmark results, are stored. +- `src/`: Source code for the project. +- `tests/`: Test scripts for the project. +- `requirements.txt`: Additional dependencies (if needed outside Conda). + +For further details, explore the project documentation in the `docs/` directory. diff --git a/cli/__init__.py b/cli/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cli/benchmark_histogram.py b/cli/benchmark_histogram.py new file mode 100644 index 0000000..2c1c5f7 --- /dev/null +++ b/cli/benchmark_histogram.py @@ -0,0 +1,115 @@ +import argparse +from src.benchmark import benchmark +import matplotlib.pyplot as plt +from pathlib import Path +from statistics import mean +from src.keypad.keypad import ( + RandomSplitShuffleKeypad, + RandomShuffleKeypad, + SlidingSplitShuffleKeypad, + SlidingTowerShuffleKeypad, +) + + +def bench_histogram(data, title, number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, + disparity, run_count, save_path: Path = None): + min_val = min(data) + max_val = max(data) + bins = range(min_val, max_val + 2) + plt.hist(data, bins=bins, edgecolor='black') + plt.title(title) + plt.xlabel('# of Login Observations') + plt.ylabel('Simulations') + text = (f"number_of_keys={number_of_keys}\n" + f"properties_per_key={properties_per_key}\n" + f"passcode_len={passcode_len}\n" + f"max_tries_before_lockout={max_tries_before_lockout}\n" + f"complexity={complexity}\n" + f"disparity={disparity}\n" + f"run_count={run_count}") + plt.text(0.95, 0.95, text, transform=plt.gca().transAxes, fontsize=10, + verticalalignment='top', horizontalalignment='right', bbox=dict(facecolor='white', alpha=0.5)) + if save_path: + save_path = save_path / "histogram" + save_path.mkdir(parents=True, exist_ok=True) + filename = (f"{title.replace(' ', '_')}_keys{number_of_keys}_" + f"props{properties_per_key}_pass{passcode_len}_tries{max_tries_before_lockout}_" + f"comp{complexity}_disp{disparity}_runs{run_count}.png") + plt.savefig(save_path / filename, bbox_inches='tight', dpi=300) + plt.close() + + +def main(): + parser = argparse.ArgumentParser(description='Benchmark Keypad Shuffle') + parser.add_argument('--shuffle_type', type=str, + choices=['RandomSplitShuffle', 'RandomShuffle', 'SlidingSplitShuffle', 'SlidingTowerShuffle'], + default='SlidingTowerShuffle', help='Type of keypad shuffle') + parser.add_argument('--number_of_keys', type=int, default=6, help='Number of keys') + parser.add_argument('--properties_per_key', type=int, default=8, help='Properties per key') + parser.add_argument('--passcode_len', type=int, default=4, help='Passcode length') + parser.add_argument('--max_tries_before_lockout', type=int, default=5, help='Max tries before lockout') + parser.add_argument('--complexity', type=int, default=4, help='Complexity') + parser.add_argument('--disparity', type=int, default=4, help='Disparity') + parser.add_argument('--run_count', type=int, default=10000, help='Number of runs') + parser.add_argument('--output_dir', type=str, default='./output', + help='Output directory for histograms') + + args = parser.parse_args() + + shuffle_classes = { + 'RandomSplitShuffle': RandomSplitShuffleKeypad, + 'RandomShuffle': RandomShuffleKeypad, + 'SlidingSplitShuffle': SlidingSplitShuffleKeypad, + 'SlidingTowerShuffle': SlidingTowerShuffleKeypad + } + + keypad_class = shuffle_classes[args.shuffle_type] + keypad = keypad_class.new_keypad(args.number_of_keys, args.properties_per_key) + + shuffle_type = str(type(keypad)).lower().split('.')[-1].replace("'>", "") + run_name = f"{shuffle_type}-{args.number_of_keys}-{args.properties_per_key}-{args.passcode_len}-{args.max_tries_before_lockout}-{args.complexity}-{args.disparity}-{args.run_count}" + save_path = Path(args.output_dir) / run_name + bench_result = benchmark( + number_of_keys=args.number_of_keys, + properties_per_key=args.properties_per_key, + passcode_len=args.passcode_len, + max_tries_before_lockout=args.max_tries_before_lockout, + run_count=args.run_count, + complexity=args.complexity, + disparity=args.disparity, + keypad=keypad, + file_path=save_path, + ) + + print(f"Bench {args.shuffle_type} Break {mean(bench_result.iterations_to_break)}") + print(f"Bench {args.shuffle_type} Replay {mean(bench_result.iterations_to_replay)}") + + bench_histogram( + bench_result.iterations_to_break, + f"{args.shuffle_type} Break", + args.number_of_keys, + args.properties_per_key, + args.passcode_len, + args.max_tries_before_lockout, + args.complexity, + args.disparity, + args.run_count, + save_path + ) + + bench_histogram( + bench_result.iterations_to_replay, + f"{args.shuffle_type} Replay", + args.number_of_keys, + args.properties_per_key, + args.passcode_len, + args.max_tries_before_lockout, + args.complexity, + args.disparity, + args.run_count, + save_path, + ) + + +if __name__ == "__main__": + main() diff --git a/src/visualnkode.py b/cli/visualnkode.py similarity index 60% rename from src/visualnkode.py rename to cli/visualnkode.py index d3eb922..334f3c6 100644 --- a/src/visualnkode.py +++ b/cli/visualnkode.py @@ -1,46 +1,41 @@ import json +from typing import Iterable from dataclasses import dataclass, asdict -from evilkode import Observation -from utils import observations, passcode_generator, ShuffleTypes +from src.evilnkode import Observation +from src.utils import observations, passcode_generator from pathlib import Path from PIL import Image, ImageDraw, ImageFont -from typing import Iterable +from src.keypad.keypad import ( + BaseKeypad, + SlidingSplitShuffleKeypad, + SlidingTowerShuffleKeypad, + RandomShuffleKeypad, + RandomSplitShuffleKeypad, +) +import argparse -# Project root = parent of *this* file's directory -PROJECT_ROOT = Path(__file__).resolve().parent.parent -BASE_DIR = PROJECT_ROOT / "example" -PNG_DIR = PROJECT_ROOT / "example" / "obs_png" @dataclass class ObservationSequence: target_passcode: list[int] observations: list[Observation] + def new_observation_sequence( - number_of_keys: int, - properties_per_key: int, + keypad: BaseKeypad, passcode_len: int, complexity: int, disparity: int, numb_runs: int, - shuffle_type: ShuffleTypes ) -> ObservationSequence: - passcode = passcode_generator(number_of_keys, properties_per_key, passcode_len, complexity, disparity) - obs_seq = ObservationSequence(target_passcode=passcode, observations=[]) + passcode = passcode_generator(keypad.k, keypad.p, passcode_len, complexity, disparity) obs_gen = observations( + keypad=keypad, target_passcode=passcode, - number_of_keys=number_of_keys, - properties_per_key=properties_per_key, - min_complexity=complexity, - min_disparity=disparity, - shuffle_type=shuffle_type, number_of_observations=numb_runs, ) - for obs in obs_gen: - obs.keypad = obs.keypad.tolist() - obs_seq.observations.append(obs) + return ObservationSequence(target_passcode=passcode, observations=[obs for obs in obs_gen]) - return obs_seq def _next_json_filename(base_dir: Path) -> Path: """Find the next available observation_X.json file in base_dir.""" @@ -51,30 +46,23 @@ def _next_json_filename(base_dir: Path) -> Path: return candidate counter += 1 -def save_observation_sequence_to_json(seq: ObservationSequence, shuffle_type: ShuffleTypes, filename: Path | None = None) -> None: - """ - Save ObservationSequence to JSON. - - If filename is None, put it under PROJECT_ROOT/output/obs_json/ as observation_{n}.json - - Creates directory if needed - """ - if filename is None: - base_dir = BASE_DIR / shuffle_type.name / "obs_json" - base_dir.mkdir(parents=True, exist_ok=True) - filename = _next_json_filename(base_dir) - else: - filename.parent.mkdir(parents=True, exist_ok=True) + +def save_observation_sequence_to_json(seq: ObservationSequence, + filename: Path) -> None: + filename.parent.mkdir(parents=True, exist_ok=True) with filename.open("w", encoding="utf-8") as f: json.dump(asdict(seq), f, indent=4) + # ---------- Helpers ---------- def _load_font(preferred: str, size: int) -> ImageFont.FreeTypeFont | ImageFont.ImageFont: """Try a preferred TTF, fall back to common monospace, then PIL default.""" candidates = [ preferred, - "DejaVuSansMono.ttf", # common on Linux - "Consolas.ttf", # Windows - "Menlo.ttc", "Menlo.ttf", # macOS + "DejaVuSansMono.ttf", # common on Linux + "Consolas.ttf", # Windows + "Menlo.ttc", "Menlo.ttf", # macOS "Courier New.ttf", ] for c in candidates: @@ -84,14 +72,17 @@ def _load_font(preferred: str, size: int) -> ImageFont.FreeTypeFont | ImageFont. continue return ImageFont.load_default() + def _text_size(draw: ImageDraw.ImageDraw, text: str, font: ImageFont.ImageFont) -> tuple[int, int]: """Get (w, h) using font bbox for accurate layout.""" left, top, right, bottom = draw.textbbox((0, 0), text, font=font) - return right - left, bottom - top + return int(right - left), int(bottom - top) + def _join_nums(nums: Iterable[int]) -> str: return " ".join(str(n) for n in nums) + def _next_available_path(path: Path) -> Path: """If path exists, append _1, _2, ...""" if not path.exists(): @@ -104,25 +95,26 @@ def _next_available_path(path: Path) -> Path: return candidate i += 1 + # ---------- Core rendering ---------- def render_observation_to_png( - target_passcode: list[int], - obs: Observation, - out_path: Path, - *, - header_font_name: str = "DejaVuSans.ttf", - body_font_name: str = "DejaVuSans.ttf", - header_size: int = 28, - body_size: int = 24, - margin: int = 32, - row_padding_xy: tuple[int, int] = (16, 12), # (x, y) padding inside row box - row_spacing: int = 14, - header_spacing: int = 10, - section_spacing: int = 18, - bg_color: str = "white", - fg_color: str = "black", - row_fill: str = "#f7f7f7", - row_outline: str = "#222222", + target_passcode: list[int], + obs: Observation, + out_path: Path, + *, + header_font_name: str = "DejaVuSans.ttf", + body_font_name: str = "DejaVuSans.ttf", + header_size: int = 28, + body_size: int = 24, + margin: int = 32, + row_padding_xy: tuple[int, int] = (16, 12), # (x, y) padding inside row box + row_spacing: int = 14, + header_spacing: int = 10, + section_spacing: int = 18, + bg_color: str = "white", + fg_color: str = "black", + row_fill: str = "#f7f7f7", + row_outline: str = "#222222", ): """ Render a single observation: @@ -160,13 +152,13 @@ def render_observation_to_png( width = content_width + 2 * margin height = ( - margin - + h1_h - + header_spacing - + h2_h - + section_spacing - + total_rows_height - + margin + margin + + h1_h + + header_spacing + + h2_h + + section_spacing + + total_rows_height + + margin ) # Create final image @@ -214,6 +206,7 @@ def render_observation_to_png( img.save(out_path, format="PNG") + def _next_run_dir(base_dir: Path) -> Path: """Find the next available run directory under base_dir (run_001, run_002, ...).""" counter = 1 @@ -224,22 +217,37 @@ def _next_run_dir(base_dir: Path) -> Path: return run_dir counter += 1 -def render_sequence_to_pngs(seq: ObservationSequence, shuffle_type: ShuffleTypes, out_dir: Path | None = None) -> None: - """ - Render each observation to its own PNG inside a fresh run directory. - Default: PROJECT_ROOT/output/obs_png/run_XXX/observation_001.png - """ - base_dir = BASE_DIR / shuffle_type.name / "obs_png" if out_dir is None else out_dir - base_dir.mkdir(parents=True, exist_ok=True) - - # Create a fresh run dir - run_dir = _next_run_dir(base_dir) +def render_sequence_to_pngs(seq: ObservationSequence, out_dir: Path) -> None: + out_dir.mkdir(parents=True, exist_ok=True) + run_dir = _next_run_dir(out_dir) for i, obs in enumerate(seq.observations, start=1): filename = run_dir / f"observation_{i:03d}.png" render_observation_to_png(seq.target_passcode, obs, filename) + + if __name__ == "__main__": - shuffle_type = ShuffleTypes.TOWER_SHUFFLE - obs_seq = new_observation_sequence(6, 9,4,0,0 ,numb_runs=50, shuffle_type=shuffle_type) - save_observation_sequence_to_json(obs_seq, shuffle_type) - render_sequence_to_pngs(obs_seq, shuffle_type) \ No newline at end of file + shuffle_classes = { + 'RandomSplitShuffle': RandomSplitShuffleKeypad, + 'RandomShuffle': RandomShuffleKeypad, + 'SlidingSplitShuffle': SlidingSplitShuffleKeypad, + 'SlidingTowerShuffle': SlidingTowerShuffleKeypad + } + parser = argparse.ArgumentParser(description="Generate and save observation sequences with optional PNG rendering.") + parser.add_argument("--number-of-keys", type=int, default=6, help="Number of keys in the keypad (default: 6)") + parser.add_argument("--properties-per-key", type=int, default=9, help="Properties per key (default: 9)") + parser.add_argument("--passcode-length", type=int, default=4, help="Length of the passcode (default: 4)") + parser.add_argument("--complexity", type=int, default=0, help="Complexity of the passcode (default: 0)") + parser.add_argument("--disparity", type=int, default=0, help="Disparity of the passcode (default: 0)") + parser.add_argument("--num-runs", type=int, default=50, help="Number of observations to generate (default: 50)") + parser.add_argument("--shuffle-type", type=str, default="SlidingTowerShuffle", choices=list(shuffle_classes.keys()), + help="Keypad shuffle type: 'RandomShuffle' or 'SlidingTowerShuffle' (default: SlidingTowerShuffle)") + parser.add_argument("--output-dir", type=str, default="./output", + help="Custom output directory for JSON and PNG files") + args = parser.parse_args() + keypad = shuffle_classes[args.shuffle_type].new_keypad(6, 9) + obs_seq = new_observation_sequence(keypad, 4, 0, 0, numb_runs=50) + shuffle_type = str(type(keypad)).lower().split('.')[-1].replace("'>", "") + output_dir = Path(args.output_dir) + save_observation_sequence_to_json(obs_seq, output_dir / "obs.json") + render_sequence_to_pngs(obs_seq, output_dir / "obs_png") diff --git a/environment.yaml b/environment.yaml new file mode 100644 index 0000000..9a21d44 --- /dev/null +++ b/environment.yaml @@ -0,0 +1,544 @@ +name: base +channels: + - defaults +dependencies: + - _anaconda_depends=2024.10=py312_openblas_0 + - aiobotocore=2.12.3=py312hca03da5_0 + - aiohappyeyeballs=2.4.3=py312hca03da5_0 + - aiohttp=3.10.5=py312h80987f9_0 + - aioitertools=0.7.1=pyhd3eb1b0_0 + - aiosignal=1.2.0=pyhd3eb1b0_0 + - alabaster=0.7.16=py312hca03da5_0 + - altair=5.0.1=py312hca03da5_0 + - anaconda-anon-usage=0.5.0=py312hd6b623d_100 + - anaconda-catalogs=0.2.0=py312hca03da5_1 + - anaconda-cli-base=0.4.1=py312hca03da5_1 + - anaconda-client=1.13.0=py312hca03da5_0 + - anaconda-cloud-auth=0.7.2=py312hca03da5_0 + - anaconda-navigator=2.6.4=py312hca03da5_0 + - anaconda-project=0.11.1=py312hca03da5_0 + - annotated-types=0.6.0=py312hca03da5_0 + - anyio=4.6.2=py312hca03da5_0 + - aom=3.6.0=h313beb8_0 + - appdirs=1.4.4=pyhd3eb1b0_0 + - applaunchservices=0.3.0=py312hca03da5_0 + - appnope=0.1.3=py312hca03da5_1001 + - appscript=1.2.5=py312h80987f9_0 + - archspec=0.2.3=pyhd3eb1b0_0 + - argon2-cffi=21.3.0=pyhd3eb1b0_0 + - argon2-cffi-bindings=21.2.0=py312h80987f9_0 + - arrow=1.3.0=py312hca03da5_0 + - arrow-cpp=16.1.0=hbc20fb2_0 + - astroid=3.2.4=py312hca03da5_0 + - astropy=6.1.3=py312h80987f9_0 + - astropy-iers-data=0.2024.9.2.0.33.23=py312hca03da5_0 + - asttokens=2.0.5=pyhd3eb1b0_0 + - async-lru=2.0.4=py312hca03da5_0 + - asyncssh=2.17.0=py312hca03da5_0 + - atomicwrites=1.4.0=py_0 + - attrs=24.2.0=py312hca03da5_0 + - automat=20.2.0=py_0 + - autopep8=2.0.4=pyhd3eb1b0_0 + - aws-c-auth=0.6.19=h80987f9_0 + - aws-c-cal=0.5.20=h80987f9_0 + - aws-c-common=0.8.5=h80987f9_0 + - aws-c-compression=0.2.16=h80987f9_0 + - aws-c-event-stream=0.2.15=h313beb8_0 + - aws-c-http=0.6.25=h80987f9_0 + - aws-c-io=0.13.10=h80987f9_0 + - aws-c-mqtt=0.7.13=h80987f9_0 + - aws-c-s3=0.1.51=h80987f9_0 + - aws-c-sdkutils=0.1.6=h80987f9_0 + - aws-checksums=0.1.13=h80987f9_0 + - aws-crt-cpp=0.18.16=h313beb8_0 + - aws-sdk-cpp=1.10.55=h313beb8_0 + - babel=2.11.0=py312hca03da5_0 + - backports=1.1=pyhd3eb1b0_1 + - backports.functools_lru_cache=1.6.4=pyhd3eb1b0_0 + - backports.tempfile=1.0=pyhd3eb1b0_1 + - backports.weakref=1.0.post1=py_1 + - bcrypt=3.2.0=py312h80987f9_1 + - beautifulsoup4=4.12.3=py312hca03da5_0 + - binaryornot=0.4.4=pyhd3eb1b0_1 + - black=24.8.0=py312hca03da5_0 + - blas=1.0=openblas + - bleach=6.2.0=py312hca03da5_0 + - blinker=1.6.2=py312hca03da5_0 + - blosc=1.21.3=h313beb8_0 + - bokeh=3.6.0=py312hca03da5_0 + - boltons=23.0.0=py312hca03da5_0 + - boost-cpp=1.82.0=h48ca7d4_2 + - botocore=1.34.69=py312hca03da5_0 + - bottleneck=1.4.2=py312ha86b861_0 + - brotli=1.0.9=h80987f9_8 + - brotli-bin=1.0.9=h80987f9_8 + - brotli-python=1.0.9=py312h313beb8_8 + - brunsli=0.1=hc377ac9_1 + - bzip2=1.0.8=h80987f9_6 + - c-ares=1.19.1=h80987f9_0 + - c-blosc2=2.12.0=h7df6c2f_0 + - ca-certificates=2024.11.26=hca03da5_0 + - cachetools=5.3.3=py312hca03da5_0 + - cctools=949.0.1=hc179dcd_25 + - cctools_osx-arm64=949.0.1=h332cad3_25 + - certifi=2024.8.30=py312hca03da5_0 + - cffi=1.17.1=py312h3eb5a62_0 + - cfitsio=3.470=h7f6438f_7 + - chardet=4.0.0=py312hca03da5_1003 + - charls=2.2.0=hc377ac9_0 + - charset-normalizer=3.3.2=pyhd3eb1b0_0 + - click=8.1.7=py312hca03da5_0 + - cloudpickle=3.0.0=py312hca03da5_0 + - colorama=0.4.6=py312hca03da5_0 + - colorcet=3.1.0=py312hca03da5_0 + - comm=0.2.1=py312hca03da5_0 + - conda=24.11.0=py312hca03da5_0 + - conda-build=24.11.2=py312hca03da5_0 + - conda-content-trust=0.2.0=py312hca03da5_1 + - conda-index=0.5.0=py312hca03da5_0 + - conda-libmamba-solver=24.9.0=pyhd3eb1b0_0 + - conda-pack=0.6.0=pyhd3eb1b0_0 + - conda-package-handling=2.4.0=py312hca03da5_0 + - conda-package-streaming=0.11.0=py312hca03da5_0 + - conda-repo-cli=1.0.114=py312hca03da5_0 + - conda-token=0.4.0=pyhd3eb1b0_0 + - conda-verify=3.4.2=py_1 + - constantly=23.10.4=py312hca03da5_0 + - contourpy=1.3.1=py312h48ca7d4_0 + - cookiecutter=2.6.0=py312hca03da5_0 + - cryptography=43.0.3=py312h8026fc7_1 + - cssselect=1.2.0=py312hca03da5_0 + - curl=8.9.1=h02f6b3c_0 + - cycler=0.11.0=pyhd3eb1b0_0 + - cyrus-sasl=2.1.28=h9131b1a_1 + - cytoolz=0.12.2=py312h80987f9_0 + - dask=2024.8.2=py312hca03da5_0 + - dask-core=2024.8.2=py312hca03da5_0 + - dask-expr=1.1.13=py312hca03da5_0 + - datasets=2.19.1=py312hca03da5_0 + - datashader=0.16.3=py312hca03da5_0 + - dav1d=1.2.1=h80987f9_0 + - debugpy=1.6.7=py312h313beb8_0 + - decorator=5.1.1=pyhd3eb1b0_0 + - defusedxml=0.7.1=pyhd3eb1b0_0 + - deprecated=1.2.13=py312hca03da5_0 + - diff-match-patch=20200713=pyhd3eb1b0_0 + - dill=0.3.8=py312hca03da5_0 + - distributed=2024.8.2=py312hca03da5_0 + - distro=1.9.0=py312hca03da5_0 + - dmglib=0.9.5=py312hca03da5_0 + - docstring-to-markdown=0.11=py312hca03da5_0 + - docutils=0.18.1=py312hca03da5_3 + - et_xmlfile=1.1.0=py312hca03da5_1 + - executing=0.8.3=pyhd3eb1b0_0 + - expat=2.6.3=h313beb8_0 + - filelock=3.13.1=py312hca03da5_0 + - flake8=7.1.1=py312hca03da5_0 + - flask=3.0.3=py312hca03da5_0 + - fmt=9.1.0=h48ca7d4_1 + - fonttools=4.51.0=py312h80987f9_0 + - freetype=2.12.1=h1192e45_0 + - frozendict=2.4.2=py312hca03da5_0 + - frozenlist=1.5.0=py312h80987f9_0 + - fsspec=2024.3.1=py312hca03da5_0 + - future=1.0.0=py312hca03da5_0 + - gensim=4.3.3=py312hd77ebd4_0 + - gettext=0.21.0=hbdbcc25_2 + - gflags=2.2.2=h313beb8_1 + - giflib=5.2.2=h80987f9_0 + - gitdb=4.0.7=pyhd3eb1b0_0 + - gitpython=3.1.43=py312hca03da5_0 + - glib=2.78.4=h313beb8_0 + - glib-tools=2.78.4=h313beb8_0 + - glog=0.5.0=h313beb8_1 + - gmp=6.2.1=hc377ac9_3 + - greenlet=3.0.1=py312h313beb8_0 + - gst-plugins-base=1.14.1=h313beb8_1 + - gstreamer=1.14.1=h80987f9_1 + - h11=0.14.0=py312hca03da5_0 + - h5py=3.12.1=py312h8456320_0 + - hdf5=1.12.1=h05c076b_3 + - heapdict=1.0.1=pyhd3eb1b0_0 + - holoviews=1.20.0=py312hca03da5_0 + - httpcore=1.0.2=py312hca03da5_0 + - httpx=0.27.0=py312hca03da5_0 + - huggingface_hub=0.24.6=py312hca03da5_0 + - hvplot=0.11.1=py312hca03da5_0 + - hyperlink=21.0.0=pyhd3eb1b0_0 + - icu=73.1=h313beb8_0 + - idna=3.7=py312hca03da5_0 + - imagecodecs=2023.1.23=py312h75b721f_1 + - imageio=2.33.1=py312hca03da5_0 + - imagesize=1.4.1=py312hca03da5_0 + - imbalanced-learn=0.12.3=py312hca03da5_1 + - importlib-metadata=8.5.0=py312hca03da5_0 + - importlib_metadata=8.5.0=hd3eb1b0_0 + - incremental=22.10.0=pyhd3eb1b0_0 + - inflection=0.5.1=py312hca03da5_1 + - iniconfig=1.1.1=pyhd3eb1b0_0 + - intake=2.0.7=py312hca03da5_0 + - intervaltree=3.1.0=pyhd3eb1b0_0 + - ipykernel=6.29.5=py312hca03da5_0 + - ipython=8.27.0=py312hca03da5_0 + - ipython_genutils=0.2.0=pyhd3eb1b0_1 + - ipywidgets=7.8.1=py312hca03da5_0 + - isort=5.13.2=py312hca03da5_0 + - itemadapter=0.3.0=pyhd3eb1b0_0 + - itemloaders=1.1.0=py312hca03da5_0 + - itsdangerous=2.2.0=py312hca03da5_0 + - jaraco.classes=3.2.1=pyhd3eb1b0_0 + - jedi=0.19.1=py312hca03da5_0 + - jellyfish=1.0.1=py312h1bd1ac0_1 + - jinja2=3.1.4=py312hca03da5_1 + - jmespath=1.0.1=py312hca03da5_0 + - joblib=1.4.2=py312hca03da5_0 + - jpeg=9e=h80987f9_3 + - jq=1.7.1=h80987f9_0 + - json5=0.9.25=py312hca03da5_0 + - jsonpatch=1.33=py312hca03da5_1 + - jsonpointer=2.1=pyhd3eb1b0_0 + - jsonschema=4.23.0=py312hca03da5_0 + - jsonschema-specifications=2023.7.1=py312hca03da5_0 + - jupyter=1.0.0=py312hca03da5_9 + - jupyter-lsp=2.2.0=py312hca03da5_0 + - jupyter_client=8.6.0=py312hca03da5_0 + - jupyter_console=6.6.3=py312hca03da5_1 + - jupyter_core=5.7.2=py312hca03da5_0 + - jupyter_events=0.10.0=py312hca03da5_0 + - jupyter_server=2.14.1=py312hca03da5_0 + - jupyter_server_terminals=0.4.4=py312hca03da5_1 + - jupyterlab=4.2.5=py312hca03da5_0 + - jupyterlab-variableinspector=3.1.0=py312hca03da5_0 + - jupyterlab_pygments=0.1.2=py_0 + - jupyterlab_server=2.27.3=py312hca03da5_0 + - jupyterlab_widgets=1.0.0=pyhd3eb1b0_1 + - jxrlib=1.1=h1a28f6b_2 + - keyring=24.3.1=py312hca03da5_0 + - kiwisolver=1.4.4=py312h313beb8_0 + - krb5=1.20.1=hf3e1bf2_1 + - lazy_loader=0.4=py312hca03da5_0 + - lcms2=2.12=hba8e193_0 + - ld64=530=hb29bf3f_25 + - ld64_osx-arm64=530=h001ce53_25 + - ldid=2.1.5=h20b2a84_3 + - lerc=3.0=hc377ac9_0 + - libabseil=20240116.2=cxx17_h313beb8_0 + - libaec=1.0.4=hc377ac9_1 + - libarchive=3.7.4=h8f13d7a_0 + - libavif=0.11.1=h80987f9_0 + - libboost=1.82.0=h0bc93f9_2 + - libbrotlicommon=1.0.9=h80987f9_8 + - libbrotlidec=1.0.9=h80987f9_8 + - libbrotlienc=1.0.9=h80987f9_8 + - libclang=14.0.6=default_h1b80db6_1 + - libclang13=14.0.6=default_h24352ff_1 + - libcurl=8.9.1=h3e2b118_0 + - libcxx=14.0.6=h848a8c0_0 + - libdeflate=1.17=h80987f9_1 + - libedit=3.1.20230828=h80987f9_0 + - libev=4.33=h1a28f6b_1 + - libevent=2.1.12=h02f6b3c_1 + - libffi=3.4.4=hca03da5_1 + - libgfortran=5.0.0=11_3_0_hca03da5_28 + - libgfortran5=11.3.0=h009349e_28 + - libglib=2.78.4=h0a96307_0 + - libgrpc=1.62.2=h62f6fdd_0 + - libiconv=1.16=h80987f9_3 + - liblief=0.12.3=h313beb8_0 + - libllvm14=14.0.6=h19fdd8a_4 + - libmamba=1.5.11=haeffa04_0 + - libmambapy=1.5.11=py312h15e39b3_0 + - libnghttp2=1.57.0=h62f6fdd_0 + - libopenblas=0.3.21=h269037a_0 + - libpng=1.6.39=h80987f9_0 + - libpq=17.0=h02f6b3c_0 + - libprotobuf=4.25.3=h514c7bf_0 + - libsodium=1.0.18=h1a28f6b_0 + - libsolv=0.7.24=h514c7bf_1 + - libspatialindex=1.9.3=hc377ac9_0 + - libssh2=1.11.1=h3e2b118_0 + - libthrift=0.15.0=h73c2103_2 + - libtiff=4.5.1=h313beb8_0 + - libwebp-base=1.3.2=h80987f9_1 + - libxml2=2.13.5=h0b34f26_0 + - libxslt=1.1.41=hf4d3faa_0 + - libzopfli=1.0.3=hc377ac9_0 + - linkify-it-py=2.0.0=py312hca03da5_0 + - llvm-openmp=14.0.6=hc6e5704_0 + - llvmlite=0.43.0=py312h313beb8_0 + - locket=1.0.0=py312hca03da5_0 + - lxml=5.3.0=py312h1d4350b_0 + - lz4=4.3.2=py312h80987f9_0 + - lz4-c=1.9.4=h313beb8_1 + - lzo=2.10=h1a28f6b_2 + - markdown=3.4.1=py312hca03da5_0 + - markdown-it-py=2.2.0=py312hca03da5_1 + - markupsafe=2.1.3=py312h80987f9_0 + - matplotlib=3.9.2=py312hca03da5_1 + - matplotlib-base=3.9.2=py312h7ef442a_1 + - matplotlib-inline=0.1.6=py312hca03da5_0 + - mccabe=0.7.0=pyhd3eb1b0_0 + - mdit-py-plugins=0.3.0=py312hca03da5_0 + - mdurl=0.1.0=py312hca03da5_0 + - menuinst=2.2.0=py312hca03da5_0 + - mistune=2.0.4=py312hca03da5_0 + - more-itertools=10.3.0=py312hca03da5_0 + - mpc=1.1.0=h8c48613_1 + - mpfr=4.0.2=h695f6f0_1 + - mpmath=1.3.0=py312hca03da5_0 + - msgpack-python=1.0.3=py312h48ca7d4_0 + - multidict=6.1.0=py312h80987f9_0 + - multipledispatch=0.6.0=py312hca03da5_0 + - multiprocess=0.70.15=py312hca03da5_0 + - mypy=1.11.2=py312h80987f9_0 + - mypy_extensions=1.0.0=py312hca03da5_0 + - mysql=8.4.0=h3a6587f_1 + - navigator-updater=0.5.1=py312hca03da5_0 + - nbclassic=1.1.0=py312hca03da5_0 + - nbclient=0.8.0=py312hca03da5_0 + - nbconvert=7.16.4=py312hca03da5_0 + - nbformat=5.10.4=py312hca03da5_0 + - ncurses=6.4=h313beb8_0 + - nest-asyncio=1.6.0=py312hca03da5_0 + - networkx=3.3=py312hca03da5_0 + - nltk=3.9.1=py312hca03da5_0 + - notebook=7.2.2=py312hca03da5_1 + - notebook-shim=0.2.3=py312hca03da5_0 + - numba=0.60.0=py312hd77ebd4_0 + - numexpr=2.10.1=py312h5d9532f_0 + - numpy=1.26.4=py312h7f4fdc5_0 + - numpy-base=1.26.4=py312he047099_0 + - numpydoc=1.7.0=py312hca03da5_0 + - oniguruma=6.9.7.1=h1a28f6b_0 + - openjpeg=2.5.2=h54b8e55_0 + - openldap=2.6.4=he7ef289_0 + - openpyxl=3.1.5=py312h80987f9_0 + - openssl=3.0.15=h80987f9_0 + - orc=2.0.1=h937ddfc_0 + - overrides=7.4.0=py312hca03da5_0 + - packaging=24.1=py312hca03da5_0 + - pandas=2.2.3=py312hcf29cfe_0 + - pandocfilters=1.5.0=pyhd3eb1b0_0 + - panel=1.5.3=py312hca03da5_0 + - param=2.1.1=py312hca03da5_0 + - parsel=1.8.1=py312hca03da5_0 + - parso=0.8.3=pyhd3eb1b0_0 + - partd=1.4.1=py312hca03da5_0 + - patch=2.7.6=h1a28f6b_1001 + - pathspec=0.10.3=py312hca03da5_0 + - patsy=0.5.6=py312hca03da5_0 + - pcre2=10.42=hb066dcc_1 + - pexpect=4.8.0=pyhd3eb1b0_3 + - pickleshare=0.7.5=pyhd3eb1b0_1003 + - pillow=11.0.0=py312hfaf4e14_0 + - pip=24.2=py312hca03da5_0 + - pkce=1.0.3=py312hca03da5_0 + - pkginfo=1.11.2=py312hca03da5_0 + - platformdirs=3.10.0=py312hca03da5_0 + - plotly=5.24.1=py312h989b03a_0 + - pluggy=1.5.0=py312hca03da5_0 + - ply=3.11=py312hca03da5_1 + - prometheus_client=0.21.0=py312hca03da5_0 + - prompt-toolkit=3.0.43=py312hca03da5_0 + - prompt_toolkit=3.0.43=hd3eb1b0_0 + - propcache=0.2.0=py312h80987f9_0 + - protego=0.1.16=py_0 + - protobuf=4.25.3=py312h8472c4a_0 + - psutil=5.9.0=py312h80987f9_0 + - ptyprocess=0.7.0=pyhd3eb1b0_2 + - pure_eval=0.2.2=pyhd3eb1b0_0 + - py-cpuinfo=9.0.0=py312hca03da5_0 + - py-lief=0.12.3=py312h313beb8_0 + - pyarrow=16.1.0=py312hd77ebd4_0 + - pyasn1=0.4.8=pyhd3eb1b0_0 + - pyasn1-modules=0.2.8=py_0 + - pybind11-abi=5=hd3eb1b0_0 + - pycodestyle=2.12.1=py312hca03da5_0 + - pycosat=0.6.6=py312h80987f9_1 + - pycparser=2.21=pyhd3eb1b0_0 + - pyct=0.5.0=py312hca03da5_0 + - pycurl=7.45.3=py312h02f6b3c_0 + - pydantic=2.8.2=py312hca03da5_0 + - pydantic-core=2.20.1=py312hf0e4da2_0 + - pydantic-settings=2.6.1=py312hca03da5_0 + - pydeck=0.8.0=py312hca03da5_2 + - pydispatcher=2.0.5=py312hca03da5_3 + - pydocstyle=6.3.0=py312hca03da5_0 + - pyerfa=2.0.1.4=py312ha86b861_0 + - pyflakes=3.2.0=py312hca03da5_0 + - pygithub=2.4.0=py312hca03da5_0 + - pygments=2.15.1=py312hca03da5_1 + - pyjwt=2.9.0=py312hca03da5_0 + - pylint=3.2.7=py312hca03da5_0 + - pylint-venv=3.0.3=py312hca03da5_0 + - pyls-spyder=0.4.0=pyhd3eb1b0_0 + - pynacl=1.5.0=py312h80987f9_0 + - pyobjc-core=10.1=py312h80987f9_0 + - pyobjc-framework-cocoa=10.1=py312hb094c41_0 + - pyobjc-framework-coreservices=10.1=py312hdd8dd1f_0 + - pyobjc-framework-fsevents=10.1=py312hca03da5_0 + - pyodbc=5.1.0=py312h313beb8_0 + - pyopenssl=24.2.1=py312hca03da5_0 + - pyparsing=3.2.0=py312hca03da5_0 + - pyqt=5.15.10=py312h313beb8_0 + - pyqt5-sip=12.13.0=py312h80987f9_0 + - pyqtwebengine=5.15.10=py312h313beb8_0 + - pysocks=1.7.1=py312hca03da5_0 + - pytables=3.10.1=py312h905a39b_0 + - pytest=7.4.4=py312hca03da5_0 + - python=3.12.7=h99e199e_0 + - python-dateutil=2.9.0post0=py312hca03da5_2 + - python-dotenv=0.21.0=py312hca03da5_0 + - python-fastjsonschema=2.20.0=py312hca03da5_0 + - python-json-logger=2.0.7=py312hca03da5_0 + - python-libarchive-c=5.1=pyhd3eb1b0_0 + - python-lmdb=1.4.1=py312h313beb8_0 + - python-lsp-black=2.0.0=py312hca03da5_0 + - python-lsp-jsonrpc=1.1.2=pyhd3eb1b0_0 + - python-lsp-server=1.12.0=py312h989b03a_0 + - python-slugify=5.0.2=pyhd3eb1b0_0 + - python-tzdata=2023.3=pyhd3eb1b0_0 + - python-xxhash=2.0.2=py312h80987f9_1 + - python.app=3=py312h80987f9_1 + - pytoolconfig=1.2.6=py312hca03da5_0 + - pytz=2024.1=py312hca03da5_0 + - pyuca=1.2=py312hca03da5_1 + - pyviz_comms=3.0.2=py312hca03da5_0 + - pywavelets=1.7.0=py312h80987f9_0 + - pyyaml=6.0.2=py312h80987f9_0 + - pyzmq=25.1.2=py312h313beb8_0 + - qdarkstyle=3.2.3=pyhd3eb1b0_0 + - qstylizer=0.2.2=py312hca03da5_0 + - qt-main=5.15.2=h0917680_11 + - qt-webengine=5.15.9=h2903aaf_7 + - qtawesome=1.3.1=py312hca03da5_0 + - qtconsole=5.6.0=py312hca03da5_0 + - qtpy=2.4.1=py312hca03da5_0 + - queuelib=1.6.2=py312hca03da5_0 + - re2=2022.04.01=hc377ac9_0 + - readchar=4.0.5=py312hca03da5_0 + - readline=8.2=h1a28f6b_0 + - referencing=0.30.2=py312hca03da5_0 + - regex=2024.9.11=py312h80987f9_0 + - reproc=14.2.4=h313beb8_2 + - reproc-cpp=14.2.4=h313beb8_2 + - requests=2.32.3=py312hca03da5_1 + - requests-file=1.5.1=pyhd3eb1b0_0 + - requests-toolbelt=1.0.0=py312hca03da5_0 + - responses=0.13.3=pyhd3eb1b0_0 + - rfc3339-validator=0.1.4=py312hca03da5_0 + - rfc3986-validator=0.1.1=py312hca03da5_0 + - rich=13.9.4=py312hca03da5_0 + - rope=1.12.0=py312hca03da5_0 + - rpds-py=0.10.6=py312h2aea54e_1 + - rtree=1.0.1=py312hca03da5_0 + - ruamel.yaml=0.18.6=py312h80987f9_0 + - ruamel.yaml.clib=0.2.8=py312h80987f9_0 + - ruamel_yaml=0.17.21=py312h80987f9_0 + - s3fs=2024.3.1=py312hca03da5_0 + - safetensors=0.4.5=py312h7805bc0_1 + - scikit-image=0.24.0=py312hd77ebd4_0 + - scikit-learn=1.5.1=py312hd77ebd4_0 + - scipy=1.13.1=py312ha409365_0 + - scrapy=2.12.0=py312hca03da5_0 + - seaborn=0.13.2=py312hca03da5_0 + - semver=3.0.2=py312hca03da5_0 + - send2trash=1.8.2=py312hca03da5_0 + - service_identity=18.1.0=pyhd3eb1b0_1 + - setuptools=75.1.0=py312hca03da5_0 + - shellingham=1.5.0=py312hca03da5_0 + - sip=6.7.12=py312h313beb8_0 + - six=1.16.0=pyhd3eb1b0_1 + - smart_open=5.2.1=py312hca03da5_0 + - smmap=4.0.0=pyhd3eb1b0_0 + - snappy=1.2.1=h313beb8_0 + - sniffio=1.3.0=py312hca03da5_0 + - snowballstemmer=2.2.0=pyhd3eb1b0_0 + - sortedcontainers=2.4.0=pyhd3eb1b0_0 + - soupsieve=2.5=py312hca03da5_0 + - sphinx=7.3.7=py312hca03da5_0 + - sphinxcontrib-applehelp=1.0.2=pyhd3eb1b0_0 + - sphinxcontrib-devhelp=1.0.2=pyhd3eb1b0_0 + - sphinxcontrib-htmlhelp=2.0.0=pyhd3eb1b0_0 + - sphinxcontrib-jsmath=1.0.1=pyhd3eb1b0_0 + - sphinxcontrib-qthelp=1.0.3=pyhd3eb1b0_0 + - sphinxcontrib-serializinghtml=1.1.10=py312hca03da5_0 + - spyder=6.0.1=py312hca03da5_0 + - spyder-kernels=3.0.0=py312h989b03a_0 + - sqlalchemy=2.0.34=py312hbe2cdee_0 + - sqlite=3.45.3=h80987f9_0 + - stack_data=0.2.0=pyhd3eb1b0_0 + - statsmodels=0.14.2=py312ha86b861_0 + - streamlit=1.40.1=py312hca03da5_0 + - superqt=0.6.7=py312h989b03a_0 + - sympy=1.13.2=py312hca03da5_0 + - tabulate=0.9.0=py312hca03da5_0 + - tapi=1100.0.11=h8754e6a_1 + - tbb=2021.8.0=h48ca7d4_0 + - tblib=1.7.0=pyhd3eb1b0_0 + - tenacity=9.0.0=py312hca03da5_0 + - terminado=0.17.1=py312hca03da5_0 + - text-unidecode=1.3=pyhd3eb1b0_0 + - textdistance=4.6.3=py312h989b03a_0 + - threadpoolctl=3.5.0=py312h989b03a_0 + - three-merge=0.1.1=pyhd3eb1b0_0 + - tifffile=2023.4.12=py312hca03da5_0 + - tinycss2=1.2.1=py312hca03da5_0 + - tk=8.6.14=h6ba3021_0 + - tldextract=5.1.2=py312hca03da5_0 + - tokenizers=0.20.1=py312he2d9c3e_1 + - toml=0.10.2=pyhd3eb1b0_0 + - tomli=2.0.1=py312hca03da5_1 + - tomlkit=0.13.2=py312hca03da5_0 + - toolz=0.12.0=py312hca03da5_0 + - tornado=6.4.1=py312h80987f9_0 + - tqdm=4.66.5=py312h989b03a_0 + - traitlets=5.14.3=py312hca03da5_0 + - transformers=4.45.2=py312hca03da5_0 + - truststore=0.8.0=py312hca03da5_0 + - twisted=23.10.0=py312hca03da5_0 + - typer=0.9.0=py312hca03da5_0 + - typing-extensions=4.11.0=py312hca03da5_0 + - typing_extensions=4.11.0=py312hca03da5_0 + - tzdata=2024b=h04d1e81_0 + - uc-micro-py=1.0.1=py312hca03da5_0 + - ujson=5.10.0=py312h313beb8_0 + - unicodedata2=15.1.0=py312h80987f9_0 + - unidecode=1.3.8=py312hca03da5_0 + - unixodbc=2.3.11=h1a28f6b_0 + - urllib3=2.2.3=py312hca03da5_0 + - utf8proc=2.6.1=h80987f9_1 + - w3lib=2.1.2=py312hca03da5_0 + - watchdog=4.0.1=py312h80987f9_0 + - wcwidth=0.2.5=pyhd3eb1b0_0 + - webencodings=0.5.1=py312hca03da5_2 + - websocket-client=1.8.0=py312hca03da5_0 + - werkzeug=3.0.6=py312hca03da5_0 + - whatthepatch=1.0.2=py312hca03da5_0 + - wheel=0.44.0=py312hca03da5_0 + - widgetsnbextension=3.6.6=py312hca03da5_0 + - wrapt=1.14.1=py312h80987f9_0 + - wurlitzer=3.0.2=py312hca03da5_0 + - xarray=2023.6.0=py312hca03da5_0 + - xlwings=0.32.1=py312hca03da5_0 + - xxhash=0.8.0=h1a28f6b_3 + - xyzservices=2022.9.0=py312hca03da5_1 + - xz=5.4.6=h80987f9_1 + - yaml=0.2.5=h1a28f6b_0 + - yaml-cpp=0.8.0=h313beb8_1 + - yapf=0.40.2=py312hca03da5_0 + - yarl=1.18.0=py312h80987f9_0 + - zeromq=4.3.5=h313beb8_0 + - zfp=1.0.0=h313beb8_0 + - zict=3.0.0=py312hca03da5_0 + - zipp=3.21.0=py312hca03da5_0 + - zlib=1.2.13=h18a0788_1 + - zlib-ng=2.0.7=h80987f9_0 + - zope=1.0=py312hca03da5_1 + - zope.interface=7.1.1=py312h80987f9_0 + - zstandard=0.23.0=py312h1a4646a_1 + - zstd=1.5.6=hfb09047_0 + - pip: + - svgpathtools==1.7.0 + - svgwrite==1.4.3 +prefix: /opt/homebrew/anaconda3 diff --git a/environment.yml b/environment.yml deleted file mode 100644 index e55411a..0000000 --- a/environment.yml +++ /dev/null @@ -1,125 +0,0 @@ -name: evilnkode -channels: - - defaults -dependencies: - - anyio=4.6.2=py312hca03da5_0 - - appnope=0.1.3=py312hca03da5_1001 - - argon2-cffi=21.3.0=pyhd3eb1b0_0 - - argon2-cffi-bindings=21.2.0=py312h80987f9_0 - - asttokens=2.0.5=pyhd3eb1b0_0 - - async-lru=2.0.4=py312hca03da5_0 - - attrs=24.2.0=py312hca03da5_0 - - babel=2.11.0=py312hca03da5_0 - - beautifulsoup4=4.12.3=py312hca03da5_0 - - bleach=6.2.0=py312hca03da5_0 - - brotli-python=1.0.9=py312h313beb8_8 - - bzip2=1.0.8=h80987f9_6 - - ca-certificates=2024.12.31=hca03da5_0 - - certifi=2024.12.14=py312hca03da5_0 - - cffi=1.17.1=py312h3eb5a62_0 - - charset-normalizer=3.3.2=pyhd3eb1b0_0 - - comm=0.2.1=py312hca03da5_0 - - debugpy=1.6.7=py312h313beb8_0 - - decorator=5.1.1=pyhd3eb1b0_0 - - defusedxml=0.7.1=pyhd3eb1b0_0 - - executing=0.8.3=pyhd3eb1b0_0 - - expat=2.6.3=h313beb8_0 - - h11=0.14.0=py312hca03da5_0 - - httpcore=1.0.2=py312hca03da5_0 - - httpx=0.27.0=py312hca03da5_0 - - idna=3.7=py312hca03da5_0 - - ipykernel=6.29.5=py312hca03da5_0 - - ipython=8.27.0=py312hca03da5_0 - - jedi=0.19.1=py312hca03da5_0 - - jinja2=3.1.4=py312hca03da5_1 - - json5=0.9.25=py312hca03da5_0 - - jsonschema=4.23.0=py312hca03da5_0 - - jsonschema-specifications=2023.7.1=py312hca03da5_0 - - jupyter-lsp=2.2.0=py312hca03da5_0 - - jupyter_client=8.6.0=py312hca03da5_0 - - jupyter_core=5.7.2=py312hca03da5_0 - - jupyter_events=0.10.0=py312hca03da5_0 - - jupyter_server=2.14.1=py312hca03da5_0 - - jupyter_server_terminals=0.4.4=py312hca03da5_1 - - jupyterlab=4.2.5=py312hca03da5_0 - - jupyterlab_pygments=0.1.2=py_0 - - jupyterlab_server=2.27.3=py312hca03da5_0 - - libcxx=14.0.6=h848a8c0_0 - - libffi=3.4.4=hca03da5_1 - - libsodium=1.0.18=h1a28f6b_0 - - markupsafe=2.1.3=py312h80987f9_0 - - matplotlib-inline=0.1.6=py312hca03da5_0 - - mistune=2.0.4=py312hca03da5_0 - - nbclient=0.8.0=py312hca03da5_0 - - nbconvert=7.16.4=py312hca03da5_0 - - nbformat=5.10.4=py312hca03da5_0 - - ncurses=6.4=h313beb8_0 - - nest-asyncio=1.6.0=py312hca03da5_0 - - notebook=7.2.2=py312hca03da5_1 - - notebook-shim=0.2.3=py312hca03da5_0 - - openssl=3.0.15=h80987f9_0 - - overrides=7.4.0=py312hca03da5_0 - - packaging=24.1=py312hca03da5_0 - - pandocfilters=1.5.0=pyhd3eb1b0_0 - - parso=0.8.3=pyhd3eb1b0_0 - - pexpect=4.8.0=pyhd3eb1b0_3 - - pip=24.2=py312hca03da5_0 - - platformdirs=3.10.0=py312hca03da5_0 - - prometheus_client=0.21.0=py312hca03da5_0 - - prompt-toolkit=3.0.43=py312hca03da5_0 - - prompt_toolkit=3.0.43=hd3eb1b0_0 - - psutil=5.9.0=py312h80987f9_0 - - ptyprocess=0.7.0=pyhd3eb1b0_2 - - pure_eval=0.2.2=pyhd3eb1b0_0 - - pycparser=2.21=pyhd3eb1b0_0 - - pygments=2.15.1=py312hca03da5_1 - - pysocks=1.7.1=py312hca03da5_0 - - python=3.12.7=h99e199e_0 - - python-dateutil=2.9.0post0=py312hca03da5_2 - - python-fastjsonschema=2.20.0=py312hca03da5_0 - - python-json-logger=2.0.7=py312hca03da5_0 - - pytz=2024.1=py312hca03da5_0 - - pyyaml=6.0.2=py312h80987f9_0 - - pyzmq=25.1.2=py312h313beb8_0 - - readline=8.2=h1a28f6b_0 - - referencing=0.30.2=py312hca03da5_0 - - requests=2.32.3=py312hca03da5_1 - - rfc3339-validator=0.1.4=py312hca03da5_0 - - rfc3986-validator=0.1.1=py312hca03da5_0 - - rpds-py=0.10.6=py312h2aea54e_1 - - send2trash=1.8.2=py312hca03da5_0 - - setuptools=75.1.0=py312hca03da5_0 - - six=1.16.0=pyhd3eb1b0_1 - - sniffio=1.3.0=py312hca03da5_0 - - soupsieve=2.5=py312hca03da5_0 - - sqlite=3.45.3=h80987f9_0 - - stack_data=0.2.0=pyhd3eb1b0_0 - - terminado=0.17.1=py312hca03da5_0 - - tinycss2=1.2.1=py312hca03da5_0 - - tk=8.6.14=h6ba3021_0 - - tornado=6.4.1=py312h80987f9_0 - - traitlets=5.14.3=py312hca03da5_0 - - typing-extensions=4.11.0=py312hca03da5_0 - - typing_extensions=4.11.0=py312hca03da5_0 - - tzdata=2024b=h04d1e81_0 - - urllib3=2.2.3=py312hca03da5_0 - - wcwidth=0.2.5=pyhd3eb1b0_0 - - webencodings=0.5.1=py312hca03da5_2 - - websocket-client=1.8.0=py312hca03da5_0 - - wheel=0.44.0=py312hca03da5_0 - - xz=5.4.6=h80987f9_1 - - yaml=0.2.5=h1a28f6b_0 - - zeromq=4.3.5=h313beb8_0 - - zlib=1.2.13=h18a0788_1 - - pip: - - contourpy==1.3.1 - - cycler==0.12.1 - - fonttools==4.55.3 - - iniconfig==2.0.0 - - kiwisolver==1.4.7 - - matplotlib==3.9.3 - - numpy==2.1.3 - - pillow==11.0.0 - - pluggy==1.5.0 - - pyparsing==3.2.0 - - pytest==8.3.4 diff --git a/example/SPLIT_SHUFFLE/obs_json/observation_1.json b/example/SPLIT_SHUFFLE/obs_json/observation_1.json deleted file mode 100644 index 751c3b1..0000000 --- a/example/SPLIT_SHUFFLE/obs_json/observation_1.json +++ /dev/null @@ -1,3810 +0,0 @@ -{ - "target_passcode": [ - 5, - 4, - 27, - 21 - ], - "observations": [ - { - "keypad": [ - [ - 27, - 46, - 38, - 39, - 49, - 14, - 33, - 25, - 26 - ], - [ - 36, - 10, - 29, - 3, - 22, - 41, - 51, - 16, - 17 - ], - [ - 0, - 1, - 11, - 21, - 40, - 50, - 6, - 52, - 35 - ], - [ - 45, - 19, - 2, - 12, - 4, - 32, - 24, - 43, - 53 - ], - [ - 18, - 28, - 20, - 30, - 31, - 23, - 15, - 34, - 44 - ], - [ - 9, - 37, - 47, - 48, - 13, - 5, - 42, - 7, - 8 - ] - ], - "key_selection": [ - 5, - 3, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 27, - 46, - 38, - 39, - 49, - 14, - 33, - 25, - 26 - ], - [ - 36, - 28, - 20, - 3, - 31, - 41, - 15, - 16, - 17 - ], - [ - 0, - 19, - 2, - 21, - 4, - 50, - 24, - 52, - 35 - ], - [ - 45, - 37, - 47, - 12, - 13, - 32, - 42, - 43, - 53 - ], - [ - 18, - 1, - 11, - 30, - 40, - 23, - 6, - 34, - 44 - ], - [ - 9, - 10, - 29, - 48, - 22, - 5, - 51, - 7, - 8 - ] - ], - "key_selection": [ - 5, - 2, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 38, - 3, - 49, - 41, - 33, - 16, - 26 - ], - [ - 18, - 28, - 20, - 30, - 31, - 23, - 15, - 34, - 17 - ], - [ - 45, - 19, - 2, - 12, - 4, - 32, - 24, - 43, - 35 - ], - [ - 27, - 37, - 47, - 39, - 13, - 14, - 42, - 25, - 53 - ], - [ - 9, - 1, - 11, - 48, - 40, - 5, - 6, - 7, - 44 - ], - [ - 0, - 10, - 29, - 21, - 22, - 50, - 51, - 52, - 8 - ] - ], - "key_selection": [ - 4, - 2, - 3, - 5 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 38, - 21, - 49, - 50, - 33, - 52, - 8 - ], - [ - 18, - 28, - 20, - 12, - 31, - 32, - 15, - 43, - 35 - ], - [ - 45, - 19, - 2, - 30, - 4, - 23, - 24, - 34, - 17 - ], - [ - 27, - 37, - 47, - 48, - 13, - 5, - 42, - 7, - 44 - ], - [ - 9, - 1, - 11, - 3, - 40, - 41, - 6, - 16, - 26 - ], - [ - 0, - 10, - 29, - 39, - 22, - 14, - 51, - 25, - 53 - ] - ], - "key_selection": [ - 3, - 2, - 3, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 20, - 21, - 31, - 50, - 15, - 43, - 8 - ], - [ - 18, - 28, - 11, - 12, - 40, - 32, - 6, - 16, - 35 - ], - [ - 45, - 19, - 38, - 30, - 49, - 23, - 33, - 52, - 17 - ], - [ - 27, - 37, - 29, - 48, - 22, - 5, - 51, - 25, - 44 - ], - [ - 9, - 1, - 47, - 3, - 13, - 41, - 42, - 7, - 26 - ], - [ - 0, - 10, - 2, - 39, - 4, - 14, - 24, - 34, - 53 - ] - ], - "key_selection": [ - 3, - 5, - 3, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 38, - 30, - 31, - 23, - 15, - 52, - 8 - ], - [ - 18, - 28, - 20, - 21, - 40, - 50, - 6, - 43, - 35 - ], - [ - 45, - 19, - 29, - 48, - 49, - 5, - 33, - 25, - 17 - ], - [ - 27, - 37, - 11, - 12, - 22, - 32, - 51, - 16, - 44 - ], - [ - 9, - 1, - 2, - 39, - 13, - 14, - 42, - 34, - 26 - ], - [ - 0, - 10, - 47, - 3, - 4, - 41, - 24, - 7, - 53 - ] - ], - "key_selection": [ - 2, - 5, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 30, - 13, - 14, - 15, - 52, - 8 - ], - [ - 27, - 37, - 20, - 21, - 22, - 32, - 6, - 43, - 35 - ], - [ - 45, - 19, - 29, - 48, - 49, - 5, - 33, - 25, - 17 - ], - [ - 0, - 10, - 11, - 12, - 4, - 41, - 51, - 16, - 44 - ], - [ - 18, - 28, - 2, - 39, - 40, - 50, - 42, - 34, - 26 - ], - [ - 36, - 46, - 47, - 3, - 31, - 23, - 24, - 7, - 53 - ] - ], - "key_selection": [ - 2, - 3, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 19, - 38, - 48, - 13, - 14, - 33, - 52, - 17 - ], - [ - 27, - 37, - 20, - 21, - 22, - 32, - 6, - 43, - 35 - ], - [ - 45, - 28, - 29, - 39, - 49, - 5, - 42, - 25, - 26 - ], - [ - 0, - 46, - 11, - 3, - 4, - 41, - 24, - 16, - 53 - ], - [ - 18, - 10, - 2, - 12, - 40, - 50, - 51, - 34, - 44 - ], - [ - 36, - 1, - 47, - 30, - 31, - 23, - 15, - 7, - 8 - ] - ], - "key_selection": [ - 2, - 3, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 48, - 13, - 23, - 15, - 52, - 8 - ], - [ - 27, - 19, - 20, - 21, - 22, - 14, - 33, - 43, - 17 - ], - [ - 45, - 46, - 29, - 39, - 49, - 41, - 24, - 25, - 53 - ], - [ - 0, - 10, - 11, - 3, - 4, - 50, - 51, - 16, - 44 - ], - [ - 18, - 28, - 2, - 12, - 40, - 5, - 42, - 34, - 26 - ], - [ - 36, - 37, - 47, - 30, - 31, - 32, - 6, - 7, - 35 - ] - ], - "key_selection": [ - 4, - 3, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 48, - 13, - 23, - 15, - 52, - 8 - ], - [ - 36, - 37, - 20, - 30, - 22, - 32, - 33, - 43, - 17 - ], - [ - 0, - 10, - 29, - 3, - 49, - 50, - 24, - 25, - 53 - ], - [ - 45, - 46, - 11, - 39, - 4, - 41, - 51, - 16, - 44 - ], - [ - 27, - 19, - 2, - 21, - 40, - 14, - 42, - 34, - 26 - ], - [ - 18, - 28, - 47, - 12, - 31, - 5, - 6, - 7, - 35 - ] - ], - "key_selection": [ - 5, - 3, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 1, - 38, - 30, - 13, - 23, - 15, - 43, - 17 - ], - [ - 18, - 37, - 20, - 12, - 22, - 32, - 33, - 7, - 35 - ], - [ - 9, - 10, - 29, - 48, - 49, - 50, - 24, - 52, - 8 - ], - [ - 0, - 46, - 11, - 3, - 4, - 41, - 51, - 25, - 53 - ], - [ - 45, - 19, - 2, - 39, - 40, - 14, - 42, - 16, - 44 - ], - [ - 27, - 28, - 47, - 21, - 31, - 5, - 6, - 34, - 26 - ] - ], - "key_selection": [ - 5, - 3, - 5, - 5 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 38, - 21, - 13, - 23, - 6, - 34, - 17 - ], - [ - 18, - 10, - 20, - 48, - 22, - 32, - 24, - 52, - 35 - ], - [ - 9, - 46, - 29, - 3, - 49, - 50, - 51, - 25, - 8 - ], - [ - 0, - 19, - 11, - 39, - 4, - 41, - 42, - 16, - 53 - ], - [ - 45, - 37, - 2, - 12, - 40, - 14, - 33, - 7, - 44 - ], - [ - 27, - 1, - 47, - 30, - 31, - 5, - 15, - 43, - 26 - ] - ], - "key_selection": [ - 5, - 3, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 38, - 21, - 49, - 50, - 51, - 25, - 17 - ], - [ - 18, - 10, - 20, - 48, - 4, - 41, - 42, - 16, - 35 - ], - [ - 9, - 46, - 29, - 3, - 31, - 5, - 15, - 43, - 8 - ], - [ - 0, - 19, - 11, - 39, - 13, - 23, - 6, - 34, - 53 - ], - [ - 45, - 37, - 2, - 12, - 22, - 32, - 24, - 52, - 44 - ], - [ - 27, - 1, - 47, - 30, - 40, - 14, - 33, - 7, - 26 - ] - ], - "key_selection": [ - 2, - 1, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 21, - 49, - 50, - 15, - 25, - 8 - ], - [ - 27, - 1, - 20, - 48, - 4, - 41, - 33, - 16, - 26 - ], - [ - 18, - 10, - 29, - 3, - 31, - 5, - 42, - 43, - 35 - ], - [ - 45, - 37, - 11, - 39, - 13, - 23, - 24, - 34, - 44 - ], - [ - 36, - 28, - 2, - 12, - 22, - 32, - 51, - 52, - 17 - ], - [ - 0, - 19, - 47, - 30, - 40, - 14, - 6, - 7, - 53 - ] - ], - "key_selection": [ - 2, - 1, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 20, - 48, - 4, - 50, - 15, - 16, - 8 - ], - [ - 27, - 1, - 2, - 12, - 22, - 41, - 33, - 52, - 26 - ], - [ - 18, - 10, - 38, - 21, - 49, - 5, - 42, - 25, - 35 - ], - [ - 45, - 37, - 47, - 30, - 40, - 23, - 24, - 7, - 44 - ], - [ - 36, - 28, - 29, - 3, - 31, - 32, - 51, - 43, - 17 - ], - [ - 0, - 19, - 11, - 39, - 13, - 14, - 6, - 34, - 53 - ] - ], - "key_selection": [ - 2, - 0, - 1, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 20, - 12, - 22, - 50, - 15, - 52, - 26 - ], - [ - 27, - 1, - 2, - 39, - 13, - 41, - 33, - 34, - 53 - ], - [ - 18, - 10, - 38, - 30, - 40, - 5, - 42, - 7, - 44 - ], - [ - 45, - 37, - 47, - 21, - 49, - 23, - 24, - 25, - 35 - ], - [ - 36, - 28, - 29, - 3, - 31, - 32, - 51, - 43, - 17 - ], - [ - 0, - 19, - 11, - 48, - 4, - 14, - 6, - 16, - 8 - ] - ], - "key_selection": [ - 2, - 5, - 1, - 3 - ] - }, - { - "keypad": [ - [ - 9, - 37, - 20, - 12, - 49, - 23, - 15, - 52, - 35 - ], - [ - 27, - 1, - 2, - 39, - 13, - 41, - 33, - 34, - 53 - ], - [ - 18, - 10, - 38, - 30, - 40, - 5, - 42, - 7, - 44 - ], - [ - 45, - 19, - 47, - 21, - 4, - 14, - 24, - 25, - 8 - ], - [ - 36, - 46, - 29, - 3, - 22, - 50, - 51, - 43, - 26 - ], - [ - 0, - 28, - 11, - 48, - 31, - 32, - 6, - 16, - 17 - ] - ], - "key_selection": [ - 2, - 3, - 1, - 3 - ] - }, - { - "keypad": [ - [ - 9, - 37, - 20, - 12, - 49, - 23, - 15, - 52, - 35 - ], - [ - 45, - 19, - 2, - 21, - 13, - 14, - 33, - 34, - 53 - ], - [ - 36, - 46, - 38, - 3, - 40, - 50, - 42, - 7, - 44 - ], - [ - 27, - 1, - 47, - 39, - 4, - 41, - 24, - 25, - 8 - ], - [ - 18, - 10, - 29, - 30, - 22, - 5, - 51, - 43, - 26 - ], - [ - 0, - 28, - 11, - 48, - 31, - 32, - 6, - 16, - 17 - ] - ], - "key_selection": [ - 4, - 3, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 45, - 19, - 2, - 12, - 49, - 23, - 33, - 52, - 35 - ], - [ - 27, - 1, - 47, - 21, - 13, - 14, - 24, - 34, - 53 - ], - [ - 18, - 10, - 29, - 3, - 40, - 50, - 51, - 7, - 44 - ], - [ - 36, - 46, - 38, - 39, - 4, - 41, - 42, - 25, - 8 - ], - [ - 0, - 28, - 11, - 30, - 22, - 5, - 6, - 43, - 26 - ], - [ - 9, - 37, - 20, - 48, - 31, - 32, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 4, - 3, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 19, - 2, - 12, - 49, - 5, - 6, - 43, - 35 - ], - [ - 36, - 1, - 47, - 21, - 13, - 41, - 42, - 25, - 53 - ], - [ - 9, - 10, - 29, - 3, - 40, - 32, - 15, - 16, - 44 - ], - [ - 27, - 46, - 38, - 39, - 4, - 14, - 24, - 34, - 8 - ], - [ - 18, - 28, - 11, - 30, - 22, - 50, - 51, - 7, - 26 - ], - [ - 45, - 37, - 20, - 48, - 31, - 23, - 33, - 52, - 17 - ] - ], - "key_selection": [ - 0, - 3, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 19, - 11, - 12, - 22, - 5, - 51, - 7, - 35 - ], - [ - 36, - 1, - 38, - 21, - 4, - 41, - 24, - 34, - 53 - ], - [ - 9, - 10, - 29, - 3, - 40, - 32, - 15, - 16, - 44 - ], - [ - 27, - 46, - 47, - 39, - 13, - 14, - 42, - 25, - 8 - ], - [ - 18, - 28, - 2, - 30, - 49, - 50, - 6, - 43, - 26 - ], - [ - 45, - 37, - 20, - 48, - 31, - 23, - 33, - 52, - 17 - ] - ], - "key_selection": [ - 0, - 1, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 46, - 47, - 12, - 22, - 5, - 42, - 25, - 35 - ], - [ - 36, - 10, - 29, - 21, - 4, - 41, - 15, - 16, - 53 - ], - [ - 9, - 28, - 2, - 3, - 40, - 32, - 6, - 43, - 44 - ], - [ - 27, - 37, - 20, - 39, - 13, - 14, - 33, - 52, - 8 - ], - [ - 18, - 19, - 11, - 30, - 49, - 50, - 51, - 7, - 26 - ], - [ - 45, - 1, - 38, - 48, - 31, - 23, - 24, - 34, - 17 - ] - ], - "key_selection": [ - 0, - 1, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 47, - 12, - 22, - 32, - 6, - 43, - 35 - ], - [ - 45, - 10, - 29, - 21, - 4, - 23, - 24, - 34, - 53 - ], - [ - 27, - 28, - 2, - 3, - 40, - 14, - 33, - 52, - 44 - ], - [ - 18, - 37, - 20, - 39, - 13, - 50, - 51, - 7, - 8 - ], - [ - 0, - 19, - 11, - 30, - 49, - 5, - 42, - 25, - 26 - ], - [ - 36, - 1, - 38, - 48, - 31, - 41, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 4, - 1, - 2, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 47, - 12, - 22, - 32, - 6, - 43, - 35 - ], - [ - 18, - 10, - 20, - 21, - 13, - 23, - 24, - 34, - 8 - ], - [ - 0, - 28, - 11, - 3, - 49, - 14, - 33, - 52, - 26 - ], - [ - 27, - 37, - 2, - 39, - 40, - 50, - 51, - 7, - 44 - ], - [ - 45, - 19, - 29, - 30, - 4, - 5, - 42, - 25, - 53 - ], - [ - 36, - 1, - 38, - 48, - 31, - 41, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 4, - 4, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 48, - 22, - 32, - 15, - 43, - 17 - ], - [ - 18, - 10, - 11, - 3, - 13, - 23, - 33, - 34, - 26 - ], - [ - 0, - 28, - 20, - 21, - 49, - 14, - 24, - 52, - 8 - ], - [ - 27, - 37, - 29, - 30, - 40, - 50, - 42, - 7, - 53 - ], - [ - 45, - 19, - 47, - 12, - 4, - 5, - 6, - 25, - 35 - ], - [ - 36, - 1, - 2, - 39, - 31, - 41, - 51, - 16, - 44 - ] - ], - "key_selection": [ - 4, - 4, - 3, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 48, - 22, - 32, - 15, - 43, - 17 - ], - [ - 0, - 10, - 11, - 21, - 13, - 14, - 24, - 34, - 26 - ], - [ - 27, - 28, - 20, - 30, - 49, - 50, - 42, - 52, - 8 - ], - [ - 36, - 37, - 29, - 39, - 40, - 41, - 51, - 7, - 53 - ], - [ - 45, - 19, - 47, - 12, - 4, - 5, - 6, - 25, - 35 - ], - [ - 18, - 1, - 2, - 3, - 31, - 23, - 33, - 16, - 44 - ] - ], - "key_selection": [ - 4, - 4, - 2, - 1 - ] - }, - { - "keypad": [ - [ - 45, - 19, - 38, - 48, - 22, - 32, - 6, - 43, - 35 - ], - [ - 18, - 1, - 11, - 21, - 13, - 14, - 33, - 34, - 44 - ], - [ - 0, - 10, - 20, - 30, - 49, - 50, - 24, - 52, - 26 - ], - [ - 27, - 28, - 29, - 39, - 40, - 41, - 42, - 7, - 8 - ], - [ - 36, - 37, - 47, - 12, - 4, - 5, - 51, - 25, - 53 - ], - [ - 9, - 46, - 2, - 3, - 31, - 23, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 4, - 4, - 3, - 1 - ] - }, - { - "keypad": [ - [ - 45, - 19, - 38, - 48, - 22, - 32, - 6, - 43, - 35 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 0, - 37, - 20, - 12, - 4, - 5, - 24, - 52, - 26 - ], - [ - 27, - 10, - 29, - 30, - 49, - 50, - 42, - 7, - 8 - ], - [ - 36, - 46, - 47, - 3, - 31, - 23, - 51, - 25, - 53 - ], - [ - 9, - 1, - 2, - 21, - 13, - 14, - 15, - 16, - 17 - ] - ], - "key_selection": [ - 2, - 2, - 3, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 38, - 48, - 49, - 50, - 6, - 43, - 8 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 36, - 37, - 20, - 12, - 31, - 23, - 24, - 52, - 53 - ], - [ - 45, - 10, - 29, - 30, - 22, - 32, - 42, - 7, - 35 - ], - [ - 9, - 46, - 47, - 3, - 13, - 14, - 51, - 25, - 17 - ], - [ - 0, - 1, - 2, - 21, - 4, - 5, - 15, - 16, - 26 - ] - ], - "key_selection": [ - 5, - 5, - 0, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 38, - 48, - 49, - 50, - 6, - 43, - 8 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 36, - 37, - 20, - 21, - 31, - 5, - 15, - 16, - 53 - ], - [ - 45, - 10, - 29, - 12, - 22, - 23, - 24, - 52, - 35 - ], - [ - 9, - 46, - 47, - 30, - 13, - 32, - 42, - 7, - 17 - ], - [ - 0, - 1, - 2, - 3, - 4, - 14, - 51, - 25, - 26 - ] - ], - "key_selection": [ - 2, - 5, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 38, - 3, - 4, - 50, - 51, - 43, - 26 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 36, - 37, - 20, - 12, - 22, - 5, - 24, - 16, - 35 - ], - [ - 45, - 10, - 29, - 48, - 49, - 23, - 6, - 52, - 8 - ], - [ - 9, - 46, - 47, - 30, - 13, - 32, - 42, - 7, - 17 - ], - [ - 0, - 1, - 2, - 21, - 31, - 14, - 15, - 25, - 53 - ] - ], - "key_selection": [ - 2, - 0, - 0, - 5 - ] - }, - { - "keypad": [ - [ - 45, - 19, - 38, - 3, - 4, - 23, - 6, - 52, - 26 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 27, - 37, - 20, - 12, - 22, - 50, - 51, - 43, - 35 - ], - [ - 9, - 10, - 29, - 48, - 49, - 32, - 42, - 7, - 8 - ], - [ - 36, - 46, - 47, - 30, - 13, - 5, - 24, - 16, - 17 - ], - [ - 0, - 1, - 2, - 21, - 31, - 14, - 15, - 25, - 53 - ] - ], - "key_selection": [ - 4, - 0, - 2, - 5 - ] - }, - { - "keypad": [ - [ - 45, - 37, - 38, - 12, - 4, - 23, - 51, - 43, - 26 - ], - [ - 18, - 28, - 11, - 39, - 40, - 41, - 33, - 34, - 44 - ], - [ - 27, - 1, - 20, - 21, - 22, - 50, - 15, - 25, - 35 - ], - [ - 9, - 10, - 29, - 48, - 49, - 32, - 42, - 7, - 8 - ], - [ - 36, - 19, - 47, - 3, - 13, - 5, - 6, - 52, - 17 - ], - [ - 0, - 46, - 2, - 30, - 31, - 14, - 24, - 16, - 53 - ] - ], - "key_selection": [ - 4, - 0, - 2, - 2 - ] - }, - { - "keypad": [ - [ - 45, - 37, - 38, - 12, - 4, - 23, - 51, - 43, - 26 - ], - [ - 18, - 46, - 11, - 30, - 31, - 14, - 33, - 34, - 44 - ], - [ - 27, - 19, - 20, - 3, - 13, - 5, - 15, - 25, - 35 - ], - [ - 9, - 10, - 29, - 48, - 49, - 32, - 42, - 7, - 8 - ], - [ - 36, - 28, - 47, - 39, - 40, - 41, - 6, - 52, - 17 - ], - [ - 0, - 1, - 2, - 21, - 22, - 50, - 24, - 16, - 53 - ] - ], - "key_selection": [ - 2, - 0, - 2, - 5 - ] - }, - { - "keypad": [ - [ - 45, - 37, - 29, - 48, - 49, - 23, - 51, - 7, - 26 - ], - [ - 18, - 46, - 20, - 3, - 13, - 14, - 33, - 25, - 44 - ], - [ - 27, - 19, - 2, - 21, - 22, - 5, - 15, - 16, - 35 - ], - [ - 9, - 10, - 47, - 39, - 40, - 32, - 42, - 52, - 8 - ], - [ - 36, - 28, - 11, - 30, - 31, - 41, - 6, - 34, - 17 - ], - [ - 0, - 1, - 38, - 12, - 4, - 50, - 24, - 43, - 53 - ] - ], - "key_selection": [ - 2, - 5, - 2, - 2 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 38, - 48, - 49, - 50, - 51, - 43, - 26 - ], - [ - 45, - 46, - 29, - 3, - 13, - 23, - 33, - 7, - 44 - ], - [ - 18, - 19, - 20, - 21, - 22, - 14, - 15, - 25, - 35 - ], - [ - 27, - 10, - 2, - 39, - 40, - 5, - 42, - 16, - 8 - ], - [ - 9, - 28, - 47, - 30, - 31, - 32, - 6, - 52, - 17 - ], - [ - 36, - 1, - 11, - 12, - 4, - 41, - 24, - 34, - 53 - ] - ], - "key_selection": [ - 3, - 5, - 3, - 2 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 38, - 48, - 49, - 50, - 51, - 43, - 26 - ], - [ - 45, - 19, - 29, - 3, - 13, - 23, - 15, - 25, - 35 - ], - [ - 18, - 10, - 20, - 21, - 22, - 14, - 42, - 16, - 8 - ], - [ - 27, - 1, - 2, - 39, - 40, - 5, - 24, - 34, - 53 - ], - [ - 9, - 46, - 47, - 30, - 31, - 32, - 33, - 7, - 44 - ], - [ - 36, - 28, - 11, - 12, - 4, - 41, - 6, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 5, - 3, - 2 - ] - }, - { - "keypad": [ - [ - 18, - 37, - 20, - 21, - 22, - 50, - 51, - 43, - 26 - ], - [ - 36, - 19, - 11, - 12, - 4, - 23, - 15, - 25, - 35 - ], - [ - 45, - 10, - 29, - 3, - 13, - 14, - 42, - 16, - 8 - ], - [ - 9, - 1, - 47, - 30, - 31, - 5, - 24, - 34, - 53 - ], - [ - 0, - 46, - 38, - 48, - 49, - 32, - 33, - 7, - 44 - ], - [ - 27, - 28, - 2, - 39, - 40, - 41, - 6, - 52, - 17 - ] - ], - "key_selection": [ - 3, - 1, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 18, - 37, - 38, - 21, - 49, - 32, - 51, - 43, - 44 - ], - [ - 36, - 19, - 47, - 12, - 31, - 5, - 15, - 25, - 53 - ], - [ - 45, - 10, - 11, - 3, - 4, - 23, - 42, - 16, - 35 - ], - [ - 9, - 1, - 2, - 30, - 40, - 41, - 24, - 34, - 17 - ], - [ - 0, - 46, - 20, - 48, - 22, - 50, - 33, - 7, - 26 - ], - [ - 27, - 28, - 29, - 39, - 13, - 14, - 6, - 52, - 8 - ] - ], - "key_selection": [ - 1, - 2, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 38, - 21, - 31, - 32, - 15, - 43, - 44 - ], - [ - 0, - 46, - 47, - 12, - 22, - 5, - 33, - 25, - 53 - ], - [ - 18, - 37, - 11, - 3, - 49, - 23, - 51, - 16, - 35 - ], - [ - 9, - 1, - 2, - 30, - 40, - 41, - 24, - 34, - 17 - ], - [ - 27, - 28, - 20, - 48, - 13, - 50, - 6, - 7, - 26 - ], - [ - 45, - 10, - 29, - 39, - 4, - 14, - 42, - 52, - 8 - ] - ], - "key_selection": [ - 1, - 5, - 4, - 0 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 20, - 48, - 13, - 32, - 15, - 43, - 44 - ], - [ - 18, - 46, - 11, - 3, - 49, - 5, - 33, - 25, - 53 - ], - [ - 36, - 37, - 38, - 21, - 31, - 23, - 51, - 16, - 35 - ], - [ - 0, - 1, - 47, - 12, - 22, - 41, - 24, - 34, - 17 - ], - [ - 45, - 28, - 29, - 39, - 4, - 50, - 6, - 7, - 26 - ], - [ - 9, - 10, - 2, - 30, - 40, - 14, - 42, - 52, - 8 - ] - ], - "key_selection": [ - 1, - 4, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 37, - 38, - 48, - 13, - 32, - 15, - 16, - 44 - ], - [ - 18, - 46, - 11, - 3, - 49, - 5, - 33, - 25, - 53 - ], - [ - 9, - 10, - 2, - 21, - 31, - 23, - 51, - 52, - 35 - ], - [ - 0, - 1, - 47, - 12, - 22, - 41, - 24, - 34, - 17 - ], - [ - 27, - 19, - 20, - 39, - 4, - 50, - 6, - 43, - 26 - ], - [ - 45, - 28, - 29, - 30, - 40, - 14, - 42, - 7, - 8 - ] - ], - "key_selection": [ - 1, - 4, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 11, - 3, - 13, - 32, - 15, - 16, - 53 - ], - [ - 18, - 19, - 20, - 39, - 49, - 5, - 33, - 25, - 26 - ], - [ - 9, - 1, - 47, - 12, - 31, - 23, - 51, - 52, - 17 - ], - [ - 0, - 28, - 29, - 30, - 22, - 41, - 24, - 34, - 8 - ], - [ - 27, - 10, - 2, - 21, - 4, - 50, - 6, - 43, - 35 - ], - [ - 45, - 37, - 38, - 48, - 40, - 14, - 42, - 7, - 44 - ] - ], - "key_selection": [ - 1, - 4, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 11, - 30, - 22, - 32, - 15, - 34, - 8 - ], - [ - 18, - 19, - 20, - 48, - 40, - 5, - 33, - 7, - 44 - ], - [ - 9, - 1, - 47, - 12, - 31, - 23, - 51, - 52, - 17 - ], - [ - 0, - 28, - 29, - 39, - 49, - 41, - 24, - 25, - 26 - ], - [ - 27, - 10, - 2, - 21, - 4, - 50, - 6, - 43, - 35 - ], - [ - 45, - 37, - 38, - 3, - 13, - 14, - 42, - 16, - 53 - ] - ], - "key_selection": [ - 1, - 4, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 11, - 30, - 22, - 32, - 15, - 34, - 8 - ], - [ - 18, - 19, - 2, - 48, - 40, - 50, - 6, - 43, - 44 - ], - [ - 9, - 1, - 20, - 12, - 31, - 5, - 33, - 7, - 17 - ], - [ - 0, - 28, - 29, - 39, - 49, - 41, - 24, - 25, - 26 - ], - [ - 27, - 10, - 38, - 21, - 4, - 14, - 42, - 16, - 35 - ], - [ - 45, - 37, - 47, - 3, - 13, - 23, - 51, - 52, - 53 - ] - ], - "key_selection": [ - 2, - 4, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 29, - 39, - 22, - 32, - 15, - 25, - 26 - ], - [ - 18, - 19, - 11, - 30, - 40, - 50, - 6, - 34, - 8 - ], - [ - 9, - 1, - 38, - 21, - 31, - 5, - 33, - 16, - 35 - ], - [ - 0, - 28, - 2, - 48, - 49, - 41, - 24, - 43, - 44 - ], - [ - 27, - 10, - 20, - 12, - 4, - 14, - 42, - 7, - 17 - ], - [ - 45, - 37, - 47, - 3, - 13, - 23, - 51, - 52, - 53 - ] - ], - "key_selection": [ - 2, - 4, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 46, - 29, - 39, - 49, - 41, - 24, - 25, - 44 - ], - [ - 18, - 19, - 11, - 30, - 40, - 50, - 6, - 34, - 8 - ], - [ - 9, - 1, - 38, - 21, - 4, - 14, - 42, - 16, - 17 - ], - [ - 0, - 28, - 2, - 48, - 13, - 23, - 51, - 43, - 53 - ], - [ - 27, - 10, - 20, - 12, - 22, - 32, - 15, - 7, - 26 - ], - [ - 45, - 37, - 47, - 3, - 31, - 5, - 33, - 52, - 35 - ] - ], - "key_selection": [ - 5, - 2, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 20, - 39, - 49, - 41, - 15, - 7, - 44 - ], - [ - 18, - 28, - 2, - 30, - 40, - 50, - 51, - 43, - 8 - ], - [ - 9, - 37, - 47, - 21, - 4, - 14, - 33, - 52, - 17 - ], - [ - 0, - 46, - 29, - 48, - 13, - 23, - 24, - 25, - 53 - ], - [ - 27, - 1, - 38, - 12, - 22, - 32, - 42, - 16, - 26 - ], - [ - 45, - 19, - 11, - 3, - 31, - 5, - 6, - 34, - 35 - ] - ], - "key_selection": [ - 5, - 2, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 20, - 39, - 49, - 5, - 6, - 34, - 44 - ], - [ - 18, - 37, - 2, - 30, - 40, - 14, - 33, - 52, - 8 - ], - [ - 9, - 46, - 47, - 21, - 4, - 23, - 24, - 25, - 17 - ], - [ - 0, - 28, - 29, - 48, - 13, - 50, - 51, - 43, - 53 - ], - [ - 27, - 10, - 38, - 12, - 22, - 41, - 15, - 7, - 26 - ], - [ - 45, - 1, - 11, - 3, - 31, - 32, - 42, - 16, - 35 - ] - ], - "key_selection": [ - 0, - 2, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 47, - 21, - 49, - 23, - 6, - 34, - 17 - ], - [ - 18, - 37, - 20, - 39, - 40, - 5, - 33, - 52, - 44 - ], - [ - 9, - 46, - 2, - 30, - 4, - 14, - 24, - 25, - 8 - ], - [ - 0, - 28, - 29, - 48, - 13, - 50, - 51, - 43, - 53 - ], - [ - 27, - 10, - 11, - 3, - 22, - 32, - 15, - 7, - 35 - ], - [ - 45, - 1, - 38, - 12, - 31, - 41, - 42, - 16, - 26 - ] - ], - "key_selection": [ - 1, - 2, - 4, - 0 - ] - } - ] -} \ No newline at end of file diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_001.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_001.png deleted file mode 100644 index 2602ce6..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_001.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_002.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_002.png deleted file mode 100644 index 232015f..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_002.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_003.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_003.png deleted file mode 100644 index 9456f60..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_003.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_004.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_004.png deleted file mode 100644 index e687beb..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_004.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_005.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_005.png deleted file mode 100644 index 8825b1a..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_005.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_006.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_006.png deleted file mode 100644 index 6a1c9ef..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_006.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_007.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_007.png deleted file mode 100644 index 61edb49..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_007.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_008.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_008.png deleted file mode 100644 index 56a92d3..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_008.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_009.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_009.png deleted file mode 100644 index b738cc1..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_009.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_010.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_010.png deleted file mode 100644 index 3fa0d32..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_010.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_011.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_011.png deleted file mode 100644 index 15b97e4..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_011.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_012.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_012.png deleted file mode 100644 index 330d9e5..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_012.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_013.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_013.png deleted file mode 100644 index 7799735..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_013.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_014.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_014.png deleted file mode 100644 index a18c18c..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_014.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_015.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_015.png deleted file mode 100644 index 6afccbb..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_015.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_016.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_016.png deleted file mode 100644 index 45a69d6..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_016.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_017.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_017.png deleted file mode 100644 index 22a2ec0..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_017.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_018.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_018.png deleted file mode 100644 index f446d12..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_018.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_019.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_019.png deleted file mode 100644 index de14067..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_019.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_020.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_020.png deleted file mode 100644 index 520d6ce..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_020.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_021.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_021.png deleted file mode 100644 index 573e689..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_021.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_022.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_022.png deleted file mode 100644 index 932a75e..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_022.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_023.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_023.png deleted file mode 100644 index a0d1c54..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_023.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_024.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_024.png deleted file mode 100644 index 37c5897..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_024.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_025.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_025.png deleted file mode 100644 index be0a4ec..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_025.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_026.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_026.png deleted file mode 100644 index 9693041..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_026.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_027.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_027.png deleted file mode 100644 index c964673..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_027.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_028.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_028.png deleted file mode 100644 index 2b786a6..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_028.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_029.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_029.png deleted file mode 100644 index a6e7a9c..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_029.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_030.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_030.png deleted file mode 100644 index 30f46f0..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_030.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_031.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_031.png deleted file mode 100644 index 115e439..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_031.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_032.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_032.png deleted file mode 100644 index 324106e..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_032.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_033.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_033.png deleted file mode 100644 index 40dfc27..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_033.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_034.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_034.png deleted file mode 100644 index c637dfe..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_034.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_035.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_035.png deleted file mode 100644 index 8ae4315..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_035.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_036.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_036.png deleted file mode 100644 index 07bdfd8..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_036.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_037.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_037.png deleted file mode 100644 index c5c09eb..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_037.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_038.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_038.png deleted file mode 100644 index 91696ff..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_038.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_039.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_039.png deleted file mode 100644 index 00db200..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_039.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_040.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_040.png deleted file mode 100644 index d3cd33c..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_040.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_041.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_041.png deleted file mode 100644 index 315d1fa..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_041.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_042.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_042.png deleted file mode 100644 index 269a3c6..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_042.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_043.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_043.png deleted file mode 100644 index 4cfc9bf..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_043.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_044.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_044.png deleted file mode 100644 index 868a299..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_044.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_045.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_045.png deleted file mode 100644 index c417e40..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_045.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_046.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_046.png deleted file mode 100644 index 257855f..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_046.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_047.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_047.png deleted file mode 100644 index acd0e0c..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_047.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_048.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_048.png deleted file mode 100644 index 18c3db4..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_048.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_049.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_049.png deleted file mode 100644 index 9d44fca..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_049.png and /dev/null differ diff --git a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_050.png b/example/SPLIT_SHUFFLE/obs_png/run_001/observation_050.png deleted file mode 100644 index 0c3bc1d..0000000 Binary files a/example/SPLIT_SHUFFLE/obs_png/run_001/observation_050.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_json/observation_1.json b/example/TOWER_SHUFFLE/obs_json/observation_1.json deleted file mode 100644 index 09842fd..0000000 --- a/example/TOWER_SHUFFLE/obs_json/observation_1.json +++ /dev/null @@ -1,3810 +0,0 @@ -{ - "target_passcode": [ - 20, - 34, - 52, - 32 - ], - "observations": [ - { - "keypad": [ - [ - 36, - 10, - 20, - 3, - 4, - 32, - 6, - 7, - 44 - ], - [ - 27, - 46, - 29, - 21, - 40, - 23, - 24, - 25, - 53 - ], - [ - 9, - 28, - 2, - 30, - 22, - 14, - 33, - 34, - 26 - ], - [ - 18, - 19, - 38, - 12, - 49, - 5, - 42, - 52, - 35 - ], - [ - 0, - 1, - 47, - 48, - 31, - 50, - 15, - 43, - 8 - ], - [ - 45, - 37, - 11, - 39, - 13, - 41, - 51, - 16, - 17 - ] - ], - "key_selection": [ - 0, - 2, - 3, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 11, - 39, - 4, - 32, - 51, - 16, - 44 - ], - [ - 27, - 46, - 20, - 3, - 40, - 23, - 6, - 7, - 53 - ], - [ - 9, - 28, - 47, - 48, - 22, - 14, - 15, - 43, - 26 - ], - [ - 18, - 19, - 38, - 12, - 49, - 5, - 42, - 52, - 35 - ], - [ - 0, - 1, - 2, - 30, - 31, - 50, - 33, - 34, - 8 - ], - [ - 45, - 37, - 29, - 21, - 13, - 41, - 24, - 25, - 17 - ] - ], - "key_selection": [ - 1, - 4, - 3, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 38, - 39, - 4, - 5, - 42, - 16, - 35 - ], - [ - 27, - 46, - 20, - 3, - 40, - 23, - 6, - 7, - 53 - ], - [ - 9, - 28, - 47, - 48, - 22, - 14, - 15, - 43, - 26 - ], - [ - 18, - 1, - 2, - 12, - 49, - 50, - 33, - 52, - 8 - ], - [ - 0, - 10, - 11, - 30, - 31, - 32, - 51, - 34, - 44 - ], - [ - 45, - 37, - 29, - 21, - 13, - 41, - 24, - 25, - 17 - ] - ], - "key_selection": [ - 1, - 4, - 3, - 4 - ] - }, - { - "keypad": [ - [ - 9, - 19, - 38, - 48, - 4, - 14, - 15, - 16, - 35 - ], - [ - 36, - 46, - 20, - 39, - 40, - 5, - 42, - 7, - 53 - ], - [ - 45, - 28, - 47, - 21, - 22, - 41, - 24, - 43, - 26 - ], - [ - 27, - 1, - 2, - 3, - 49, - 23, - 6, - 52, - 8 - ], - [ - 18, - 10, - 11, - 12, - 31, - 50, - 33, - 34, - 44 - ], - [ - 0, - 37, - 29, - 30, - 13, - 32, - 51, - 25, - 17 - ] - ], - "key_selection": [ - 1, - 4, - 3, - 5 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 39, - 40, - 5, - 15, - 7, - 35 - ], - [ - 36, - 10, - 20, - 12, - 31, - 50, - 42, - 34, - 53 - ], - [ - 45, - 37, - 47, - 30, - 13, - 32, - 24, - 25, - 26 - ], - [ - 27, - 19, - 2, - 48, - 4, - 14, - 6, - 16, - 8 - ], - [ - 18, - 1, - 11, - 3, - 49, - 23, - 33, - 52, - 44 - ], - [ - 0, - 28, - 29, - 21, - 22, - 41, - 51, - 43, - 17 - ] - ], - "key_selection": [ - 1, - 1, - 4, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 39, - 40, - 41, - 51, - 43, - 17 - ], - [ - 36, - 10, - 20, - 12, - 31, - 5, - 15, - 7, - 35 - ], - [ - 45, - 37, - 47, - 30, - 13, - 32, - 24, - 25, - 26 - ], - [ - 27, - 19, - 2, - 48, - 4, - 14, - 6, - 16, - 8 - ], - [ - 18, - 1, - 11, - 3, - 49, - 50, - 42, - 34, - 53 - ], - [ - 0, - 28, - 29, - 21, - 22, - 23, - 33, - 52, - 44 - ] - ], - "key_selection": [ - 1, - 4, - 5, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 38, - 39, - 40, - 41, - 51, - 43, - 17 - ], - [ - 36, - 19, - 2, - 48, - 31, - 5, - 15, - 16, - 8 - ], - [ - 45, - 28, - 29, - 21, - 13, - 32, - 24, - 52, - 44 - ], - [ - 27, - 1, - 11, - 3, - 4, - 14, - 6, - 34, - 53 - ], - [ - 18, - 37, - 47, - 30, - 49, - 50, - 42, - 25, - 26 - ], - [ - 0, - 10, - 20, - 12, - 22, - 23, - 33, - 7, - 35 - ] - ], - "key_selection": [ - 5, - 3, - 2, - 2 - ] - }, - { - "keypad": [ - [ - 9, - 10, - 38, - 39, - 22, - 23, - 51, - 7, - 17 - ], - [ - 36, - 28, - 2, - 48, - 13, - 32, - 15, - 52, - 8 - ], - [ - 45, - 46, - 29, - 21, - 40, - 41, - 24, - 43, - 44 - ], - [ - 27, - 19, - 11, - 3, - 31, - 5, - 6, - 16, - 53 - ], - [ - 18, - 1, - 47, - 30, - 4, - 14, - 42, - 34, - 26 - ], - [ - 0, - 37, - 20, - 12, - 49, - 50, - 33, - 25, - 35 - ] - ], - "key_selection": [ - 5, - 4, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 10, - 20, - 39, - 22, - 50, - 33, - 25, - 35 - ], - [ - 36, - 28, - 2, - 48, - 13, - 32, - 15, - 52, - 8 - ], - [ - 45, - 46, - 47, - 21, - 40, - 14, - 42, - 34, - 26 - ], - [ - 27, - 19, - 29, - 3, - 31, - 41, - 24, - 43, - 44 - ], - [ - 18, - 1, - 38, - 30, - 4, - 23, - 51, - 7, - 17 - ], - [ - 0, - 37, - 11, - 12, - 49, - 5, - 6, - 16, - 53 - ] - ], - "key_selection": [ - 0, - 2, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 9, - 10, - 20, - 39, - 22, - 50, - 33, - 25, - 35 - ], - [ - 36, - 28, - 2, - 21, - 40, - 32, - 42, - 52, - 26 - ], - [ - 45, - 46, - 47, - 12, - 49, - 14, - 6, - 34, - 53 - ], - [ - 27, - 19, - 29, - 48, - 13, - 41, - 15, - 43, - 8 - ], - [ - 18, - 1, - 38, - 30, - 4, - 23, - 51, - 7, - 17 - ], - [ - 0, - 37, - 11, - 3, - 31, - 5, - 24, - 16, - 44 - ] - ], - "key_selection": [ - 0, - 2, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 11, - 3, - 22, - 50, - 33, - 25, - 44 - ], - [ - 45, - 46, - 47, - 12, - 40, - 32, - 42, - 52, - 53 - ], - [ - 36, - 28, - 2, - 21, - 49, - 14, - 6, - 34, - 26 - ], - [ - 18, - 1, - 38, - 30, - 13, - 41, - 15, - 43, - 17 - ], - [ - 27, - 19, - 29, - 48, - 4, - 23, - 51, - 7, - 8 - ], - [ - 9, - 10, - 20, - 39, - 31, - 5, - 24, - 16, - 35 - ] - ], - "key_selection": [ - 5, - 2, - 1, - 1 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 47, - 3, - 40, - 32, - 33, - 25, - 53 - ], - [ - 45, - 46, - 38, - 12, - 13, - 41, - 42, - 52, - 17 - ], - [ - 36, - 28, - 20, - 21, - 31, - 5, - 6, - 34, - 35 - ], - [ - 18, - 1, - 29, - 30, - 4, - 23, - 15, - 43, - 8 - ], - [ - 27, - 19, - 11, - 48, - 22, - 50, - 51, - 7, - 44 - ], - [ - 9, - 10, - 2, - 39, - 49, - 14, - 24, - 16, - 26 - ] - ], - "key_selection": [ - 2, - 2, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 47, - 39, - 49, - 32, - 24, - 16, - 26 - ], - [ - 45, - 46, - 38, - 21, - 31, - 41, - 6, - 34, - 35 - ], - [ - 36, - 28, - 20, - 30, - 4, - 5, - 15, - 43, - 8 - ], - [ - 18, - 1, - 29, - 48, - 22, - 23, - 51, - 7, - 44 - ], - [ - 27, - 19, - 11, - 3, - 40, - 50, - 33, - 25, - 53 - ], - [ - 9, - 10, - 2, - 12, - 13, - 14, - 42, - 52, - 17 - ] - ], - "key_selection": [ - 2, - 1, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 37, - 47, - 30, - 49, - 5, - 24, - 16, - 8 - ], - [ - 0, - 46, - 38, - 39, - 31, - 32, - 6, - 34, - 26 - ], - [ - 18, - 28, - 20, - 48, - 4, - 23, - 15, - 43, - 44 - ], - [ - 9, - 1, - 29, - 12, - 22, - 14, - 51, - 7, - 17 - ], - [ - 45, - 19, - 11, - 21, - 40, - 41, - 33, - 25, - 35 - ], - [ - 27, - 10, - 2, - 3, - 13, - 50, - 42, - 52, - 53 - ] - ], - "key_selection": [ - 2, - 1, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 36, - 28, - 20, - 30, - 49, - 23, - 15, - 16, - 44 - ], - [ - 0, - 19, - 11, - 39, - 31, - 41, - 33, - 34, - 35 - ], - [ - 18, - 46, - 38, - 48, - 4, - 32, - 6, - 43, - 26 - ], - [ - 9, - 1, - 29, - 12, - 22, - 14, - 51, - 7, - 17 - ], - [ - 45, - 37, - 47, - 21, - 40, - 5, - 24, - 25, - 8 - ], - [ - 27, - 10, - 2, - 3, - 13, - 50, - 42, - 52, - 53 - ] - ], - "key_selection": [ - 0, - 1, - 5, - 2 - ] - }, - { - "keypad": [ - [ - 18, - 46, - 20, - 30, - 4, - 32, - 15, - 16, - 44 - ], - [ - 9, - 1, - 11, - 39, - 22, - 14, - 33, - 34, - 35 - ], - [ - 0, - 19, - 38, - 48, - 31, - 41, - 6, - 43, - 26 - ], - [ - 45, - 37, - 29, - 12, - 40, - 5, - 51, - 7, - 17 - ], - [ - 36, - 28, - 47, - 21, - 49, - 23, - 24, - 25, - 8 - ], - [ - 27, - 10, - 2, - 3, - 13, - 50, - 42, - 52, - 53 - ] - ], - "key_selection": [ - 0, - 1, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 18, - 10, - 2, - 3, - 13, - 32, - 42, - 16, - 44 - ], - [ - 9, - 28, - 47, - 21, - 49, - 14, - 24, - 34, - 35 - ], - [ - 0, - 37, - 29, - 12, - 40, - 41, - 51, - 43, - 26 - ], - [ - 45, - 19, - 38, - 48, - 31, - 5, - 6, - 7, - 17 - ], - [ - 36, - 46, - 20, - 30, - 4, - 23, - 15, - 25, - 8 - ], - [ - 27, - 1, - 11, - 39, - 22, - 50, - 33, - 52, - 53 - ] - ], - "key_selection": [ - 4, - 1, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 10, - 47, - 21, - 13, - 32, - 42, - 34, - 44 - ], - [ - 45, - 28, - 38, - 48, - 49, - 14, - 24, - 7, - 35 - ], - [ - 18, - 37, - 2, - 3, - 40, - 41, - 51, - 16, - 26 - ], - [ - 36, - 19, - 20, - 30, - 31, - 5, - 6, - 25, - 17 - ], - [ - 27, - 46, - 11, - 39, - 4, - 23, - 15, - 52, - 8 - ], - [ - 0, - 1, - 29, - 12, - 22, - 50, - 33, - 43, - 53 - ] - ], - "key_selection": [ - 3, - 0, - 4, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 28, - 47, - 48, - 13, - 32, - 24, - 7, - 35 - ], - [ - 45, - 46, - 38, - 39, - 49, - 14, - 15, - 52, - 8 - ], - [ - 18, - 19, - 2, - 30, - 40, - 41, - 6, - 25, - 17 - ], - [ - 36, - 1, - 20, - 12, - 31, - 5, - 33, - 43, - 53 - ], - [ - 27, - 37, - 11, - 3, - 4, - 23, - 51, - 16, - 26 - ], - [ - 0, - 10, - 29, - 21, - 22, - 50, - 42, - 34, - 44 - ] - ], - "key_selection": [ - 3, - 5, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 28, - 38, - 39, - 13, - 14, - 15, - 7, - 35 - ], - [ - 45, - 46, - 2, - 30, - 49, - 41, - 6, - 52, - 8 - ], - [ - 18, - 19, - 47, - 48, - 40, - 32, - 24, - 25, - 17 - ], - [ - 36, - 1, - 11, - 3, - 31, - 23, - 51, - 43, - 53 - ], - [ - 27, - 37, - 20, - 12, - 4, - 5, - 33, - 16, - 26 - ], - [ - 0, - 10, - 29, - 21, - 22, - 50, - 42, - 34, - 44 - ] - ], - "key_selection": [ - 4, - 5, - 1, - 2 - ] - }, - { - "keypad": [ - [ - 45, - 46, - 2, - 30, - 13, - 14, - 15, - 52, - 35 - ], - [ - 27, - 37, - 20, - 12, - 49, - 41, - 6, - 16, - 8 - ], - [ - 0, - 10, - 29, - 21, - 40, - 32, - 24, - 34, - 17 - ], - [ - 9, - 28, - 38, - 39, - 31, - 23, - 51, - 7, - 53 - ], - [ - 18, - 19, - 47, - 48, - 4, - 5, - 33, - 25, - 26 - ], - [ - 36, - 1, - 11, - 3, - 22, - 50, - 42, - 43, - 44 - ] - ], - "key_selection": [ - 1, - 2, - 0, - 2 - ] - }, - { - "keypad": [ - [ - 45, - 46, - 11, - 30, - 22, - 14, - 42, - 43, - 35 - ], - [ - 27, - 37, - 38, - 12, - 31, - 41, - 51, - 7, - 8 - ], - [ - 0, - 10, - 47, - 21, - 4, - 32, - 33, - 25, - 17 - ], - [ - 9, - 28, - 2, - 39, - 13, - 23, - 15, - 52, - 53 - ], - [ - 18, - 19, - 20, - 48, - 49, - 5, - 6, - 16, - 26 - ], - [ - 36, - 1, - 29, - 3, - 40, - 50, - 24, - 34, - 44 - ] - ], - "key_selection": [ - 4, - 5, - 3, - 2 - ] - }, - { - "keypad": [ - [ - 27, - 46, - 11, - 30, - 31, - 41, - 42, - 7, - 8 - ], - [ - 45, - 37, - 38, - 12, - 22, - 14, - 51, - 43, - 35 - ], - [ - 18, - 10, - 47, - 21, - 49, - 5, - 33, - 16, - 26 - ], - [ - 9, - 28, - 2, - 39, - 13, - 23, - 15, - 52, - 53 - ], - [ - 36, - 19, - 20, - 48, - 40, - 50, - 6, - 34, - 44 - ], - [ - 0, - 1, - 29, - 3, - 4, - 32, - 24, - 25, - 17 - ] - ], - "key_selection": [ - 4, - 4, - 3, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 1, - 11, - 30, - 31, - 41, - 24, - 25, - 17 - ], - [ - 45, - 28, - 38, - 12, - 22, - 14, - 15, - 52, - 53 - ], - [ - 18, - 46, - 47, - 21, - 49, - 5, - 42, - 7, - 8 - ], - [ - 9, - 37, - 2, - 39, - 13, - 23, - 51, - 43, - 35 - ], - [ - 36, - 10, - 20, - 48, - 40, - 50, - 33, - 16, - 26 - ], - [ - 0, - 19, - 29, - 3, - 4, - 32, - 6, - 34, - 44 - ] - ], - "key_selection": [ - 4, - 5, - 1, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 1, - 11, - 30, - 31, - 41, - 24, - 25, - 17 - ], - [ - 45, - 28, - 38, - 21, - 49, - 5, - 42, - 52, - 8 - ], - [ - 18, - 46, - 47, - 12, - 22, - 14, - 15, - 7, - 53 - ], - [ - 9, - 37, - 2, - 39, - 13, - 23, - 51, - 43, - 35 - ], - [ - 36, - 10, - 20, - 3, - 4, - 32, - 6, - 16, - 44 - ], - [ - 0, - 19, - 29, - 48, - 40, - 50, - 33, - 34, - 26 - ] - ], - "key_selection": [ - 4, - 5, - 1, - 4 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 20, - 3, - 31, - 32, - 24, - 25, - 17 - ], - [ - 45, - 1, - 11, - 30, - 49, - 41, - 42, - 52, - 8 - ], - [ - 18, - 37, - 2, - 39, - 22, - 23, - 15, - 7, - 53 - ], - [ - 9, - 46, - 47, - 12, - 13, - 14, - 51, - 43, - 35 - ], - [ - 36, - 28, - 38, - 21, - 4, - 5, - 6, - 16, - 44 - ], - [ - 0, - 19, - 29, - 48, - 40, - 50, - 33, - 34, - 26 - ] - ], - "key_selection": [ - 0, - 5, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 20, - 3, - 31, - 32, - 24, - 25, - 17 - ], - [ - 45, - 1, - 11, - 30, - 49, - 41, - 42, - 52, - 8 - ], - [ - 18, - 37, - 2, - 39, - 22, - 23, - 15, - 7, - 53 - ], - [ - 0, - 46, - 29, - 12, - 40, - 50, - 51, - 43, - 26 - ], - [ - 9, - 28, - 47, - 21, - 13, - 14, - 6, - 16, - 35 - ], - [ - 36, - 19, - 38, - 48, - 4, - 5, - 33, - 34, - 44 - ] - ], - "key_selection": [ - 0, - 5, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 38, - 3, - 4, - 32, - 24, - 34, - 17 - ], - [ - 45, - 1, - 11, - 30, - 49, - 41, - 42, - 52, - 8 - ], - [ - 18, - 46, - 29, - 39, - 40, - 23, - 15, - 43, - 53 - ], - [ - 0, - 37, - 2, - 12, - 22, - 50, - 51, - 7, - 26 - ], - [ - 9, - 28, - 47, - 21, - 13, - 14, - 6, - 16, - 35 - ], - [ - 36, - 10, - 20, - 48, - 31, - 5, - 33, - 25, - 44 - ] - ], - "key_selection": [ - 5, - 0, - 1, - 0 - ] - }, - { - "keypad": [ - [ - 0, - 37, - 2, - 3, - 4, - 50, - 51, - 34, - 17 - ], - [ - 45, - 1, - 11, - 30, - 49, - 41, - 42, - 52, - 8 - ], - [ - 27, - 19, - 38, - 39, - 40, - 32, - 24, - 43, - 53 - ], - [ - 18, - 46, - 29, - 12, - 22, - 23, - 15, - 7, - 26 - ], - [ - 9, - 28, - 47, - 21, - 13, - 14, - 6, - 16, - 35 - ], - [ - 36, - 10, - 20, - 48, - 31, - 5, - 33, - 25, - 44 - ] - ], - "key_selection": [ - 5, - 0, - 1, - 2 - ] - }, - { - "keypad": [ - [ - 18, - 37, - 2, - 12, - 4, - 23, - 51, - 7, - 17 - ], - [ - 45, - 1, - 11, - 30, - 49, - 41, - 42, - 52, - 8 - ], - [ - 36, - 19, - 38, - 48, - 40, - 5, - 24, - 25, - 53 - ], - [ - 0, - 46, - 29, - 3, - 22, - 50, - 15, - 34, - 26 - ], - [ - 9, - 28, - 47, - 21, - 13, - 14, - 6, - 16, - 35 - ], - [ - 27, - 10, - 20, - 39, - 31, - 32, - 33, - 43, - 44 - ] - ], - "key_selection": [ - 5, - 3, - 1, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 2, - 39, - 4, - 23, - 33, - 7, - 44 - ], - [ - 18, - 37, - 11, - 12, - 49, - 41, - 51, - 52, - 17 - ], - [ - 0, - 46, - 38, - 3, - 40, - 5, - 15, - 25, - 26 - ], - [ - 45, - 1, - 29, - 30, - 22, - 50, - 42, - 34, - 8 - ], - [ - 9, - 28, - 47, - 21, - 13, - 14, - 6, - 16, - 35 - ], - [ - 36, - 19, - 20, - 48, - 31, - 32, - 24, - 43, - 53 - ] - ], - "key_selection": [ - 5, - 3, - 1, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 2, - 39, - 4, - 23, - 33, - 7, - 44 - ], - [ - 18, - 37, - 11, - 12, - 49, - 41, - 51, - 52, - 17 - ], - [ - 36, - 46, - 38, - 3, - 31, - 5, - 24, - 43, - 26 - ], - [ - 0, - 1, - 29, - 30, - 40, - 50, - 15, - 25, - 8 - ], - [ - 45, - 28, - 47, - 21, - 22, - 14, - 42, - 34, - 35 - ], - [ - 9, - 19, - 20, - 48, - 13, - 32, - 6, - 16, - 53 - ] - ], - "key_selection": [ - 5, - 4, - 1, - 5 - ] - }, - { - "keypad": [ - [ - 27, - 1, - 29, - 39, - 4, - 50, - 15, - 25, - 44 - ], - [ - 18, - 37, - 11, - 12, - 49, - 41, - 51, - 52, - 17 - ], - [ - 36, - 28, - 47, - 3, - 31, - 14, - 42, - 34, - 26 - ], - [ - 0, - 10, - 2, - 30, - 40, - 23, - 33, - 7, - 8 - ], - [ - 45, - 19, - 20, - 21, - 22, - 32, - 6, - 16, - 35 - ], - [ - 9, - 46, - 38, - 48, - 13, - 5, - 24, - 43, - 53 - ] - ], - "key_selection": [ - 4, - 2, - 1, - 4 - ] - }, - { - "keypad": [ - [ - 27, - 1, - 29, - 39, - 4, - 50, - 15, - 25, - 44 - ], - [ - 0, - 37, - 2, - 30, - 49, - 41, - 51, - 7, - 17 - ], - [ - 18, - 28, - 11, - 12, - 31, - 14, - 42, - 52, - 26 - ], - [ - 45, - 10, - 20, - 21, - 40, - 23, - 33, - 16, - 8 - ], - [ - 9, - 19, - 38, - 48, - 22, - 32, - 6, - 43, - 35 - ], - [ - 36, - 46, - 47, - 3, - 13, - 5, - 24, - 34, - 53 - ] - ], - "key_selection": [ - 3, - 5, - 2, - 4 - ] - }, - { - "keypad": [ - [ - 9, - 1, - 38, - 39, - 22, - 32, - 15, - 25, - 35 - ], - [ - 27, - 37, - 29, - 30, - 4, - 50, - 51, - 7, - 44 - ], - [ - 36, - 28, - 47, - 12, - 13, - 5, - 42, - 52, - 53 - ], - [ - 45, - 10, - 20, - 21, - 40, - 23, - 33, - 16, - 8 - ], - [ - 0, - 19, - 2, - 48, - 49, - 41, - 6, - 43, - 17 - ], - [ - 18, - 46, - 11, - 3, - 31, - 14, - 24, - 34, - 26 - ] - ], - "key_selection": [ - 3, - 5, - 2, - 0 - ] - }, - { - "keypad": [ - [ - 9, - 46, - 11, - 39, - 31, - 32, - 15, - 34, - 35 - ], - [ - 27, - 1, - 38, - 30, - 22, - 50, - 51, - 25, - 44 - ], - [ - 36, - 37, - 29, - 12, - 4, - 5, - 42, - 7, - 53 - ], - [ - 45, - 19, - 2, - 21, - 49, - 23, - 33, - 43, - 8 - ], - [ - 0, - 10, - 20, - 48, - 40, - 41, - 6, - 16, - 17 - ], - [ - 18, - 28, - 47, - 3, - 13, - 14, - 24, - 52, - 26 - ] - ], - "key_selection": [ - 4, - 0, - 5, - 0 - ] - }, - { - "keypad": [ - [ - 36, - 37, - 11, - 39, - 4, - 5, - 42, - 34, - 35 - ], - [ - 9, - 46, - 38, - 30, - 31, - 32, - 15, - 25, - 44 - ], - [ - 27, - 1, - 29, - 12, - 22, - 50, - 51, - 7, - 53 - ], - [ - 18, - 28, - 2, - 21, - 13, - 14, - 24, - 43, - 8 - ], - [ - 45, - 19, - 20, - 48, - 49, - 23, - 33, - 16, - 17 - ], - [ - 0, - 10, - 47, - 3, - 40, - 41, - 6, - 52, - 26 - ] - ], - "key_selection": [ - 4, - 0, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 27, - 1, - 29, - 39, - 4, - 5, - 42, - 34, - 53 - ], - [ - 0, - 10, - 47, - 30, - 31, - 32, - 15, - 25, - 26 - ], - [ - 9, - 46, - 38, - 12, - 22, - 50, - 51, - 7, - 44 - ], - [ - 36, - 37, - 11, - 21, - 13, - 14, - 24, - 43, - 35 - ], - [ - 18, - 28, - 2, - 48, - 49, - 23, - 33, - 16, - 8 - ], - [ - 45, - 19, - 20, - 3, - 40, - 41, - 6, - 52, - 17 - ] - ], - "key_selection": [ - 5, - 0, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 27, - 19, - 29, - 3, - 40, - 5, - 6, - 34, - 17 - ], - [ - 0, - 28, - 47, - 48, - 49, - 32, - 33, - 25, - 8 - ], - [ - 9, - 1, - 38, - 39, - 4, - 50, - 42, - 7, - 53 - ], - [ - 36, - 37, - 11, - 21, - 13, - 14, - 24, - 43, - 35 - ], - [ - 18, - 10, - 2, - 30, - 31, - 23, - 15, - 16, - 26 - ], - [ - 45, - 46, - 20, - 12, - 22, - 41, - 51, - 52, - 44 - ] - ], - "key_selection": [ - 5, - 0, - 5, - 1 - ] - }, - { - "keypad": [ - [ - 18, - 19, - 29, - 30, - 40, - 23, - 15, - 34, - 17 - ], - [ - 27, - 28, - 47, - 3, - 49, - 5, - 6, - 25, - 8 - ], - [ - 36, - 1, - 38, - 21, - 4, - 14, - 24, - 7, - 53 - ], - [ - 0, - 37, - 11, - 48, - 13, - 32, - 33, - 43, - 35 - ], - [ - 9, - 10, - 2, - 39, - 31, - 50, - 42, - 16, - 26 - ], - [ - 45, - 46, - 20, - 12, - 22, - 41, - 51, - 52, - 44 - ] - ], - "key_selection": [ - 5, - 0, - 5, - 3 - ] - }, - { - "keypad": [ - [ - 18, - 19, - 29, - 21, - 4, - 14, - 15, - 7, - 53 - ], - [ - 27, - 28, - 47, - 30, - 40, - 23, - 6, - 34, - 17 - ], - [ - 36, - 1, - 38, - 39, - 31, - 50, - 24, - 16, - 26 - ], - [ - 0, - 37, - 11, - 12, - 22, - 41, - 33, - 52, - 44 - ], - [ - 9, - 10, - 2, - 48, - 13, - 32, - 42, - 43, - 35 - ], - [ - 45, - 46, - 20, - 3, - 49, - 5, - 51, - 25, - 8 - ] - ], - "key_selection": [ - 5, - 1, - 3, - 4 - ] - }, - { - "keypad": [ - [ - 18, - 19, - 38, - 21, - 31, - 14, - 24, - 7, - 26 - ], - [ - 27, - 28, - 20, - 30, - 49, - 23, - 51, - 34, - 8 - ], - [ - 36, - 1, - 29, - 39, - 4, - 50, - 15, - 16, - 53 - ], - [ - 0, - 37, - 11, - 12, - 22, - 41, - 33, - 52, - 44 - ], - [ - 9, - 10, - 47, - 48, - 40, - 32, - 6, - 43, - 17 - ], - [ - 45, - 46, - 2, - 3, - 13, - 5, - 42, - 25, - 35 - ] - ], - "key_selection": [ - 1, - 1, - 3, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 1, - 29, - 21, - 4, - 14, - 24, - 16, - 26 - ], - [ - 27, - 28, - 20, - 30, - 49, - 23, - 51, - 34, - 8 - ], - [ - 18, - 19, - 38, - 39, - 31, - 50, - 15, - 7, - 53 - ], - [ - 9, - 10, - 47, - 12, - 40, - 41, - 33, - 43, - 44 - ], - [ - 0, - 37, - 11, - 48, - 22, - 32, - 6, - 52, - 17 - ], - [ - 45, - 46, - 2, - 3, - 13, - 5, - 42, - 25, - 35 - ] - ], - "key_selection": [ - 1, - 1, - 4, - 4 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 29, - 21, - 4, - 41, - 24, - 43, - 44 - ], - [ - 27, - 46, - 20, - 30, - 49, - 5, - 51, - 25, - 35 - ], - [ - 18, - 28, - 38, - 39, - 31, - 23, - 15, - 34, - 8 - ], - [ - 9, - 19, - 47, - 12, - 40, - 50, - 33, - 7, - 53 - ], - [ - 0, - 1, - 11, - 48, - 22, - 14, - 6, - 16, - 26 - ], - [ - 45, - 37, - 2, - 3, - 13, - 32, - 42, - 52, - 17 - ] - ], - "key_selection": [ - 1, - 2, - 5, - 5 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 20, - 30, - 4, - 5, - 51, - 25, - 44 - ], - [ - 27, - 46, - 47, - 12, - 49, - 50, - 33, - 7, - 35 - ], - [ - 18, - 28, - 11, - 48, - 31, - 14, - 6, - 16, - 8 - ], - [ - 9, - 19, - 2, - 3, - 40, - 32, - 42, - 52, - 53 - ], - [ - 0, - 1, - 29, - 21, - 22, - 41, - 24, - 43, - 26 - ], - [ - 45, - 37, - 38, - 39, - 13, - 23, - 15, - 34, - 17 - ] - ], - "key_selection": [ - 0, - 5, - 3, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 2, - 3, - 40, - 5, - 51, - 25, - 44 - ], - [ - 27, - 10, - 20, - 30, - 4, - 50, - 33, - 7, - 35 - ], - [ - 18, - 46, - 47, - 12, - 49, - 14, - 6, - 16, - 8 - ], - [ - 9, - 1, - 29, - 21, - 22, - 32, - 42, - 52, - 53 - ], - [ - 0, - 37, - 38, - 39, - 13, - 41, - 24, - 43, - 26 - ], - [ - 45, - 28, - 11, - 48, - 31, - 23, - 15, - 34, - 17 - ] - ], - "key_selection": [ - 1, - 5, - 3, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 2, - 3, - 40, - 5, - 51, - 25, - 44 - ], - [ - 0, - 10, - 38, - 30, - 13, - 50, - 24, - 7, - 26 - ], - [ - 9, - 46, - 29, - 12, - 22, - 14, - 42, - 16, - 53 - ], - [ - 18, - 1, - 47, - 21, - 49, - 32, - 6, - 52, - 8 - ], - [ - 45, - 37, - 11, - 39, - 31, - 41, - 15, - 43, - 17 - ], - [ - 27, - 28, - 20, - 48, - 4, - 23, - 33, - 34, - 35 - ] - ], - "key_selection": [ - 5, - 5, - 3, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 19, - 2, - 3, - 40, - 5, - 51, - 25, - 44 - ], - [ - 0, - 10, - 38, - 30, - 13, - 50, - 24, - 7, - 26 - ], - [ - 27, - 28, - 29, - 12, - 4, - 14, - 42, - 34, - 53 - ], - [ - 18, - 1, - 47, - 21, - 49, - 32, - 6, - 52, - 8 - ], - [ - 45, - 37, - 11, - 39, - 31, - 41, - 15, - 43, - 17 - ], - [ - 9, - 46, - 20, - 48, - 22, - 23, - 33, - 16, - 35 - ] - ], - "key_selection": [ - 5, - 2, - 3, - 3 - ] - }, - { - "keypad": [ - [ - 36, - 10, - 38, - 3, - 13, - 50, - 24, - 25, - 44 - ], - [ - 0, - 19, - 2, - 30, - 40, - 5, - 51, - 7, - 26 - ], - [ - 27, - 37, - 11, - 12, - 31, - 41, - 15, - 34, - 53 - ], - [ - 18, - 1, - 47, - 21, - 49, - 32, - 6, - 52, - 8 - ], - [ - 45, - 46, - 20, - 39, - 22, - 23, - 33, - 43, - 17 - ], - [ - 9, - 28, - 29, - 48, - 4, - 14, - 42, - 16, - 35 - ] - ], - "key_selection": [ - 4, - 2, - 3, - 3 - ] - }, - { - "keypad": [ - [ - 27, - 10, - 38, - 3, - 31, - 41, - 24, - 25, - 53 - ], - [ - 36, - 19, - 2, - 30, - 13, - 50, - 51, - 7, - 44 - ], - [ - 45, - 37, - 11, - 12, - 22, - 23, - 15, - 34, - 17 - ], - [ - 0, - 1, - 47, - 21, - 40, - 5, - 6, - 52, - 26 - ], - [ - 9, - 46, - 20, - 39, - 4, - 14, - 33, - 43, - 35 - ], - [ - 18, - 28, - 29, - 48, - 49, - 32, - 42, - 16, - 8 - ] - ], - "key_selection": [ - 4, - 2, - 3, - 5 - ] - } - ] -} \ No newline at end of file diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_001.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_001.png deleted file mode 100644 index d8825d7..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_001.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_002.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_002.png deleted file mode 100644 index cbbb1c8..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_002.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_003.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_003.png deleted file mode 100644 index 3df39d3..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_003.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_004.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_004.png deleted file mode 100644 index ba821c3..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_004.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_005.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_005.png deleted file mode 100644 index fd9cd1c..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_005.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_006.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_006.png deleted file mode 100644 index 7f4e7a2..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_006.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_007.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_007.png deleted file mode 100644 index ff7accc..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_007.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_008.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_008.png deleted file mode 100644 index bd5008a..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_008.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_009.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_009.png deleted file mode 100644 index 647ea74..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_009.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_010.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_010.png deleted file mode 100644 index 38ab297..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_010.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_011.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_011.png deleted file mode 100644 index 4d79f65..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_011.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_012.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_012.png deleted file mode 100644 index 6a3788e..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_012.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_013.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_013.png deleted file mode 100644 index 28e543f..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_013.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_014.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_014.png deleted file mode 100644 index 4015f50..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_014.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_015.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_015.png deleted file mode 100644 index 32a4250..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_015.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_016.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_016.png deleted file mode 100644 index ab1c084..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_016.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_017.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_017.png deleted file mode 100644 index 0094c5e..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_017.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_018.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_018.png deleted file mode 100644 index c7b87ac..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_018.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_019.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_019.png deleted file mode 100644 index 1e21bd5..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_019.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_020.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_020.png deleted file mode 100644 index ab2a412..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_020.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_021.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_021.png deleted file mode 100644 index 6d2b836..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_021.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_022.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_022.png deleted file mode 100644 index 93cf324..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_022.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_023.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_023.png deleted file mode 100644 index 2308121..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_023.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_024.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_024.png deleted file mode 100644 index 4b4725e..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_024.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_025.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_025.png deleted file mode 100644 index 4074fb3..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_025.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_026.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_026.png deleted file mode 100644 index 2f6df11..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_026.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_027.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_027.png deleted file mode 100644 index c035082..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_027.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_028.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_028.png deleted file mode 100644 index 5a30a97..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_028.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_029.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_029.png deleted file mode 100644 index acbebff..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_029.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_030.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_030.png deleted file mode 100644 index 8e1a133..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_030.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_031.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_031.png deleted file mode 100644 index 863a2f9..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_031.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_032.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_032.png deleted file mode 100644 index b03bbc4..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_032.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_033.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_033.png deleted file mode 100644 index e629f02..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_033.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_034.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_034.png deleted file mode 100644 index 3f28d07..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_034.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_035.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_035.png deleted file mode 100644 index d8ee2f3..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_035.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_036.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_036.png deleted file mode 100644 index ce12951..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_036.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_037.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_037.png deleted file mode 100644 index 28f22ba..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_037.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_038.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_038.png deleted file mode 100644 index a75f124..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_038.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_039.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_039.png deleted file mode 100644 index ca54735..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_039.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_040.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_040.png deleted file mode 100644 index 19fa902..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_040.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_041.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_041.png deleted file mode 100644 index 32196ef..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_041.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_042.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_042.png deleted file mode 100644 index c26507f..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_042.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_043.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_043.png deleted file mode 100644 index 68ec60f..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_043.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_044.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_044.png deleted file mode 100644 index b6046e3..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_044.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_045.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_045.png deleted file mode 100644 index c3aec1e..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_045.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_046.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_046.png deleted file mode 100644 index 08c2b0c..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_046.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_047.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_047.png deleted file mode 100644 index ef8e77e..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_047.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_048.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_048.png deleted file mode 100644 index 74e65e8..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_048.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_049.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_049.png deleted file mode 100644 index 2bd1186..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_049.png and /dev/null differ diff --git a/example/TOWER_SHUFFLE/obs_png/run_001/observation_050.png b/example/TOWER_SHUFFLE/obs_png/run_001/observation_050.png deleted file mode 100644 index a6ae0ac..0000000 Binary files a/example/TOWER_SHUFFLE/obs_png/run_001/observation_050.png and /dev/null differ diff --git a/notebooks/evilkode.ipynb b/notebooks/evilkode.ipynb deleted file mode 100644 index 570ba31..0000000 --- a/notebooks/evilkode.ipynb +++ /dev/null @@ -1,295 +0,0 @@ -{ - "cells": [ - { - "metadata": { - "collapsed": true, - "ExecuteTime": { - "end_time": "2025-09-05T15:53:22.395020Z", - "start_time": "2025-09-05T15:53:22.175670Z" - } - }, - "cell_type": "code", - "source": [ - "from src.benchmark import shuffle_benchmark\n", - "from src.utils import ShuffleTypes\n", - "import matplotlib.pyplot as plt\n", - "from pathlib import Path\n", - "from statistics import mean\n" - ], - "id": "initial_id", - "outputs": [], - "execution_count": 1 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:47.217608Z", - "start_time": "2025-09-05T15:53:22.398990Z" - } - }, - "cell_type": "code", - "source": [ - "multiple = 1\n", - "number_of_keys=6* multiple\n", - "properties_per_key=9 * multiple\n", - "passcode_len=4\n", - "max_tries_before_lockout= 5\n", - "complexity=4\n", - "disparity=4\n", - "run_count=5000\n", - "\n", - "bench_split = shuffle_benchmark(\n", - " number_of_keys=number_of_keys,\n", - " properties_per_key=properties_per_key,\n", - " passcode_len=passcode_len,\n", - " max_tries_before_lockout=max_tries_before_lockout,\n", - " run_count=run_count,\n", - " complexity=complexity,\n", - " disparity=disparity,\n", - " shuffle_type=ShuffleTypes.SPLIT_SHUFFLE\n", - ")\n", - "\n", - "bench_full = shuffle_benchmark(\n", - " number_of_keys=number_of_keys,\n", - " properties_per_key=properties_per_key,\n", - " passcode_len=passcode_len,\n", - " max_tries_before_lockout=max_tries_before_lockout,\n", - " run_count=run_count,\n", - " complexity=complexity,\n", - " disparity=disparity,\n", - " shuffle_type=ShuffleTypes.FULL_SHUFFLE\n", - ")\n", - "\n", - "bench_tower = shuffle_benchmark(\n", - " number_of_keys=number_of_keys,\n", - " properties_per_key=properties_per_key,\n", - " passcode_len=passcode_len,\n", - " max_tries_before_lockout=max_tries_before_lockout,\n", - " run_count=run_count,\n", - " complexity=complexity,\n", - " disparity=disparity,\n", - " shuffle_type=ShuffleTypes.TOWER_SHUFFLE\n", - ")\n" - ], - "id": "dafaab1106e864f0", - "outputs": [], - "execution_count": 2 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:47.259613Z", - "start_time": "2025-09-05T15:53:47.255069Z" - } - }, - "cell_type": "code", - "source": [ - "print(f\"Bench Split Mean Break {mean(bench_split.iterations_to_break)}\\n\")\n", - "print(f\"Bench Split Mean Replay {mean(bench_split.iterations_to_replay)}\\n\")\n", - "print(f\"Bench Tower Mean Break {mean(bench_tower.iterations_to_break)}\\n\")\n", - "print(f\"Bench Tower Mean Replay {mean(bench_tower.iterations_to_replay)}\\n\")\n" - ], - "id": "40f3fc026934e81", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Bench Split Mean Break 6.553\n", - "\n", - "Bench Split Mean Replay 3.843\n", - "\n", - "Bench Tower Mean Break 5.8676\n", - "\n", - "Bench Tower Mean Replay 4.0942\n", - "\n" - ] - } - ], - "execution_count": 3 - }, - { - "cell_type": "code", - "id": "99ddd0fbd421b058", - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:47.271316Z", - "start_time": "2025-09-05T15:53:47.267738Z" - } - }, - "source": [ - "def bench_histogram(data, title, number_of_keys, properties_per_key,\n", - " passcode_len, max_tries_before_lockout, complexity, disparity, run_count, save_path: Path = None):\n", - " # Create the histogram\n", - " min_val = min(data)\n", - " max_val = max(data)\n", - " \n", - " # Create bins for each integer\n", - " bins = range(min_val, max_val + 2)\n", - " plt.hist(data, bins=bins, edgecolor='black')\n", - " \n", - " # Add titles and labels\n", - " plt.title(title)\n", - " plt.xlabel('# of Login Observations')\n", - " plt.ylabel('Simulations')\n", - " \n", - " # Display parameters as text in the plot\n", - " text = (f\"number_of_keys={number_of_keys}\\n\"\n", - " f\"properties_per_key={properties_per_key}\\n\"\n", - " f\"passcode_len={passcode_len}\\n\"\n", - " f\"max_tries_before_lockout={max_tries_before_lockout}\\n\"\n", - " f\"complexity={complexity}\\n\"\n", - " f\"disparity={disparity}\\n\"\n", - " f\"run_count={run_count}\")\n", - " \n", - " plt.text(0.95, 0.95, text, transform=plt.gca().transAxes, fontsize=10,\n", - " verticalalignment='top', horizontalalignment='right', bbox=dict(facecolor='white', alpha=0.5))\n", - " \n", - " # Save plot if a path is provided\n", - " if save_path:\n", - " save_path.mkdir(parents=True, exist_ok=True)\n", - " filename = (f\"{title.replace(' ', '_')}_multi{multiple}_keys{number_of_keys}_\"\n", - " f\"props{properties_per_key}_pass{passcode_len}_tries{max_tries_before_lockout}_\"\n", - " f\"comp{complexity}_disp{disparity}_runs{run_count}.png\")\n", - " plt.savefig(save_path / filename, bbox_inches='tight', dpi=300)\n", - " \n", - " # Display the plot\n", - " plt.show()\n" - ], - "outputs": [], - "execution_count": 4 - }, - { - "cell_type": "code", - "id": "9cbf9282eba285e6", - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:47.755617Z", - "start_time": "2025-09-05T15:53:47.279431Z" - } - }, - "source": [ - "bench_histogram(bench_split.iterations_to_break, \"Key Logger Split Shuffle Break\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n", - "bench_histogram(bench_split.iterations_to_replay, \"Key Logger Split Shuffle Replay\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n" - ], - "outputs": [ - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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RERUioqVEGVkZCAoKAjGxsbQ1NREpUqVpD4lwdTUFADw+PFjqf2PHz8Wy0xNTZGamipVnp2djefPn0vVKaiNj8/xX6qqqtDR0ZH6EBER0berWAnRuHHjcPz4caxevRqqqqpYt24dpk+fDnNzc/z+++8lEpi1tTVMTU1x7NgxcV9aWhouXLggjlPy8PDAy5cvERUVJdY5fvw4cnNz4e7uLtY5ffo0srKyxDrh4eGws7MrseSNiIiIKrZiJUR79+7FqlWr0KlTJygpKaFx48aYPHkyZs+ejbCwsEK3k56ejpiYGMTExAD4MJA6JiYGSUlJkEgkGDlyJGbNmoU9e/YgNjYWvXv3hrm5Ofz8/AAADg4OaNWqFQYOHIiLFy8iIiICQUFB6N69O8zNzQEAP/zwA1RUVNC/f3/cuHED//vf/7B06VKMHj26OJdORERE36BirXb//PlzVKtWDQCgo6OD58+fAwC+++47DB06tNDtXL58Gc2aNRO385KUPn36YOPGjRg/fjzevHmDQYMG4eXLl/juu+9w6NAhqKmpiceEhYUhKCgIXl5eUFBQQKdOnaQWn9XV1cWRI0cQGBgINzc3GBoaYurUqXzlnoiIiETFSoiqVauGe/fuoWrVqrC3t8e2bdtQv3597N27F3p6eoVux9PTE4IgfLJcIpFgxowZn10ORF9fH1u2bPnseZycnHDmzJlCx0VERETypVhdZn379sXVq1cBABMnTsTKlSuhpqaGUaNGYdy4cSUaIBEREVFpK9YTolGjRolfe3t749atW4iKikL16tXh5ORUYsERERERlYViJUT/ZWlpCUtLy5JoioiIiKjMFToh+nig8pcMHz68WMEQERERyUKhE6IlS5YUqp5EImFCRERERBVKoROie/fulWYcRERERDJTrLfMiIiIiL4lxRpU3a9fv8+Wb9iwoVjBEBEREclCsRKiFy9eSG1nZWXh+vXrePnyJZo3b14igRERERGVlWIlRH/99Ve+fbm5uRg6dChsbGy+OigiIiKislRiY4gUFBQwevToQr+NRkRERFRelOig6oSEBGRnZ5dkk0RERESlrlhdZnmr0ucRBAHJycnYv38/+vTpUyKBEREREZWVYiVEV65ckdpWUFCAkZERFi1a9MU30IiIiIjKm2IlRCdOnCjpOKgcSkpKwtOnT2UdhiguLk7WIRAR0TeqRBZ3pW9PUlIS7Owd8O5thqxDISIiKnXFSoiePXuGqVOn4sSJE0hNTUVubq5U+fPnz0skOJKdp0+f4t3bDBi0HQNlAwtZhwMAePvPZbw6s1nWYRAR0TeoWAlRr169cPfuXfTv3x8mJiaQSCQlHReVE8oGFlA1rS7rMAAAWc8eyDoEIiL6RhUrITpz5gzOnj0LZ2fnko6HiIiIqMwVax4ie3t7vH37tqRjISIiIpKJYiVEq1atws8//4xTp07h2bNnSEtLk/oQERERVSTF6jLT09NDWlpavoVcBUGARCJBTk5OiQRHREREVBaKlRD5+/tDWVkZW7Zs4aBqIiIiqvCKlRBdv34dV65cgZ2dXUnHQ0RERFTmijWGqG7dunjwgK9AExER0behWE+Ihg0bhhEjRmDcuHGoXbs2lJWVpcqdnJxKJDgiIiKislCshKhbt24AILWQq0Qi4aBqIiIiqpCKlRDdu3evpOMgIiIikpliJUSWlpYlHQcRERGRzBQ6IdqzZw98fX2hrKyMPXv2fLbu999//9WBEREREZWVQidEfn5+SElJgbGxMfz8/D5Zj2OIiIiIqKIpdEKUm5tb4NdEREREFV2R5iGKjIzEvn37pPb9/vvvsLa2hrGxMQYNGoTMzMwSDZCIiIiotBUpIZoxYwZu3LghbsfGxqJ///7w9vbGxIkTsXfvXsyZM6fEgyQiIiIqTUVKiGJiYuDl5SVub926Fe7u7vjtt98wevRoLFu2DNu2bSvxIImIiIhKU5ESohcvXsDExETcPnXqFHx9fcXtevXqcUkPIiIiqnCKlBCZmJiIkzK+f/8e0dHRaNCggVj++vXrfMt4fC0rKytIJJJ8n8DAQACAp6dnvrIhQ4ZItZGUlIQ2bdpAQ0MDxsbGGDduHLKzs0s0TiIiIqq4ijQxY+vWrTFx4kTMmzcPu3fvhoaGBho3biyWX7t2DTY2NiUa4KVLl6Re479+/TpatGiBLl26iPsGDhyIGTNmiNsaGhri1zk5OWjTpg1MTU1x7tw5JCcno3fv3lBWVsbs2bNLNFYiIiKqmIqUEM2cORMdO3ZE06ZNoaWlhU2bNkFFRUUs37BhA1q2bFmiARoZGUltz507FzY2NmjatKm4T0NDA6ampgUef+TIEdy8eRNHjx6FiYkJXFxcMHPmTEyYMAHBwcFS8RMREZF8KlKXmaGhIU6fPo0XL17gxYsX6NChg1T59u3bMW3atBIN8GPv37/H5s2b0a9fP0gkEnF/WFgYDA0NUatWLUyaNAkZGRliWWRkJGrXri019snHxwdpaWlSb8x9LDMzE2lpaVIfIiIi+nYVay0zXV3dAvfr6+t/VTBfsnv3brx8+RIBAQHivh9++AGWlpYwNzfHtWvXMGHCBMTHx2PXrl0AgJSUFKlkCIC4nZKSUuB55syZg+nTp5fORRAREVG5U6yESFbWr18PX19fmJubi/sGDRokfl27dm2YmZnBy8sLCQkJxR7PNGnSJIwePVrcTktLg4WFRfEDJyIionKtwiRE9+/fx9GjR8UnP5/i7u4OALh79y5sbGxgamqKixcvStV5/PgxAHxy3JGqqipUVVVLIGoiIiKqCIo0hkiWQkNDYWxsjDZt2ny2XkxMDADAzMwMAODh4YHY2FikpqaKdcLDw6Gjo4OaNWuWWrxERERUcVSIJ0S5ubkIDQ1Fnz59oKT0/yEnJCRgy5YtaN26NQwMDHDt2jWMGjUKTZo0gZOTEwCgZcuWqFmzJnr16oX58+cjJSUFkydPRmBgIJ8CEREREYAKkhAdPXoUSUlJ6Nevn9R+FRUVHD16FCEhIXjz5g0sLCzQqVMnTJ48WayjqKiIffv2YejQofDw8ICmpib69OkjNW8RERERybcKkRC1bNkSgiDk229hYYFTp0598XhLS0scOHCgNEIjIiKib0CFGUNEREREVFqYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3KsQS3cQUfHExcXJOoR8DA0NUbVqVVmHQUQkhQkR0TcoJ/0FIJGgZ8+esg4lHzV1DcTfimNSRETlChMiom9QbmY6IAgwaDsGygYWsg5HlPXsAZ7tW4SnT58yISKicoUJEdE3TNnAAqqm1WUdBhFRucdB1URERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyr1wnRMHBwZBIJFIfe3t7sfzdu3cIDAyEgYEBtLS00KlTJzx+/FiqjaSkJLRp0wYaGhowNjbGuHHjkJ2dXdaXQkREROWYkqwD+BJHR0ccPXpU3FZS+v+QR40ahf3792P79u3Q1dVFUFAQOnbsiIiICABATk4O2rRpA1NTU5w7dw7Jycno3bs3lJWVMXv27DK/FiIiIiqfyn1CpKSkBFNT03z7X716hfXr12PLli1o3rw5ACA0NBQODg44f/48GjRogCNHjuDmzZs4evQoTExM4OLigpkzZ2LChAkIDg6GiopKWV8OERERlUPlussMAO7cuQNzc3NUq1YN/v7+SEpKAgBERUUhKysL3t7eYl17e3tUrVoVkZGRAIDIyEjUrl0bJiYmYh0fHx+kpaXhxo0bnzxnZmYm0tLSpD5ERET07SrXCZG7uzs2btyIQ4cOYfXq1bh37x4aN26M169fIyUlBSoqKtDT05M6xsTEBCkpKQCAlJQUqWQorzyv7FPmzJkDXV1d8WNhYVGyF0ZERETlSrnuMvP19RW/dnJygru7OywtLbFt2zaoq6uX2nknTZqE0aNHi9tpaWlMioiIiL5h5foJ0X/p6emhRo0auHv3LkxNTfH+/Xu8fPlSqs7jx4/FMUempqb53jrL2y5oXFIeVVVV6OjoSH2IiIjo21WhEqL09HQkJCTAzMwMbm5uUFZWxrFjx8Ty+Ph4JCUlwcPDAwDg4eGB2NhYpKaminXCw8Oho6ODmjVrlnn8REREVD6V6y6zsWPHol27drC0tMSjR48wbdo0KCoqokePHtDV1UX//v0xevRo6OvrQ0dHB8OGDYOHhwcaNGgAAGjZsiVq1qyJXr16Yf78+UhJScHkyZMRGBgIVVVVGV8dERERlRflOiH6999/0aNHDzx79gxGRkb47rvvcP78eRgZGQEAlixZAgUFBXTq1AmZmZnw8fHBqlWrxOMVFRWxb98+DB06FB4eHtDU1ESfPn0wY8YMWV0SERERlUPlOiHaunXrZ8vV1NSwcuVKrFy58pN1LC0tceDAgZIOjYiIiL4hFWoMEREREVFpYEJEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPfKdUI0Z84c1KtXD9ra2jA2Noafnx/i4+Ol6nh6ekIikUh9hgwZIlUnKSkJbdq0gYaGBoyNjTFu3DhkZ2eX5aUQERFROaYk6wA+59SpUwgMDES9evWQnZ2Nn376CS1btsTNmzehqakp1hs4cCBmzJghbmtoaIhf5+TkoE2bNjA1NcW5c+eQnJyM3r17Q1lZGbNnzy7T6yEiIqLyqVwnRIcOHZLa3rhxI4yNjREVFYUmTZqI+zU0NGBqalpgG0eOHMHNmzdx9OhRmJiYwMXFBTNnzsSECRMQHBwMFRWVUr0GIiIiKv/KdZfZf7169QoAoK+vL7U/LCwMhoaGqFWrFiZNmoSMjAyxLDIyErVr14aJiYm4z8fHB2lpabhx40aB58nMzERaWprUh4iIiL5d5foJ0cdyc3MxcuRINGrUCLVq1RL3//DDD7C0tIS5uTmuXbuGCRMmID4+Hrt27QIApKSkSCVDAMTtlJSUAs81Z84cTJ8+vZSuhIiIiMqbCpMQBQYG4vr16zh79qzU/kGDBolf165dG2ZmZvDy8kJCQgJsbGyKda5JkyZh9OjR4nZaWhosLCyKFzgRERGVexWiyywoKAj79u3DiRMnUKVKlc/WdXd3BwDcvXsXAGBqaorHjx9L1cnb/tS4I1VVVejo6Eh9iIiI6NtVrhMiQRAQFBSEv/76C8ePH4e1tfUXj4mJiQEAmJmZAQA8PDwQGxuL1NRUsU54eDh0dHRQs2bNUombiIiIKpZy3WUWGBiILVu24O+//4a2trY45kdXVxfq6upISEjAli1b0Lp1axgYGODatWsYNWoUmjRpAicnJwBAy5YtUbNmTfTq1Qvz589HSkoKJk+ejMDAQKiqqsry8oiIiKicKNcJ0erVqwF8mHzxY6GhoQgICICKigqOHj2KkJAQvHnzBhYWFujUqRMmT54s1lVUVMS+ffswdOhQeHh4QFNTE3369JGat4iIylZcXJysQ5BiaGiI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" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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iL5Ncp0QNW7cGImJiVL7bt++DSsrKwDvB1ibmZkhKipKLM/IyMCFCxfg6ekJAPD09ERaWhpiY2PFOseOHUN+fj4aNGhQAVdBRERE8k6u3zIbPXo0GjVqhFmzZqFbt264ePEifvvtN/z2228AAIlEglGjRmHmzJmws7ODjY0Npk6dCnNzc3To0AHA+ydKrVu3FrvacnJyEBwcjB49evANMyIiIgIg5wlRvXr1sHPnTkyePBlhYWGwsbFBeHg4AgICxDoTJkzA69evMXjwYKSlpeG7777DwYMHoaGhIdbZtGkTgoOD4e3tDSUlJXTu3BlLliyRxSURERGRHJLrhAgA2rVrh3bt2n20XCKRICwsDGFhYR+tY2BggM2bN5dHeERERPQNkOsxREREREQVgQkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPC+qoRozpw5kEgkGDVqlLjv3bt3CAoKgqGhIXR0dNC5c2c8ffpU6rikpCS0bdsWWlpaMDExwfjx45Gbm1vB0RMREZG8+moSopiYGKxevRouLi5S+0ePHo09e/Zg27ZtOHnyJJ48eYJOnTqJ5Xl5eWjbti2ys7Nx7tw5rF+/HpGRkQgJCanoSyAiIiI59VUkRJmZmQgICMCaNWtQuXJlcX96ejp+//13LFy4EC1atICHhwciIiJw7tw5nD9/HgBw+PBh3LhxAxs3boSbmxv8/PwwY8YMLF++HNnZ2bK6JCIiIpIjX0VCFBQUhLZt28LHx0dqf2xsLHJycqT2Ozg4wNLSEtHR0QCA6Oho1K5dG6ampmIdX19fZGRk4Pr16x89Z1ZWFjIyMqQ+RERE9G1SkXUAn7NlyxbExcUhJiamUFlKSgrU1NSgr68vtd/U1BQpKSlinQ+ToYLygrKPmT17NqZPn/6F0RMREdHXQK6fED169AgjR47Epk2boKGhUaHnnjx5MtLT08XPo0ePKvT8REREVHHkOiGKjY1Famoq6tSpAxUVFaioqODkyZNYsmQJVFRUYGpqiuzsbKSlpUkd9/TpU5iZmQEAzMzMCr11VrBdUKco6urq0NXVlfoQERHRt0muEyJvb28kJCQgPj5e/NStWxcBAQHiz6qqqoiKihKPSUxMRFJSEjw9PQEAnp6eSEhIQGpqqljnyJEj0NXVhZOTU4VfExEREckfuR5DVKlSJdSqVUtqn7a2NgwNDcX9gYGBGDNmDAwMDKCrq4vhw4fD09MTDRs2BAC0atUKTk5O6N27N+bNm4eUlBRMmTIFQUFBUFdXr/BrIiIiIvkj1wlRcSxatAhKSkro3LkzsrKy4OvrixUrVojlysrK2Lt3L4YNGwZPT09oa2ujb9++CAsLk2HUREREJE++uoToxIkTUtsaGhpYvnw5li9f/tFjrKyssH///nKOjIiIiL5Wcj2GiIiIiKgiMCEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIiIiIoXHhIiIiIgUHhMiIiIiUnhMiIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIiIiIoXHhIiIiIgUHhMiIiIiUnhMiIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFJ7cJ0SzZ89GvXr1UKlSJZiYmKBDhw5ITEyUqvPu3TsEBQXB0NAQOjo66Ny5M54+fSpVJykpCW3btoWWlhZMTEwwfvx45ObmVuSlEBERkZxSkXUAn3Py5EkEBQWhXr16yM3NxU8//YRWrVrhxo0b0NbWBgCMHj0a+/btw7Zt26Cnp4fg4GB06tQJZ8+eBQDk5eWhbdu2MDMzw7lz55CcnIw+ffpAVVUVs2bNkuXlERF9lW7evCnrEL4KRkZGsLS0lHUYVAxynxAdPHhQajsyMhImJiaIjY1F06ZNkZ6ejt9//x2bN29GixYtAAARERFwdHTE+fPn0bBhQxw+fBg3btzA0aNHYWpqCjc3N8yYMQMTJ05EaGgo1NTUZHFpRERfnbzMl4BEgl69esk6lK+ChqYWEm/dZFL0FZD7hOi/0tPTAQAGBgYAgNjYWOTk5MDHx0es4+DgAEtLS0RHR6Nhw4aIjo5G7dq1YWpqKtbx9fXFsGHDcP36dbi7uxc6T1ZWFrKyssTtjIyM8rokIqKvRn5WJiAIMGw3FqqGFrIOR67lPH+E53sX4N9//2VC9BX4qhKi/Px8jBo1Co0bN0atWrUAACkpKVBTU4O+vr5UXVNTU6SkpIh1PkyGCsoLyooye/ZsTJ8+vYyvgIjo26BqaAF1sxqyDoOozMj9oOoPBQUF4dq1a9iyZUu5n2vy5MlIT08XP48ePSr3cxIREZFsfDVPiIKDg7F3716cOnUK1apVE/ebmZkhOzsbaWlpUk+Jnj59CjMzM7HOxYsXpdoreAutoM5/qaurQ11dvYyvgoiIiOSR3D8hEgQBwcHB2LlzJ44dOwYbGxupcg8PD6iqqiIqKkrcl5iYiKSkJHh6egIAPD09kZCQgNTUVLHOkSNHoKurCycnp4q5ECIiIpJbcv+EKCgoCJs3b8Zff/2FSpUqiWN+9PT0oKmpCT09PQQGBmLMmDEwMDCArq4uhg8fDk9PTzRs2BAA0KpVKzg5OaF3796YN28eUlJSMGXKFAQFBfEpEBEREcl/QrRy5UoAgJeXl9T+iIgI9OvXDwCwaNEiKCkpoXPnzsjKyoKvry9WrFgh1lVWVsbevXsxbNgweHp6QltbG3379kVYWFhFXQYRERHJMblPiARB+GwdDQ0NLF++HMuXL/9oHSsrK+zfv78sQyMiIqJvhNyPISIiIiIqb0yIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIiIiIoXHhIiIiIgUHhMiIiIiUnhMiIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIiIiIoXHhIiIiIgUHhMiIiIiUnhMiIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4SlUQrR8+XJYW1tDQ0MDDRo0wMWLF2UdEhEREckBhUmI/u///g9jxozBtGnTEBcXB1dXV/j6+iI1NVXWoREREZGMKUxCtHDhQgwaNAj9+/eHk5MTVq1aBS0tLaxbt07WoREREZGMqcg6gIqQnZ2N2NhYTJ48WdynpKQEHx8fREdHyzAyIiL61t28eVPWIXwVjIyMYGlpKbPzK0RC9O+//yIvLw+mpqZS+01NTXHr1q0ij8nKykJWVpa4nZ6eDgDIyMgo09gyMzPfny/lLvKz35Vp29+anOePAPBeFQfvVcnwfhUf71XxZT15nwj16tVLxpF8HdQ1NBF7KQYWFhZl2m7B97YgCJ+uKCiAx48fCwCEc+fOSe0fP368UL9+/SKPmTZtmgCAH3744Ycffvj5Bj6PHj36ZK6gEE+IjIyMoKysjKdPn0rtf/r0KczMzIo8ZvLkyRgzZoy4nZ+fjxcvXsDQ0BASiaTMYsvIyICFhQUePXoEXV3dMmv3W8R7VXy8VyXD+1V8vFfFx3tVfOV5rwRBwKtXr2Bubv7JegqREKmpqcHDwwNRUVHo0KEDgPcJTlRUFIKDg4s8Rl1dHerq6lL79PX1yy1GXV1d/gdTTLxXxcd7VTK8X8XHe1V8vFfFV173Sk9P77N1FCIhAoAxY8agb9++qFu3LurXr4/w8HC8fv0a/fv3l3VoREREJGMKkxB1794dz549Q0hICFJSUuDm5oaDBw8WGmhNREREikdhEiIACA4O/mgXmayoq6tj2rRphbrnqDDeq+LjvSoZ3q/i470qPt6r4pOHeyURhM+9h0ZERET0bVOYmaqJiIiIPoYJERERESk8JkRERESk8JgQERERkcJjQiQjs2fPRr169VCpUiWYmJigQ4cOSExMlHVYcmnlypVwcXERJ+zy9PTEgQMHZB3WV2HOnDmQSCQYNWqUrEORO6GhoZBIJFIfBwcHWYcltx4/foxevXrB0NAQmpqaqF27Ni5duiTrsOSStbV1ob8tiUSCoKAgWYcmd/Ly8jB16lTY2NhAU1MTtra2mDFjxufXHSsHCvXavTw5efIkgoKCUK9ePeTm5uKnn35Cq1atcOPGDWhra8s6PLlSrVo1zJkzB3Z2dhAEAevXr0f79u1x+fJlODs7yzo8uRUTE4PVq1fDxcVF1qHILWdnZxw9elTcVlHh/yUW5eXLl2jcuDGaN2+OAwcOwNjYGHfu3EHlypVlHZpciomJQV5enrh97do1tGzZEl27dpVhVPJp7ty5WLlyJdavXw9nZ2dcunQJ/fv3h56eHkaMGFGhsfC1eznx7NkzmJiY4OTJk2jatKmsw5F7BgYG+PXXXxEYGCjrUORSZmYm6tSpgxUrVmDmzJlwc3NDeHi4rMOSK6Ghodi1axfi4+NlHYrcmzRpEs6ePYvTp0/LOpSv0qhRo7B3717cuXOnTNfC/Ba0a9cOpqam+P3338V9nTt3hqamJjZu3FihsbDLTE6kp6cDeP9FTx+Xl5eHLVu24PXr1/D09JR1OHIrKCgIbdu2hY+Pj6xDkWt37tyBubk5qlevjoCAACQlJck6JLm0e/du1K1bF127doWJiQnc3d2xZs0aWYf1VcjOzsbGjRsxYMAAJkNFaNSoEaKionD79m0AwJUrV3DmzBn4+flVeCx8PiwH8vPzMWrUKDRu3Bi1atWSdThyKSEhAZ6ennj37h10dHSwc+dOODk5yTosubRlyxbExcUhJiZG1qHItQYNGiAyMhL29vZITk7G9OnT0aRJE1y7dg2VKlWSdXhy5e+//8bKlSsxZswY/PTTT4iJicGIESOgpqaGvn37yjo8ubZr1y6kpaWhX79+sg5FLk2aNAkZGRlwcHCAsrIy8vLy8MsvvyAgIKDigxFI5oYOHSpYWVkJjx49knUocisrK0u4c+eOcOnSJWHSpEmCkZGRcP36dVmHJXeSkpIEExMT4cqVK+K+Zs2aCSNHjpRdUF+Jly9fCrq6usLatWtlHYrcUVVVFTw9PaX2DR8+XGjYsKGMIvp6tGrVSmjXrp2sw5Bbf/zxh1CtWjXhjz/+EK5evSps2LBBMDAwECIjIys8Fj4hkrHg4GDs3bsXp06dQrVq1WQdjtxSU1NDjRo1AAAeHh6IiYnB4sWLsXr1ahlHJl9iY2ORmpqKOnXqiPvy8vJw6tQpLFu2DFlZWVBWVpZhhPJLX18fNWvWxN27d2UditypUqVKoSeyjo6O2L59u4wi+jo8fPgQR48exY4dO2QditwaP348Jk2ahB49egAAateujYcPH2L27NkV/vSRCZGMCIKA4cOHY+fOnThx4gRsbGxkHdJXJT8/H1lZWbIOQ+54e3sjISFBal///v3h4OCAiRMnMhn6hMzMTNy7dw+9e/eWdShyp3HjxoWmBbl9+zasrKxkFNHXISIiAiYmJmjbtq2sQ5Fbb968gZKS9HBmZWVl5OfnV3gsTIhkJCgoCJs3b8Zff/2FSpUqISUlBQCgp6cHTU1NGUcnXyZPngw/Pz9YWlri1atX2Lx5M06cOIFDhw7JOjS5U6lSpULj0LS1tWFoaMjxaf8xbtw4+Pv7w8rKCk+ePMG0adOgrKyMnj17yjo0uTN69Gg0atQIs2bNQrdu3XDx4kX89ttv+O2332QdmtzKz89HREQE+vbty+kcPsHf3x+//PILLC0t4ezsjMuXL2PhwoUYMGBAxQdT4Z10JAiCIAAo8hMRESHr0OTOgAEDBCsrK0FNTU0wNjYWvL29hcOHD8s6rK8GxxAVrXv37kKVKlUENTU1oWrVqkL37t2Fu3fvyjosubVnzx6hVq1agrq6uuDg4CD89ttvsg5Jrh06dEgAICQmJso6FLmWkZEhjBw5UrC0tBQ0NDSE6tWrCz///LOQlZVV4bFwHiIiIiJSeJyHiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIqJPunXrFho2bAgNDQ24ubnJLA5ra2uEh4dX2PkkEgl27dpVYecrb5GRkdDX15d1GERyiwkR0Tfi2bNnUFNTw+vXr5GTkwNtbW0kJSV9cbvTpk2DtrY2EhMTERUVVWSdfv36oUOHDl98rk+JiYnB4MGDv7id69evo1u3bjA2Noa6ujpq1qyJkJAQvHnzpgyilA9FJY/du3fH7du3ZRMQ0VeACRHRNyI6Ohqurq7Q1tZGXFwcDAwMYGlp+cXt3rt3D9999x2srKxgaGhYBpGWjrGxMbS0tL6ojfPnz6NBgwbIzs7Gvn37cPv2bfzyyy+IjIxEy5YtkZ2dXUbRllx5n1tTUxMmJibleg6irxkTIqJvxLlz59C4cWMAwJkzZ8SfPyU/Px9hYWGoVq0a1NXV4ebmhoMHD4rlEokEsbGxCAsLg0QiQWhoaKliO3nyJOrXrw91dXVUqVIFkyZNQm5urlj+6tUrBAQEQFtbG1WqVMGiRYvg5eWFUaNGiXX++9RDIpFg7dq16NixI7S0tGBnZ4fdu3d/NAZBEBAYGAhHR0fs2LED9evXh5WVFbp27Yo9e/YgOjoaixYtkjomOTkZfn5+0NTURPXq1fHnn3+KZdnZ2QgODkaVKlWgoaEBKysrzJ49WyxPS0vDwIEDYWxsDF1dXbRo0QJXrlwRy0NDQ+Hm5oa1a9fCxsYGGhoa+O2332Bubl5ope/27duLi13eu3cP7du3h6mpKXR0dFCvXj0cPXpUrOvl5YWHDx9i9OjRkEgkkEgkAIruMlu5ciVsbW2hpqYGe3t7/O9//5Mq/9w9fvnyJQICAmBsbAxNTU3Y2dkhIiLio78DIrlW4aunEVGZefjwoaCnpyfo6ekJqqqqgoaGhqCnpyeoqakJ6urqgp6enjBs2LCPHr9w4UJBV1dX+OOPP4Rbt24JEyZMEFRVVYXbt28LgiAIycnJgrOzszB27FghOTlZePXqVZHt9O3bV2jfvn2RZf/884+gpaUl/Pjjj8LNmzeFnTt3CkZGRsK0adPEOgMHDhSsrKyEo0ePCgkJCULHjh2FSpUqSS1Ka2VlJSxatEjcBiBUq1ZN2Lx5s3Dnzh1hxIgRgo6OjvD8+fMi44iLixMACJs3by6yvGXLloKrq6tU+4aGhsKaNWuExMREYcqUKYKysrJw48YNQRAE4ddffxUsLCyEU6dOCQ8ePBBOnz4t1baPj4/g7+8vxMTECLdv3xbGjh0rGBoaivFNmzZN0NbWFlq3bi3ExcUJV65cEV68eCGoqakJR48eFdt5/vy51L74+Hhh1apVQkJCgnD79m1hypQpgoaGhvDw4UOxfrVq1YSwsDAhOTlZSE5OFgRBECIiIgQ9PT2x3R07dgiqqqrC8uXLhcTERGHBggWCsrKycOzYsWLf46CgIMHNzU2IiYkR7t+/Lxw5ckTYvXt3kfeXSN4xISL6iuXk5Aj3798Xrly5IqiqqgpXrlwR7t69K+jo6AgnT54U7t+/Lzx79uyjx5ubmwu//PKL1L569eoJP/74o7jt6uoqlbwU5VMJ0U8//STY29sL+fn54r7ly5cLOjo6Ql5enpCRkSGoqqoK27ZtE8vT0tIELS2tzyZEU6ZMEbczMzMFAMKBAweKjGPLli0CAOHy5ctFlo8YMULQ1NSUan/o0KFSdRo0aCAmmMOHDxdatGghdV0FTp8+Lejq6grv3r2T2m9rayusXr1aEIT3CZGqqqqQmpoqVad9+/bCgAEDxO3Vq1cL5ubmQl5eXpFxC4IgODs7C0uXLhW3/3uvBKFwQtSoUSNh0KBBUnW6du0qtGnTRtz+3D329/cX+vfv/9G4iL4m7DIj+oqpqKjA2toat27dQr169eDi4oKU/6+d+wtpqo3jAP7daK61OWVmnWmyoba1LJv/BiMpQr0IEjPDrAUKXvXHLsr1Byqj7mKZF9WFIUI4TEy7KBekF6Is+wN1DMbyQpcRYl0Ek3khc/3ei3B03vWavq+9Fvt94MDOeZ5n57dnMH6c5/dsehobN27Erl27YDQasX79+h+OnZmZwdTUVMzS2s6dO+H3+1csRr/fD7vdHl26WbhHKBTCx48fMTExgXA4DJvNFm1PSkqC2Wz+6Xvn5uZGX6vVami1Wnz+/HnRMUS05NjtdnvM+cLc1NXVQRRFmM1mnDp1Ck+fPo32Gx0dRSgUQkpKCjQaTfQIBAIYHx+P9jMYDEhNTZXcw+FwoKenB3NzcwAAt9uNmpoayOXffq5DoRAaGxthsViQnJwMjUYDv9+/7AJ6v9+/pO9+sTk+duwY7t+/D6vVirNnz+LZs2fLioGx38ma1Q6AMfbv5eTkYHJyEuFwGF+/foVGo8H8/Dzm5+eh0WhgMBjg8/lWO8xfRqFQSM5lMllM/c0Ck8kE4FsikJeXF9Pu9/ujfZYiPz8fgUAAT548wcDAAKqrq1FaWooHDx4gFApBr9djcHAwZtz3dTxqtTqmvby8HESEvr4+FBUVYXh4WFLb1NjYiP7+frhcLmRnZ0OlUuHgwYO/rCh7sTneu3cvJicn4fF40N/fj5KSEpw4cQIul+uXxMLYr8RPiBj7g3k8HoiiCEEQ0NHRAVEUsW3bNrS0tEAURXg8nn8cq9VqkZaWBq/XK7nu9XqxdevWFYvRYrFgZGRE8mTG6/UiMTERmzZtQmZmJhQKBV69ehVtDwaDK75F3Gq1YsuWLbh582ZM0jQ6OoqBgQEcPnxYcv358+cx5xaLJXqu1Wpx6NAh3L17F11dXejp6cGXL1+Qn5+P6elprFmzBtnZ2ZLjn57YLVi7di0OHDgAt9uNzs5OmM1m5OfnR9u9Xi/q6upQWVmJ7du3QxAEvH//XvIeCQkJiEQii97HYrGsyHefmpqK2tpadHR0oKWlBa2trcsaz9jvgp8QMfYHMxgMmJ6exqdPn1BRUQGZTAafz4eqqiro9fqfjnc6nWhqakJWVhasViva29shiiLcbveyYwkGgxBFUXItJSUFx48fR0tLCxoaGnDy5EmMjY2hqakJp0+fhlwuR2JiImpra+F0OqHT6bBhwwY0NTVBLpdLltn+K5lMhra2NpSVlaGqqgoXLlyAIAh48eIFzpw5A7vdLtnVBgDd3d0oLCxEcXEx3G43Xr58iba2NgBAc3Mz9Ho98vLyIJfL0d3dDUEQkJycjNLSUtjtduzfvx/Xr1+HyWTC1NQU+vr6UFlZicLCwkVjdTgc2LdvH3w+H44ePSpp27x5M3p7e1FeXg6ZTIZLly7FJHhGoxFDQ0OoqamBUqn8YRLmdDpRXV2NvLw8lJaW4tGjR+jt7ZXsWPuZy5cvo6CgADk5OZibm8Pjx48lCSNjf5RVrmFijP1HnZ2dVFxcTEREQ0NDlJ2dveSxkUiErly5Qunp6aRQKGjHjh0xRclLLaoGEHPU19cTEdHg4CAVFRVRQkICCYJA586do3A4HB0/MzNDR44coXXr1pEgCNTc3Ew2m43Onz8f7fOjouqHDx9K4khKSqL29vZFY3379i1VVVWRTqcjhUJBWVlZdPHiRZqdnZX0A0C3b9+msrIyUiqVZDQaqaurK9re2tpKVquV1Go1abVaKikpodevX0s+U0NDA6WlpZFCoaCMjAxyOBz04cMHIvpWVP39rrbvRSIR0uv1BIDGx8clbYFAgPbs2UMqlYoyMjLo1q1btHv3bkkB+sjICOXm5pJSqaSFn/m/F1UTEd25c4cyMzNJoVCQyWSie/fuxczBYnN87do1slgspFKpSKfTUUVFBU1MTPzwMzH2u5MRLaPCkDHG/gezs7NIT0/HjRs3UF9fv9rhMMbiAC+ZMcZW3Zs3b/Du3TvYbDYEg0FcvXoVwLc/JGSMsf8DJ0SMsd+Cy+XC2NgYEhISUFBQgOHh4Z8WIDPG2ErhJTPGGGOMxT3eds8YY4yxuMcJEWOMMcbiHidEjDHGGIt7nBAxxhhjLO5xQsQYY4yxuMcJEWOMMcbiHidEjDHGGIt7nBAxxhhjLO5xQsQYY4yxuPcX18bKMGh7s44AAAAASUVORK5CYII=" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:48.196341Z", - "start_time": "2025-09-05T15:53:47.760536Z" - } - }, - "cell_type": "code", - "source": [ - "bench_histogram(bench_tower.iterations_to_break, \"Key Logger Tower Shuffle Break\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n", - "bench_histogram(bench_tower.iterations_to_replay, \"Key Logger Tower Shuffle Replay\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))" - ], - "id": "45f35a5d6c875773", - "outputs": [ - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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VcZXR0RERJVFpU6I/v33X/Tp0wdPnz6FkZERmjVrhjNnzsDIyAgAsGjRIigoKKBbt27IysqCt7c3VqxYIR6vqKiIPXv2YPjw4XB3d4empib8/PwQGhoqq0siIiKiSqhSJ0Rbtmz5aLmamhqWL1+O5cuXf7COhYUF9u3bV9ahERER0VfkixpDRERERFQemBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxTknUAREQAEB8fL+sQZMrQ0BA1atSQdRhEcosJERHJVG7Gc0AiQd++fWUdikypqWsg4WY8kyIiGWFCREQylZeVAQgCDDqOh7KBuazDkYnsp/fxdE8Ynjx5woSISEaYEBFRpaBsYA5Vk1qyDoOI5BQHVRMREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JVkHQERE+eLj42UdgswYGhqiRo0asg6D5BgTIiIiGcvNeA5IJOjbt6+sQ5EZNXUNJNyMZ1JEMsOEiIhIxvKyMgBBgEHH8VA2MJd1OBUu++l9PN0ThidPnjAhIplhQkREVEkoG5hD1aSWrMMgkktyNah6+fLlsLS0hJqaGtzc3HDu3DlZh0RERESVgNwkRH/88QfGjRuH4OBgxMXFwcnJCd7e3khLS5N1aERERCRjcpMQLVy4EIMHD8aAAQNQp04drFq1ChoaGli3bp2sQyMiIiIZk4sx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HAxra2s4OzsjPDwcly5dQkRERIljefnyJS5duiS1z8DAAN999x0WL16MkSNHIjAwEAkJCQgODsa4ceOgoKAAbW1t+Pn5YeLEidDX10fVqlURHBwMBQUFqW62zyWRSPDrr7+idevW6NatG6ZOnQoTExOcPXsW48ePh7u7u9RbbQCwbds2NGjQAM2aNUNERATOnTuHX3/9FQCwcOFCmJqawsXFBQoKCti2bRtMTEygp6cHLy8vuLu7w8fHB/Pnz0ft2rXx8OFD7N27F126dEGDBg0+Gquvry86duyI69evo2/fvlJlNjY22LFjBzp16gSJRILp06cXSvAsLS1x4sQJ9O7dG6qqqkUmYRMnTkTPnj3h4uICLy8v/P3339ixY4fUG2ufEhQUBFdXVzg4OCArKwt79uyRShiJvigyHsNERJ/p999/F5o1ayYIgiCcOHFCqFWrVrGPzc3NFUJCQoRq1aoJysrKgpOTU6FBycUdVA2g0CcgIEAQBEE4duyY0LBhQ0FFRUUwMTERJk+eLGRnZ4vHp6enC//73/8EDQ0NwcTERFi4cKHQqFEjYcqUKWKdogZV79y5UyoOXV1dITw8/KOxXrlyRejWrZugr68vKCsrC9bW1sK0adOEV69eSdUDICxfvlxo3bq1oKqqKlhaWgp//PGHWL5mzRrB2dlZ0NTUFHR0dARPT08hLi5O6ppGjhwpmJmZCcrKyoK5ubng6+srJCcnC4KQP6j63bfa3pWbmyuYmpoKAITExESpsrt37wrffPONoK6uLpibmwvLli0TWrZsKTUAPSYmRnB0dBRUVVWFgv/Nvz+oWhAEYcWKFULNmjUFZWVloXbt2sLGjRsL3YOP3eOZM2cK9vb2grq6uqCvry907txZ+Oeff4q8JqLKTiIIJRhhSERUAV69eoVq1aohLCwMAQEBsg6HiOQAu8yISOYuXryImzdvolGjRnj58iVCQ0MB5E9ISERUEZgQEVGlsGDBAiQkJEBFRQWurq44efLkJwcgExGVFXaZERERkdzja/dEREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPf+HzOAkMx4PfImAAAAAElFTkSuQmCC" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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0aPRsmVLWFpa4vnz55g6dSoUFRXRpUsX6Orqok+fPhg5ciT09fWho6ODIUOGwNXVFbVr1wYANG3aFJUqVUL37t0xd+5cxMbGYvLkyfD19YWqqqqMz46IiIiKi2KdED19+hRdunTB69evYWRkhHr16uH8+fMwMjICACxcuBAKCgpo164dUlJS4OHhgeXLl4v7KyoqYt++fRg0aBBcXV2hqamJnj17wt/fX1anRERERMVQsU6ItmzZ8s16NTU1LFu2DMuWLftqG0tLSxw4cKCgQyMiIqIS5KeaQ0RERERUGJgQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPSZEREREJPeYEBEREZHcY0JEREREco8JEREREck9JkREREQk95gQERERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3FOSdQBERETFXUREhKxDKPEMDQ1RtmxZmR2fCREREdFXZCS9BSQSdOvWTdahlHhq6hqIvBMhs6SICREREdFXZKYkAYIAgxajoGxgIetwSqy010/wet98vHr1igkRERFRcaVsYAFV0/KyDoMKESdVExERkdxjQkRERERyjwkRERERyT0mRERERCT3mBARERGR3GNCRERERHKPCRERERHJPblKiJYtWwYrKyuoqanBxcUFFy9elHVIREREVAzITUL0zz//YOTIkZg6dSquXLkCJycneHh4IC4uTtahERERkYzJTUK0YMEC9OvXD7169UKlSpWwcuVKaGhoYN26dbIOjYiIiGRMLhKi1NRUXL58Ge7u7mKZgoIC3N3dERoaKsPIiIiIqDiQi7XMXr16hYyMDJiYmEiVm5iY4M6dO9nap6SkICUlRdxOSEgAACQmJhZ4bElJSZ+OGXsfmakfC7x/+iTt9RMAvM6Fjde5aPA6Fx1e66KR9uYpgE/fiQX5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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-09-05T15:53:48.654324Z", - "start_time": "2025-09-05T15:53:48.200912Z" - } - }, - "cell_type": "code", - "source": [ - "bench_histogram(bench_full.iterations_to_break, \"Key Logger Random Shuffle Break\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n", - "bench_histogram(bench_full.iterations_to_replay, \"Key Logger Random Shuffle Replay\", number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n" - ], - "id": "82464715883ae7fd", - "outputs": [ - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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EREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8Eo0ITp9+jQ6dOgAMzMzyGQy7NmzR65cCIHp06fD1NQUmpqa8PDwwN27d+XqPH/+HF5eXtDV1UX58uXh4+ODlJQUuTrXrl1DkyZNoKGhAXNzcyxcuLCou0ZERERlSIkmRKmpqXB0dMSqVatyLF+4cCGWL1+OtWvX4sKFC9DW1oanpyfevHkj1fHy8sKNGzcQFBSE/fv34/Tp0xgyZIhUnpycjFatWsHCwgJhYWH4+eefMXPmTPzyyy9F3j8iIiIqG1RK8uBt2rRBmzZtciwTQsDf3x9Tp05Fx44dAQC//fYbjI2NsWfPHvTq1Qu3bt3C4cOHcenSJdStWxcAsGLFCrRt2xaLFi2CmZkZtmzZgvT0dGzcuBFqamqwt7dHREQElixZIpc4ERERkeIqtXOIoqOjER8fDw8PD2mbnp4eGjRogNDQUABAaGgoypcvLyVDAODh4QElJSVcuHBBqtO0aVOoqalJdTw9PREVFYUXL14UU2+IiIioNCvRO0S5iY+PBwAYGxvLbTc2NpbK4uPjYWRkJFeuoqKCihUrytWxsrLK1kZWWYUKFbIdOy0tDWlpadLn5OTkL+wNERERlWal9g5RSZo/fz709PSkL3Nz85IOiYiIiIpQqU2ITExMAABPnjyR2/7kyROpzMTEBAkJCXLl7969w/Pnz+Xq5NTGh8f42JQpU5CUlCR9PXz48Ms7RERERKVWqU2IrKysYGJiguDgYGlbcnIyLly4AFdXVwCAq6srEhMTERYWJtU5fvw4MjMz0aBBA6nO6dOn8fbtW6lOUFAQbG1tcxwuAwB1dXXo6urKfREREdHXq0QTopSUFERERCAiIgLA+4nUERERiI2NhUwmg5+fH+bOnYu9e/ciMjIS/fr1g5mZGTp16gQAsLOzQ+vWrTF48GBcvHgRISEh8PX1Ra9evWBmZgYA+O6776CmpgYfHx/cuHEDf/75J5YtW4axY8eWUK+JiIiotCnRSdWXL19G8+bNpc9ZSUr//v0RGBiIiRMnIjU1FUOGDEFiYiK++eYbHD58GBoaGtI+W7Zsga+vL9zd3aGkpISuXbti+fLlUrmenh6OHj2KESNGwMXFBQYGBpg+fTofuSciIiKJTAghSjqI0i45ORl6enpISkri8BllEx4eDhcXF5j094e6SbWSDofyKS3+HuI3+SEsLAx16tQp6XCIqBDl5+93qZ1DRERERFRcmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPCYEBEREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPCZEREREpPBUSjoAAmJjY/Hff/+VdBhUQLdu3SrpEIiI6AsxISphsbGxsK1hhzevX5V0KERERAqLCVEJ+++///Dm9Svotx8HVX3zkg6HCuD1P5eRdGZzSYdBRERfgAlRKaGqbw51k2olHQYVwNtnD0s6BCIi+kKcVE1EREQKjwkRERERKTwmRERERKTwmBARERGRwmNCRERERAqPCREREREpPD52T0QEvnG8rDMwMECVKlVKOgwqw5gQEZFCy0h5Achk6NOnT0mHQl9AQ1MLUbdvMSmiAmNCREQKLTMtBRCCb4svw94+e4hn+xfjv//+Y0JEBcaEiIgIfFs8kaLjpGoiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiIiIlJ4TIiIiIhI4TEhIiIiIoXHhIiIiIgUHhMiIiIiUnhMiIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFJ5CJUSrVq2CpaUlNDQ00KBBA1y8eLGkQyIiIqJSQGESoj///BNjx47FjBkzEB4eDkdHR3h6eiIhIaGkQyMiIqISpjAJ0ZIlSzB48GAMGDAANWvWxNq1a6GlpYWNGzeWdGhERERUwlRKOoDikJ6ejrCwMEyZMkXapqSkBA8PD4SGhpZgZEREVFhu3bpV0iHQFzAwMECVKlVK7PgKkRD9999/yMjIgLGxsdx2Y2Nj3L59O1v9tLQ0pKWlSZ+TkpIAAMnJyYUeW0pKyvtjxt9DZvqbQm+fit7bZw8B8BqWVbx+ZV/a4/eJUJ8+fUo4EvoS6hqaCLt8Cebm5oXWZtbfbSHEZ+sqREKUX/Pnz8esWbOybS/Mi/SxF0dWFlnbVDx4Dcs2Xj+ikpX25jVq1apVJG2/fPkSenp6udZRiITIwMAAysrKePLkidz2J0+ewMTEJFv9KVOmYOzYsdLnzMxMPH/+HPr6+pDJZIUaW3JyMszNzfHw4UPo6uoWatulwdfeP+Dr7yP7V/Z97X1k/8q+ouqjEAIvX76EmZnZZ+sqREKkpqYGFxcXBAcHo1OnTgDeJznBwcHw9fXNVl9dXR3q6upy28qXL1+kMerq6n61P+jA198/4OvvI/tX9n3tfWT/yr6i6OPn7gxlUYiECADGjh2L/v37o27duqhfvz78/f2RmpqKAQMGlHRoREREVMIUJiHq2bMnnj59iunTpyM+Ph5OTk44fPhwtonWREREpHgUJiECAF9f3xyHyEqSuro6ZsyYkW2I7mvxtfcP+Pr7yP6VfV97H9m/sq809FEm8vIsGhEREdFXTGHeVE1ERET0KUyIiIiISOExISIiIiKFx4SIiIiIFB4ToiK0Zs0aODg4SC+acnV1xaFDh3LdZ8eOHahRowY0NDRQu3ZtHDx4sJiizb/89i8wMBAymUzuS0NDoxgj/jILFiyATCaDn59frvXK0jX8WF76WNau48yZM7PFW6NGjVz3KUvXML/9K2vXDwAePXqEPn36QF9fH5qamqhduzYuX76c6z4nT55EnTp1oK6ujmrVqiEwMLB4gi2A/Pbv5MmT2a6hTCZDfHx8MUadd5aWljnGO2LEiE/uUxK/g0yIilDlypWxYMEChIWF4fLly2jRogU6duyIGzdu5Fj/3Llz6N27N3x8fHDlyhV06tQJnTp1wvXr14s58rzJb/+A928hjYuLk74ePHhQjBEX3KVLl7Bu3To4ODjkWq+sXcMP5bWPQNm7jvb29nLxnj179pN1y+I1zE//gLJ1/V68eIHGjRtDVVUVhw4dws2bN7F48WJUqFDhk/tER0ejXbt2aN68OSIiIuDn54dBgwbhyJEjxRh53hSkf1mioqLkrqORkVExRJx/ly5dkoszKCgIANC9e/cc65fY76CgYlWhQgWxfv36HMt69Ogh2rVrJ7etQYMGYujQocURWqHIrX8BAQFCT0+veAMqBC9fvhQ2NjYiKChINGvWTIwePfqTdcvqNcxPH8vadZwxY4ZwdHTMc/2ydg3z27+ydv0mTZokvvnmm3ztM3HiRGFvby+3rWfPnsLT07MwQysUBenfiRMnBADx4sWLogmqiI0ePVpYW1uLzMzMHMtL6neQd4iKSUZGBrZt24bU1FS4urrmWCc0NBQeHh5y2zw9PREaGlocIX6RvPQPAFJSUmBhYQFzc/PP3k0qLUaMGIF27dpluzY5KavXMD99BMredbx79y7MzMxQtWpVeHl5ITY29pN1y+I1zE//gLJ1/fbu3Yu6deuie/fuMDIygrOzM3799ddc9ylL17Ag/cvi5OQEU1NTtGzZEiEhIUUcaeFIT0/H5s2bMXDgwE8ull5S148JURGLjIyEjo4O1NXVMWzYMPz111+oWbNmjnXj4+OzLSVibGxcaseFgfz1z9bWFhs3bsTff/+NzZs3IzMzE40aNcK///5bzFHn3bZt2xAeHo758+fnqX5ZvIb57WNZu44NGjRAYGAgDh8+jDVr1iA6OhpNmjTBy5cvc6xf1q5hfvtX1q7fP//8gzVr1sDGxgZHjhzB8OHDMWrUKGzatOmT+3zqGiYnJ+P169dFHXK+FKR/pqamWLt2LXbt2oVdu3bB3Nwcbm5uCA8PL8bIC2bPnj1ITEyEt7f3J+uU2O9gkd5/IpGWlibu3r0rLl++LCZPniwMDAzEjRs3cqyrqqoqtm7dKrdt1apVwsjIqDhCLZD89O9j6enpwtraWkydOrWIoyyY2NhYYWRkJK5evSpt+9xwUlm7hgXp48dK+3X82IsXL4Suru4nh3bL2jX82Of697HSfv1UVVWFq6ur3LaRI0eKhg0bfnIfGxsbMW/ePLltBw4cEADEq1eviiTOgipI/3LStGlT0adPn8IMrUi0atVKtG/fPtc6JfU7yDtERUxNTQ3VqlWDi4sL5s+fD0dHRyxbtizHuiYmJnjy5InctidPnsDExKQ4Qi2Q/PTvY6qqqnB2dsa9e/eKOMqCCQsLQ0JCAurUqQMVFRWoqKjg1KlTWL58OVRUVJCRkZFtn7J2DQvSx4+V9uv4sfLly6N69eqfjLesXcOPfa5/Hyvt18/U1DTbXWc7O7tchwU/dQ11dXWhqalZJHEWVEH6l5P69euX2muY5cGDBzh27BgGDRqUa72S+h1kQlTMMjMzkZaWlmOZq6srgoOD5bYFBQXlOientMmtfx/LyMhAZGQkTE1NiziqgnF3d0dkZCQiIiKkr7p168LLywsRERFQVlbOtk9Zu4YF6ePHSvt1/FhKSgru37//yXjL2jX82Of697HSfv0aN26MqKgouW137tyBhYXFJ/cpS9ewIP3LSURERKm9hlkCAgJgZGSEdu3a5VqvxK5fkd5/UnCTJ08Wp06dEtHR0eLatWti8uTJQiaTiaNHjwohhOjbt6+YPHmyVD8kJESoqKiIRYsWiVu3bokZM2YIVVVVERkZWVJdyFV++zdr1ixx5MgRcf/+fREWFiZ69eolNDQ08jzEVhp8PJxU1q9hTj7Xx7J2HceNGydOnjwpoqOjRUhIiPDw8BAGBgYiISFBCFH2r2F++1fWrt/FixeFioqK+PHHH8Xdu3fFli1bhJaWlti8ebNUZ/LkyaJv377S53/++UdoaWmJCRMmiFu3bolVq1YJZWVlcfjw4ZLoQq4K0r+lS5eKPXv2iLt374rIyEgxevRooaSkJI4dO1YSXciTjIwMUaVKFTFp0qRsZaXld5AJUREaOHCgsLCwEGpqasLQ0FC4u7tLyYIQ7//w9O/fX26f7du3i+rVqws1NTVhb28vDhw4UMxR511+++fn5yeqVKki1NTUhLGxsWjbtq0IDw8vgcgL7uNkoaxfw5x8ro9l7Tr27NlTmJqaCjU1NVGpUiXRs2dPce/ePam8rF/D/PavrF0/IYTYt2+fqFWrllBXVxc1atQQv/zyi1x5//79RbNmzeS2nThxQjg5OQk1NTVRtWpVERAQUHwB51N++/fTTz8Ja2troaGhISpWrCjc3NzE8ePHiznq/Dly5IgAIKKiorKVlZbfQZkQQhTtPSgiIiKi0o1ziIiIiEjhMSEiIiIihceEiIiIiBQeEyIiIiJSeEyIiIiISOExISIiIiKFx4SIiIiIFB4TIiLK1e3bt9GwYUNoaGjAycmpxOKwtLSEv79/sR1PJpNhz549xXa8ohYYGIjy5cuXdBhEpRYTIqKvxNOnT6GmpobU1FS8ffsW2tra+V4gMiczZsyAtrY2oqKisq0vlMXb2xudOnX64mPl5tKlSxgyZMgXt3Pjxg306NEDhoaGUFdXR/Xq1TF9+nS8evWqEKIsHXJKHnv27Ik7d+6UTEBEZQATIqKvRGhoKBwdHaGtrY3w8HBUrFgRVapU+eJ279+/j2+++QYWFhbQ19cvhEgLxtDQEFpaWl/Uxvnz59GgQQOkp6fjwIEDuHPnDn788UcEBgaiZcuWSE9PL6Ro86+oj62pqQkjI6MiPQZRWcaEiOgrce7cOTRu3BgAcPbsWen73GRmZmL27NmoXLky1NXV4eTkhMOHD0vlMpkMYWFhmD17NmQyGWbOnFmg2E6dOoX69etDXV0dpqammDx5Mt69eyeVv3z5El5eXtDW1oapqSmWLl0KNzc3+Pn5SXU+vushk8mwfv16dO7cGVpaWrCxscHevXs/GYMQAj4+PrCzs8Pu3btRv359WFhYoHv37ti3bx9CQ0OxdOlSuX3i4uLQpk0baGpqomrVqti5c6dUlp6eDl9fX5iamkJDQwMWFhaYP3++VJ6YmIhBgwbB0NAQurq6aNGiBa5evSqVz5w5E05OTli/fj2srKygoaGBX375BWZmZsjMzJSLo2PHjhg4cCCA9wlqx44dYWxsDB0dHdSrVw/Hjh2T6rq5ueHBgwcYM2YMZDIZZDIZgJyHzNasWQNra2uoqanB1tYWv//+u1z5587xixcv4OXlBUNDQ2hqasLGxgYBAQGfvAZEpVqRr5ZGREXmwYMHQk9PT+jp6QlVVVWhoaEh9PT0hJqamlBXVxd6enpi+PDhn9x/yZIlQldXV/zxxx/i9u3bYuLEiUJVVVXcuXNHCCFEXFycsLe3F+PGjRNxcXHi5cuXObbTv39/0bFjxxzL/v33X6GlpSW+//57cevWLfHXX38JAwMDMWPGDKnOoEGDhIWFhTh27JiIjIwUnTt3FuXKlZNbZNbCwkIsXbpU+gxAVK5cWWzdulXcvXtXjBo1Sujo6Ihnz57lGEd4eLgAILZu3ZpjecuWLYWjo6Nc+/r6+uLXX38VUVFRYurUqUJZWVncvHlTCCHEzz//LMzNzcXp06dFTEyMOHPmjFzbHh4eokOHDuLSpUvizp07Yty4cUJfX1+Kb8aMGUJbW1u0bt1ahIeHi6tXr4rnz58LNTU1uVXLnz17JrctIiJCrF27VkRGRoo7d+6IqVOnCg0NDfHgwQOpfuXKlcXs2bNFXFyciIuLE0IIERAQIPT09KR2d+/eLVRVVcWqVatEVFSUWLx4sVBWVpZbJPRz53jEiBHCyclJXLp0SURHR4ugoCCxd+/eHM8vUWnHhIioDHv79q2Ijo4WV69eFaqqquLq1avi3r17QkdHR5w6dUpER0eLp0+ffnJ/MzMz8eOPP8ptq1evnvj++++lz46OjnLJS05yS4j+97//CVtbW5GZmSltW7VqldDR0REZGRkiOTlZqKqqih07dkjliYmJQktL67MJ0dSpU6XPKSkpAoA4dOhQjnFs27ZNABBXrlzJsXzUqFFCU1NTrv1hw4bJ1WnQoIGUYI4cOVK0aNFCrl9Zzpw5I3R1dcWbN2/ktltbW4t169YJId4nRKqqqiIhIUGuTseOHcXAgQOlz+vWrRNmZmYiIyMjx7iFEMLe3l6sWLFC+vzxuRIie0LUqFEjMXjwYLk63bt3F23btpU+f+4cd+jQQQwYMOCTcRGVJRwyIyrDVFRUYGlpidu3b6NevXpwcHBAfHw8jI2N0bRpU1haWsLAwCDHfZOTk/H48eNsQ2uNGzfGrVu3Ci3GW7duwdXVVRq6yTpGSkoK/v33X/zzzz94+/Yt6tevL5Xr6enB1tb2s207ODhI32tra0NXVxcJCQm57iOEyHPsrq6u2T5nnRtvb29ERETA1tYWo0aNwtGjR6V6V69eRUpKCvT19aGjoyN9RUdH4/79+1I9CwsLGBoayh3Dy8sLu3btQlpaGgBgy5Yt6NWrF5SU3v/vOiUlBePHj4ednR3Kly8PHR0d3Lp1K98T6G/dupWna5/bOR4+fDi2bdsGJycnTJw4EefOnctXDESliUpJB0BEBWdvb48HDx7g7du3yMzMhI6ODt69e4d3795BR0cHFhYWuHHjRkmHWWRUVVXlPstksmzzb7JUr14dwPtEwNnZOVv5rVu3pDp5UadOHURHR+PQoUM4duwYevToAQ8PD+zcuRMpKSkwNTXFyZMns+334TwebW3tbOUdOnSAEAIHDhxAvXr1cObMGbm5TePHj0dQUBAWLVqEatWqQVNTE926dSuySdm5neM2bdrgwYMHOHjwIIKCguDu7o4RI0Zg0aJFRRILUVHiHSKiMuzgwYOIiIiAiYkJNm/ejIiICNSqVQv+/v6IiIjAwYMHP7mvrq4uzMzMEBISIrc9JCQENWvWLLQY7ezsEBoaKndnJiQkBOXKlUPlypVRtWpVqKqq4tKlS1J5UlJSoT8i7uTkhBo1amDp0qXZkqarV6/i2LFj6N27t9z28+fPZ/tsZ2cnfdbV1UXPnj3x66+/4s8//8SuXbvw/Plz1KlTB/Hx8VBRUUG1atXkvj51xy6LhoYGunTpgi1btuCPP/6Ara0t6tSpI5WHhITA29sbnTt3Ru3atWFiYoKYmBi5NtTU1JCRkZHrcezs7Arl2hsaGqJ///7YvHkz/P398csvv+Rrf6LSgneIiMowCwsLxMfH48mTJ+jYsSNkMhlu3LiBrl27wtTU9LP7T5gwATNmzIC1tTWcnJwQEBCAiIgIbNmyJd+xJCUlISIiQm6bvr4+vv/+e/j7+2PkyJHw9fVFVFQUZsyYgbFjx0JJSQnlypVD//79MWHCBFSsWBFGRkaYMWMGlJSU5IbZvpRMJsOGDRvQsmVLdO3aFVOmTIGJiQkuXLiAcePGwdXVVe6pNgDYsWMH6tati2+++QZbtmzBxYsXsWHDBgDAkiVLYGpqCmdnZygpKWHHjh0wMTFB+fLl4eHhAVdXV3Tq1AkLFy5E9erV8fjxYxw4cACdO3dG3bp1c43Vy8sL7du3x40bN9CnTx+5MhsbG+zevRsdOnSATCbDtGnTsiV4lpaWOH36NHr16gV1dfUck7AJEyagR48ecHZ2hoeHB/bt24fdu3fLPbH2OdOnT4eLiwvs7e2RlpaG/fv3yyWMRGVKCc9hIqIv9Mcff4hvvvlGCCHE6dOnRbVq1fK8b0ZGhpg5c6aoVKmSUFVVFY6OjtkmJed1UjWAbF8+Pj5CCCFOnjwp6tWrJ9TU1ISJiYmYNGmSePv2rbR/cnKy+O6774SWlpYwMTERS5YsEfXr1xeTJ0+W6uQ0qfqvv/6Si0NPT08EBATkGuu1a9dE165dRcWKFYWqqqqwtrYWU6dOFampqXL1AIhVq1aJli1bCnV1dWFpaSn+/PNPqfyXX34RTk5OQltbW+jq6gp3d3cRHh4u16eRI0cKMzMzoaqqKszNzYWXl5eIjY0VQryfVP3hU20fysjIEKampgKAuH//vlxZdHS0aN68udDU1BTm5uZi5cqVolmzZnIT0ENDQ4WDg4NQV1cXWf+b/3hStRBCrF69WlStWlWoqqqK6tWri99++y3bOcjtHM+ZM0fY2dkJTU1NUbFiRdGxY0fxzz//5NgnotJOJkQ+ZhgSERWD1NRUVKpUCYsXL4aPj09Jh0NECoBDZkRU4q5cuYLbt2+jfv36SEpKwuzZswG8fyEhEVFxYEJERKXCokWLEBUVBTU1Nbi4uODMmTOfnYBMRFRYOGRGRERECo+P3RMREZHCY0JERERECo8JERERESk8JkRERESk8JgQERERkcJjQkREREQKjwkRERERKTwmRERERKTwmBARERGRwvs/wy44MJ94F64AAAAASUVORK5CYII=" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "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TyutW7dWrK2tFWNjY8XJyUlp3769Ehoamum5Z3ZOivJ8Sgl9fX116omHDx8q48aNU8qWLasYGRkpxYoVU+rWravMnj1bSUpKStfmnDlzFEdHR8XY2FipX7++cubMGa32M3rtfsuWLYq7u7tiYmKiODs7K19//bWycuVKBVCuX7+eLsb169crgNKvX79Mz1W8WzSKkgcjEoV4h33yySdERkZmOD4nv0RERFCtWjV++umn104S2apVK86fP5/h+Aoh3gc3btzAxcWFb775Jtefbmbk999/p1WrVhw4cECdAkG8+2QMkRCZiI6OJjg4WF0NPD88efIk3bb58+ejp6dHgwYNMq175coVtm/fnuGSDkKInPnuu+8oXbo0H3zwQX6HInKRjCESIgPXr1/n8OHDrFixAkNDQ/r3759vscyaNYvw8HAaNWqEgYEBO3bsYMeOHfTr1y/dPDilS5emR48elC5dmr///pulS5diZGSU6RgKIUTWrFu3jrNnzxIcHMyCBQteu96beLdIQiREBvbv30/Pnj0pVaoUq1evxt7ePt9iqVu3LiEhIUybNo2EhARKlSrF5MmT+eKLL9LVbdq0KT///DMxMTEYGxvj5eXF9OnTXzkJoxAi6zp16oS5uTm9e/dON3u8ePfJGCIhhBBC6DwZQySEEEIInScJkRBCCCF0nowhyoLU1FRu3bpF4cKFZRCdEEII8Y5QFIWHDx/i4OCQbjHnl0lClAW3bt1K9zaPEEIIId4NN2/epGTJkpnWkYQoC9Km8b958yYWFhb5HI0QQgghsiI+Ph5HR8csLccjCVEWpHWTWVhYSEIkhBBCvGOyMtxFBlULIYQQQucVmIRo5syZaDQahg4dqm57+vQpAQEBWFtbY25uTps2bbh9+7bWflFRUfj7+2NmZoatrS2jRo0iOTlZq86+ffuoXr06xsbGlC1blqCgoDw4IyGEEEK8KwpEQnTixAmWL1+Ou7u71vZhw4axdetWNmzYwP79+7l16xatW7dWy1NSUvD39ycpKYkjR46wevVqgoKCmDhxolrn+vXr+Pv706hRIyIiIhg6dCh9+vRh165deXZ+QgghhCjY8n2m6oSEBKpXr86SJUv48ssvqVq1KvPnzycuLg4bGxvWrl1L27ZtAbh06RKurq6EhYVRp04dduzYQYsWLbh16xZ2dnYALFu2jDFjxnDn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" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "execution_count": 7 - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.14" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/evilnkode.ipynb b/notebooks/evilnkode.ipynb new file mode 100644 index 0000000..1c7c9f5 --- /dev/null +++ b/notebooks/evilnkode.ipynb @@ -0,0 +1,199 @@ +{ + "cells": [ + { + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2025-09-08T17:09:06.022141Z", + "start_time": "2025-09-08T17:09:05.814700Z" + } + }, + "cell_type": "code", + "source": [ + "from src.benchmark import benchmark\n", + "import matplotlib.pyplot as plt\n", + "from pathlib import Path\n", + "from statistics import mean\n", + "from src.keypad.keypad import (\n", + " SlidingTowerShuffleKeypad,\n", + ")\n" + ], + "id": "initial_id", + "outputs": [], + "execution_count": 1 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-08T17:09:12.073940Z", + "start_time": "2025-09-08T17:09:06.027762Z" + } + }, + "cell_type": "code", + "source": [ + "multiple = 1\n", + "number_of_keys = 6\n", + "properties_per_key = 8 * multiple\n", + "passcode_len = 4\n", + "max_tries_before_lockout = 5\n", + "complexity = 4\n", + "disparity = 4\n", + "run_count = 10000\n", + "\n", + "bench_sliding_tower_shuffle = benchmark(\n", + " number_of_keys=number_of_keys,\n", + " properties_per_key=properties_per_key,\n", + " passcode_len=passcode_len,\n", + " max_tries_before_lockout=max_tries_before_lockout,\n", + " run_count=run_count,\n", + " complexity=complexity,\n", + " disparity=disparity,\n", + " keypad=SlidingTowerShuffleKeypad.new_keypad(number_of_keys, properties_per_key)\n", + ")\n" + ], + "id": "dafaab1106e864f0", + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-08T17:09:12.117453Z", + "start_time": "2025-09-08T17:09:12.112107Z" + } + }, + "cell_type": "code", + "source": [ + "print(f\"Bench Sliding Tower Shuffle Break {mean(bench_sliding_tower_shuffle.iterations_to_break)}\\n\")\n", + "print(f\"Bench Sliding Tower Shuffle Replay {mean(bench_sliding_tower_shuffle.iterations_to_replay)}\\n\")\n" + ], + "id": "40f3fc026934e81", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Bench Sliding Tower Shuffle Break 5\n", + "\n", + "Bench Sliding Tower Shuffle Replay 5\n", + "\n" + ] + } + ], + "execution_count": 3 + }, + { + "cell_type": "code", + "id": "99ddd0fbd421b058", + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-08T17:09:12.129803Z", + "start_time": "2025-09-08T17:09:12.126698Z" + } + }, + "source": [ + "def bench_histogram(data, title, number_of_keys, properties_per_key,\n", + " passcode_len, max_tries_before_lockout, complexity, disparity, run_count, save_path: Path = None):\n", + " # Create the histogram\n", + " min_val = min(data)\n", + " max_val = max(data)\n", + "\n", + " # Create bins for each integer\n", + " bins = range(min_val, max_val + 2)\n", + " plt.hist(data, bins=bins, edgecolor='black')\n", + "\n", + " # Add titles and labels\n", + " plt.title(title)\n", + " plt.xlabel('# of Login Observations')\n", + " plt.ylabel('Simulations')\n", + "\n", + " # Display parameters as text in the plot\n", + " text = (f\"number_of_keys={number_of_keys}\\n\"\n", + " f\"properties_per_key={properties_per_key}\\n\"\n", + " f\"passcode_len={passcode_len}\\n\"\n", + " f\"max_tries_before_lockout={max_tries_before_lockout}\\n\"\n", + " f\"complexity={complexity}\\n\"\n", + " f\"disparity={disparity}\\n\"\n", + " f\"run_count={run_count}\")\n", + "\n", + " plt.text(0.95, 0.95, text, transform=plt.gca().transAxes, fontsize=10,\n", + " verticalalignment='top', horizontalalignment='right', bbox=dict(facecolor='white', alpha=0.5))\n", + "\n", + " # Save plot if a path is provided\n", + " if save_path:\n", + " save_path.mkdir(parents=True, exist_ok=True)\n", + " filename = (f\"{title.replace(' ', '_')}_multi{multiple}_keys{number_of_keys}_\"\n", + " f\"props{properties_per_key}_pass{passcode_len}_tries{max_tries_before_lockout}_\"\n", + " f\"comp{complexity}_disp{disparity}_runs{run_count}.png\")\n", + " plt.savefig(save_path / filename, bbox_inches='tight', dpi=300)\n", + "\n", + " # Display the plot\n", + " plt.show()\n" + ], + "outputs": [], + "execution_count": 4 + }, + { + "cell_type": "code", + "id": "9cbf9282eba285e6", + "metadata": { + "ExecuteTime": { + "end_time": "2025-09-08T17:09:12.628647Z", + "start_time": "2025-09-08T17:09:12.144638Z" + } + }, + "source": [ + "bench_histogram(bench_sliding_tower_shuffle.iterations_to_break, \"Key Logger Split Shuffle Break\", number_of_keys,\n", + " properties_per_key,\n", + " passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n", + "bench_histogram(bench_sliding_tower_shuffle.iterations_to_replay, \"Key Logger Split Shuffle Replay\", number_of_keys,\n", + " properties_per_key,\n", + " passcode_len, max_tries_before_lockout, complexity, disparity, run_count, Path(\"../output/histograms\"))\n" + ], + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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MjISWlpaOXrd/v7+cHBwgFEvL6gY2eRo20RERIVBfMgLhGwdDj8/P1SuXDnH2s3K93eBftL0vcjISACAnp4eAMDPzw+JiYlwdnYW69jZ2aFEiRLw9fUFAPj6+qJcuXJiwgQALi4uiIqKwsOHD8U637aRVietjYzEx8cjKipK5kNERES/r0KTNKWkpGD48OGoWbMmypYtCwAICQmBsrIydHR0ZOoaGhoiJCRErPNtwpS2P21fZnWioqIQFxeXYTxz5syBtra2+DEzM/vlayQiIqKCq9AkTe7u7njw4AH27NmT36EAACZMmIDIyEjx8+bNm/wOiYiIiHKRYn4HIA8PDw8cP34cly9fRvHixcVyIyMjJCQkICIiQuZpU2hoKIyMjMQ6N27ckGkv7e26b+t8/8ZdaGgotLS0oKamlmFMKioqUFFR+eVrIyIiosKhQD9pEgQBHh4eOHz4MM6fPw9LS0uZ/Q4ODlBSUoKPj49Y9vTpUwQFBaFGjRoAgBo1auD+/fsICwsT65w9exZaWlooXbq0WOfbNtLqpLVBREREVKCfNLm7u2PXrl04evQoNDU1xTFI2traUFNTg7a2Nvr164eRI0dCT08PWlpaGDp0KGrUqIHq1asDABo3bozSpUujR48emD9/PkJCQjBp0iS4u7uLT4oGDRqEFStWYOzYsejbty/Onz+Pffv24cSJE/l27URERFSwFOgnTatXr0ZkZCTq1asHY2Nj8bN3716xzpIlS9C8eXO0a9cOderUgZGREQ4dOiTul0qlOH78OKRSKWrUqIHu3bujZ8+e8PT0FOtYWlrixIkTOHv2LCpUqIBFixZhw4YNcHFxydPrJSIiooKrQD9pkmcKKVVVVaxcuRIrV678YR1zc3OcPHky03bq1auH27dvZzlGIiIi+m8o0E+aiIiIiAoKJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDSRERERCQHJk1EREREcmDS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" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "
" + ], + "image/png": "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QGQrabKxsRHXn7O3t8euXbsApD2B0tXVzbHgiIiIiAqKbCVNPXv2xO3btwEAY8eOxbJly6Cqqophw4Zh1KhRORogERERUUGQrTFNw4YNE392cXHBo0ePEBAQgKJFi6JMmTI5FhwRERFRQZGtpOlblpaWsLS0zImmiIiIiAokuZOmxYsXy93o4MGDsxUMERERUUEld9Lk5eUlVz2JRMKkiYiIiP44cidN6W/LEREREf0XZevtOSIiIqL/mmwNBO/Vq9cP969bty5bwRAREREVVNlKmj5+/CiznZSUhHv37iEqKgp169bNkcCIiIiICpJsJU379+/PUJaamor+/fvD1tb2l4MiIiIiKmhybEyTgoIChg8fLvdbdkRERES/kxwdCP78+XMkJyfnZJNEREREBUK2uueGDx8usy0IAt6+fYujR4+ie/fuORIYERERUUGSraTp5s2bMtsKCgowNDTEggULfvpmHREREdHvKFtJ09mzZ3M6DiIiIqICjZNbEhEREckhW0+aPnz4gEmTJuHs2bOIiIhAamqqzP7IyMgcCY6IiIiooMhW0tS1a1c8e/YMvXv3hrGxMSQSSU7HRURERFSgZCtpunjxIi5duoSyZcvmdDxEREREBVK2xjTZ29sjPj4+p2MhIiIiKrCylTQtX74c48ePx/nz5/HhwwfExMTIfIiIiIj+NNnqntPV1UVMTEyGxXkFQYBEIkFKSkqOBEdERERUUGQraercuTOUlJSwbds2DgQnIiKi/4RsJU337t3DzZs3Ubx48ZyOh4iIiKhAytaYpooVK+LVq1c5HQsRERFRgZWtJ02DBg3CkCFDMGrUKJQuXRpKSkoy+8uUKZMjwREREREVFNlKmtq3bw8AMovzSiQSDgQnIiKiP1a2kqagoKCcjoOIiIioQMtW0mRpaZnTcRAREREVaHInTYcOHUKjRo2gpKSEQ4cO/bDuX3/99cuBERERERUkcidNLVq0QFhYGIyMjNCiRYvv1uOYJiIiIvoTyZ00paamZvozERER0X9BluZp8vf3x5EjR2TKNm3aBGtraxgZGcHNzQ0JCQk5GiARERFRQZClpMnT0xP3798Xt+/evYvevXvDxcUFY8eOxeHDhzFr1qwcD5KIiIgov2Upabp16xbq1asnbu/YsQNOTk7w8fHB8OHDsXjxYuzatSvHgyQiIiLKb1lKmj5+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" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "execution_count": 5 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/benchmark.py b/src/benchmark.py index 21434d1..7a72ebb 100644 --- a/src/benchmark.py +++ b/src/benchmark.py @@ -1,9 +1,10 @@ -from src.evilkode import Evilkode +from tqdm import tqdm +from src.evilnkode import EvilNKode from dataclasses import dataclass -from statistics import mean, variance +from src.utils import observations, passcode_generator +from src.keypad.keypad import BaseKeypad from pathlib import Path - -from src.utils import ShuffleTypes, observations, passcode_generator +import pickle @dataclass @@ -12,7 +13,7 @@ class Benchmark: iterations_to_replay: list[int] -def shuffle_benchmark( +def benchmark( number_of_keys: int, properties_per_key: int, passcode_len: int, @@ -20,86 +21,44 @@ def shuffle_benchmark( run_count: int, complexity: int, disparity: int, - shuffle_type: ShuffleTypes, - file_path: str = '../output', + keypad: BaseKeypad, + file_path: Path = '../output', overwrite: bool = False ) -> Benchmark: - # file_name_break = f"{shuffle_type.name.lower()}-{number_of_keys}-{properties_per_key}-{passcode_len}-{max_tries_before_lockout}-{complexity}-{disparity}-{run_count}.txt" - # full_path_iter_break = Path(file_path) / "iterations_to_break" /file_name_break - # if not overwrite and full_path_iter_break.exists(): - # print(f"file exists {file_path}") - # with open(full_path_iter_break, "r") as fp: - # iterations_to_break = fp.readline() - # iterations_to_break = iterations_to_break.split(',') - # iterations_to_break = [int(i) for i in iterations_to_break] - # return Benchmark( - # mean=mean(iterations_to_break), - # variance=variance(iterations_to_break), - # iterations_to_break=iterations_to_break - # ) + shuffle_type = str(type(keypad)).lower().split('.')[-1].replace("'>", "") + file_name = f"{shuffle_type}-{number_of_keys}-{properties_per_key}-{passcode_len}-{max_tries_before_lockout}-{complexity}-{disparity}-{run_count}.pkl" + full_path = Path(file_path) / "benchmark" / file_name + if not overwrite and full_path.exists(): + print(f"File exists: {full_path}") + with open(full_path, "rb") as fp: + return pickle.load(fp) + iterations_to_break = [] iterations_to_replay = [] - for _ in range(run_count): + for _ in tqdm(range(run_count)): passcode = passcode_generator(number_of_keys, properties_per_key, passcode_len, complexity, disparity) - evilkode = Evilkode( + evilnkode = EvilNKode( observations=observations( target_passcode=passcode, - number_of_keys=number_of_keys, - properties_per_key=properties_per_key, - min_complexity=complexity, - min_disparity=disparity, - shuffle_type=shuffle_type, + keypad=keypad, ), number_of_keys=number_of_keys, properties_per_key=properties_per_key, passcode_len=passcode_len, max_tries_before_lockout=max_tries_before_lockout, ) - evilout = evilkode.run() + evilout = evilnkode.run() iterations_to_break.append(evilout.iterations_to_break) iterations_to_replay.append(evilout.iterations_to_replay) - # full_path_iter_break.parent.mkdir(parents=True, exist_ok=True) - # with open(full_path_iter_break, "w") as fp: - # fp.write(",".join([str(i) for i in iterations_to_break])), - - return Benchmark( + benchmark_result = Benchmark( iterations_to_break=iterations_to_break, iterations_to_replay=iterations_to_replay ) + if file_path: + full_path.parent.mkdir(parents=True, exist_ok=True) + with open(full_path, "wb") as fp: + pickle.dump(benchmark_result, fp) -# def full_shuffle_benchmark( -# number_of_keys: int, -# properties_per_key: int, -# passcode_len: int, -# max_tries_before_lockout: int, -# run_count: int, -# complexity: int, -# disparity: int, -# ) -> Benchmark: -# runs = [] -# for _ in range(run_count): -# passcode = passcode_generator(number_of_keys, properties_per_key, passcode_len, complexity, disparity) -# evilkode = Evilkode( -# observations=observations( -# target_passcode=passcode, -# number_of_keys=number_of_keys, -# properties_per_key=properties_per_key, -# min_complexity=complexity, -# min_disparity=disparity, -# shuffle_type=ShuffleTypes.FULL_SHUFFLE, -# ), -# number_of_keys=number_of_keys, -# properties_per_key=properties_per_key, -# passcode_len=passcode_len, -# max_tries_before_lockout=max_tries_before_lockout, -# ) -# evilout = evilkode.run() -# runs.append(evilout.iterations_to_break) -# -# return Benchmark( -# mean=mean(runs), -# variance=variance(runs), -# iterations_to_break=runs -# ) + return benchmark_result diff --git a/src/evilkode.py b/src/evilnkode.py similarity index 86% rename from src/evilkode.py rename to src/evilnkode.py index 876bc3e..4bb1965 100644 --- a/src/evilkode.py +++ b/src/evilnkode.py @@ -19,17 +19,12 @@ class Observation: @dataclass class EvilOutput: - # possible_nkodes: list[list[int]] iterations_to_break: int iterations_to_replay: int - # @property - # def number_of_possible_nkode(self): - # return math.prod([len(el) for el in self.possible_nkodes]) - @dataclass -class Evilkode: +class EvilNKode: observations: Iterator[Observation] passcode_len: int number_of_keys: int @@ -37,7 +32,6 @@ class Evilkode: max_tries_before_lockout: int = 5 possible_nkode = None - def initialize(self): possible_values = set(range(self.number_of_keys * self.properties_per_key)) self.possible_nkode = [possible_values.copy() for _ in range(self.passcode_len)] @@ -49,9 +43,9 @@ class Evilkode: if iterations_to_replay is None: replay_possibilities = self.replay_attack(obs) if replay_possibilities <= self.max_tries_before_lockout: - iterations_to_replay = idx + 1 + iterations_to_replay = idx + 1 if math.prod([len(el) for el in self.possible_nkode]) <= self.max_tries_before_lockout: - assert iterations_to_replay <= idx +1 + assert iterations_to_replay <= idx + 1 return EvilOutput( # possible_nkodes=[list(el) for el in self.possible_nkode], iterations_to_break=idx + 1, @@ -65,4 +59,4 @@ class Evilkode: possible_combos = 1 for el in self.possible_nkode: possible_combos *= len({obs.flat_keypad.index(el2) // self.properties_per_key for el2 in el}) - return possible_combos \ No newline at end of file + return possible_combos diff --git a/src/keypad.py b/src/keypad.py deleted file mode 100644 index b5d608c..0000000 --- a/src/keypad.py +++ /dev/null @@ -1,92 +0,0 @@ -from dataclasses import dataclass - -import numpy as np - -from src.tower_shuffle import TowerShuffle - - -@dataclass -class Keypad: - keypad: np.ndarray - k: int # number of keys - p: int # properties per key - keypad_cache: list # - tower_shuffler: TowerShuffle - max_cache_size: int = 100 - - @staticmethod - def new_keypad(k: int, p: int): - total_properties = k * p - array = np.arange(total_properties) - # Reshape into a 3x4 matrix - keypad = array.reshape(k, p) - set_view = keypad.T - for set_idx in set_view: - np.random.shuffle(set_idx) - - return Keypad(keypad=set_view.T, k=k, p=p, keypad_cache=[], tower_shuffler=TowerShuffle.new(p)) - - def tower_shuffle(self): - selected_positions = self.tower_shuffler.left_tower.tolist() - new_key_idxs = np.random.permutation(self.k) - self.keypad[:, selected_positions] = self.keypad[new_key_idxs, :][:, selected_positions] - self.tower_shuffler.shuffle() - - def split_shuffle(self): - """ - This is a modified split shuffle. - It doesn't shuffle the keys only the properties in the keys. - Shuffling the keys makes it hard for people to guess an nKode not a machine. - This split shuffle includes a cache to prevent the same configuration from being used. - This cache is not in any other implementation. - Testing suggests it's not necessary. - Getting the same keypad twice over 100 shuffles is very unlikely. - """ - shuffled_sets = self._shuffle() - # Sort the shuffled sets by the first column - sorted_set = shuffled_sets[np.argsort(shuffled_sets[:, 0])] - while str(sorted_set) in self.keypad_cache: - # continue shuffling until we get a unique configuration - shuffled_sets = self._shuffle() - sorted_set = shuffled_sets[np.argsort(shuffled_sets[:, 0])] - - self.keypad_cache.append(str(sorted_set)) - self.keypad_cache = self.keypad_cache[:self.max_cache_size] - self.keypad = shuffled_sets - - - def _shuffle(self) -> np.ndarray: - column_permutation = np.random.permutation(self.p) - column_subset = column_permutation[:self.p // 2] - new_key_idxs = np.random.permutation(self.k) - shuffled_sets = self.keypad.copy() - shuffled_sets[:, column_subset] = shuffled_sets[new_key_idxs, :][:, column_subset] - return shuffled_sets - - def full_shuffle(self): - shuffled_matrix = np.array([np.random.permutation(row) for row in self.keypad.T]) - self.keypad = shuffled_matrix.T - - def key_entry(self, target_passcode: list[int]) -> list[int]: - """ - Given target_values, return the row indices they are in. - Assert that each element is >= 0 and < self.k * self.p. - """ - # Convert the list to a NumPy array for vectorized checks - vals = np.array(target_passcode) - - # Validate that each value is within the valid range - if np.any((vals < 0) | (vals >= self.k * self.p)): - raise ValueError("One or more values are out of the valid range.") - - # Flatten the keypad to a 1D array - flat = self.keypad.flatten() - - # Create an inverse mapping from value -> row index - inv_index = np.empty(self.k * self.p, dtype=int) - # Each value v is at position i in 'flat', so row = i // p - for i, v in enumerate(flat): - inv_index[v] = i // self.p - - # Use the inverse mapping to get row indices for all target values - return inv_index[vals].tolist() diff --git a/src/keypad/__init__.py b/src/keypad/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/keypad/keypad.py b/src/keypad/keypad.py new file mode 100644 index 0000000..450e43b --- /dev/null +++ b/src/keypad/keypad.py @@ -0,0 +1,123 @@ +from dataclasses import dataclass +import numpy as np +from src.keypad.tower_shuffle import TowerShuffle +from abc import ABC, abstractmethod +from typing import Self + + +class BaseKeypad(ABC): + keypad: np.ndarray + k: int # number of keys + p: int # properties per key + + @classmethod + def _build_keypad(cls, k: int, p: int) -> np.ndarray: + rng = np.random.default_rng() + total = k * p + array = np.arange(total) + keypad = array.reshape(k, p) + set_view = keypad.T.copy() + for set_idx in set_view: + rng.shuffle(set_idx) + return set_view.T + + @classmethod + @abstractmethod + def new_keypad(cls, k: int, p: int) -> Self: + raise NotImplementedError + + def key_entry(self, target_passcode: list[int]) -> list[int]: + vals = np.array(target_passcode) + if np.any((vals < 0) | (vals >= self.k * self.p)): + raise ValueError("One or more values are out of the valid range.") + flat = self.keypad.flatten() + inv_index = np.empty(self.k * self.p, dtype=int) + for i, v in enumerate(flat): + inv_index[v] = i // self.p + return inv_index[vals].tolist() + + @abstractmethod + def shuffle(self): + pass + + def keypad_mat(self) -> list[list[int]]: + return [el.tolist() for el in self.keypad] + + +@dataclass +class SlidingTowerShuffleKeypad(BaseKeypad): + keypad: np.ndarray + k: int # number of keys + p: int # properties per key + tower_shuffle: TowerShuffle + + @classmethod + def new_keypad(cls, k: int, p: int) -> Self: + kp = cls._build_keypad(k, p) + return cls(keypad=kp, k=k, p=p, tower_shuffle=TowerShuffle.new(p)) + + def shuffle(self): + selected_positions = self.tower_shuffle.left_tower.tolist() + shift = np.random.randint(1, self.k) # random int in [1, k-1] + new_key_idxs = np.roll(np.arange(self.k), shift) + shuffled_sets = self.keypad.copy() + shuffled_sets[:, selected_positions] = shuffled_sets[new_key_idxs, :][:, selected_positions] + self.keypad = shuffled_sets + self.tower_shuffle.shuffle() + + +@dataclass +class RandomShuffleKeypad(BaseKeypad): + keypad: np.ndarray + k: int # number of keys + p: int # properties per key + + @classmethod + def new_keypad(cls, k: int, p: int) -> Self: + kp = cls._build_keypad(k, p) + return cls(keypad=kp, k=k, p=p) + + def shuffle(self): + shuffled_matrix = np.array([np.random.permutation(row) for row in self.keypad.T]) + self.keypad = shuffled_matrix.T + + +@dataclass +class RandomSplitShuffleKeypad(BaseKeypad): + keypad: np.ndarray + k: int # number of keys + p: int # properties per key + + @classmethod + def new_keypad(cls, k: int, p: int) -> Self: + kp = cls._build_keypad(k, p) + return cls(keypad=kp, k=k, p=p) + + def shuffle(self): + column_permutation = np.random.permutation(self.p) + column_subset = column_permutation[:self.p // 2] + new_key_idxs = np.random.permutation(self.k) + shuffled_sets = self.keypad.copy() + shuffled_sets[:, column_subset] = shuffled_sets[new_key_idxs, :][:, column_subset] + self.keypad = shuffled_sets + + +@dataclass +class SlidingSplitShuffleKeypad(BaseKeypad): + keypad: np.ndarray + k: int # number of keys + p: int # properties per key + + @classmethod + def new_keypad(cls, k: int, p: int) -> Self: + kp = cls._build_keypad(k, p) + return cls(keypad=kp, k=k, p=p) + + def shuffle(self): + selected_positions = np.random.permutation(self.p) + column_subset = selected_positions[:self.p // 2] + shift = np.random.randint(1, self.k) + new_key_idxs = np.roll(np.arange(self.k), shift) + shuffled_sets = self.keypad.copy() + shuffled_sets[:, column_subset] = shuffled_sets[new_key_idxs, :][:, column_subset] + self.keypad = shuffled_sets diff --git a/src/tower_shuffle.py b/src/keypad/tower_shuffle.py similarity index 100% rename from src/tower_shuffle.py rename to src/keypad/tower_shuffle.py diff --git a/src/utils.py b/src/utils.py index 78c4fd9..d644100 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1,65 +1,49 @@ import random -from enum import Enum from math import factorial, comb -from src.evilkode import Observation -from src.keypad import Keypad +from src.evilnkode import Observation +from src.keypad.keypad import BaseKeypad +from typing import Iterator def total_valid_nkode_states(k: int, p: int) -> int: - return factorial(k) ** (p-1) + return factorial(k) ** (p - 1) + def total_shuffle_states(k: int, p: int) -> int: - return comb((p-1), (p-1) // 2) * factorial(k) + return comb((p - 1), (p - 1) // 2) * factorial(k) -class ShuffleTypes(Enum): - FULL_SHUFFLE = "FULL_SHUFFLE" - SPLIT_SHUFFLE = "SPLIT_SHUFFLE" - TOWER_SHUFFLE = "TOWER_SHUFFLE" - - -def observations(target_passcode: list[int], number_of_keys:int, properties_per_key: int, min_complexity: int, min_disparity: int, shuffle_type: ShuffleTypes, number_of_observations: int = 100): - k = number_of_keys - p = properties_per_key - keypad = Keypad.new_keypad(k, p) - - def obs_gen(): +def observations(target_passcode: list[int], keypad: BaseKeypad, number_of_observations: int = 100) -> Iterator[ + Observation]: + def obs(): for _ in range(number_of_observations): yield Observation( - keypad=keypad.keypad.copy(), + keypad=keypad.keypad_mat(), key_selection=keypad.key_entry(target_passcode=target_passcode) ) - match shuffle_type: - case ShuffleTypes.FULL_SHUFFLE: - keypad.full_shuffle() - case ShuffleTypes.SPLIT_SHUFFLE: - keypad.split_shuffle() - case ShuffleTypes.TOWER_SHUFFLE: - keypad.tower_shuffle() - case _: - raise Exception(f"no shuffle type {shuffle_type}") + keypad.shuffle() - return obs_gen() + return obs() def passcode_generator(k: int, p: int, n: int, c: int, d: int) -> list[int]: assert n >= c - assert p*k >= c + assert p * k >= c assert n >= d assert p >= d passcode_prop = [] passcode_set = [] - valid_choices = {i for i in range(k*p)} - repeat_set = n-d - repeat_prop = n-c + valid_choices = {i for i in range(k * p)} + repeat_set = n - d + repeat_prop = n - c prop_added = set() set_added = set() for _ in range(n): prop = random.choice(list(valid_choices)) - prop_set = prop//p + prop_set = prop // p passcode_prop.append(prop) passcode_set.append(prop_set) diff --git a/tests/test_benchmark.py b/tests/test_benchmark.py index da0b305..2ff5d9d 100644 --- a/tests/test_benchmark.py +++ b/tests/test_benchmark.py @@ -1,6 +1,14 @@ from src.utils import passcode_generator +from src.keypad.keypad import ( + RandomShuffleKeypad, + RandomSplitShuffleKeypad, + SlidingTowerShuffleKeypad, + SlidingSplitShuffleKeypad +) +from src.benchmark import benchmark import pytest + @pytest.mark.parametrize( "k, p, n, c, d, runs", [ @@ -10,6 +18,29 @@ import pytest def test_passcode_generator(k, p, n, c, d, runs): for _ in range(runs): passcode = passcode_generator(k=k, p=p, n=n, c=c, d=d) - passcode_sets = [el//p for el in passcode] - assert c <= len(set(passcode)) + passcode_sets = [el // p for el in passcode] + assert c <= len(set(passcode)) assert d <= len(set(passcode_sets)) + + +@pytest.mark.parametrize( + "number_of_keys,properties_per_key,passcode_len,max_tries_before_lockout,complexity,disparity,run_count,keypad", + [ + (6, 8, 4, 5, 4, 4, 100, RandomShuffleKeypad), + (6, 8, 4, 5, 4, 4, 100, RandomSplitShuffleKeypad), + (6, 8, 4, 5, 4, 4, 100, SlidingSplitShuffleKeypad), + (6, 8, 4, 5, 4, 4, 100, SlidingTowerShuffleKeypad), + ] +) +def test_benchmark(number_of_keys, properties_per_key, passcode_len, max_tries_before_lockout, complexity, disparity, + run_count, keypad): + benchmark( + number_of_keys=number_of_keys, + properties_per_key=properties_per_key, + passcode_len=passcode_len, + max_tries_before_lockout=max_tries_before_lockout, + run_count=run_count, + complexity=complexity, + disparity=disparity, + keypad=keypad.new_keypad(number_of_keys, properties_per_key) + ) diff --git a/tests/test_evilkode.py b/tests/test_evilkode.py index 31789b4..44c3548 100644 --- a/tests/test_evilkode.py +++ b/tests/test_evilkode.py @@ -1,45 +1,34 @@ import random import pytest -from src.evilkode import Evilkode, Observation -from src.keypad import Keypad +from src.evilnkode import EvilNKode +from src.keypad.keypad import ( + RandomShuffleKeypad, +) +from src.utils import observations @pytest.fixture -def observations(number_of_keys, properties_per_key, passcode_len): - k = number_of_keys - p = properties_per_key - n = passcode_len - nkode = [random.randint(0, k*p-1) for _ in range(n)] - keypad = Keypad.new_keypad(k, p) - - def obs_gen(): - for _ in range(100): # finite number of yields - yield Observation( - keypad=keypad.keypad.copy(), - key_selection=keypad.key_entry(target_passcode=nkode) - ) - keypad.split_shuffle() - - return obs_gen() - +def passcode(number_of_keys, properties_per_key, passcode_len): + return [random.randint(0, number_of_keys * properties_per_key - 1) for _ in range(passcode_len)] @pytest.mark.parametrize( "number_of_keys, properties_per_key, passcode_len", [ - (5, 3, 4), # Test case 1 + (5, 4, 4), # Test case 1 (10, 5, 6), # Test case 2 - (8, 4, 5), # Test case 3 + (8, 4, 5), # Test case 3 ] ) -def test_evilkode(number_of_keys, properties_per_key, passcode_len, observations): - evilkode = Evilkode( - observations=observations, +def test_evilkode(number_of_keys, properties_per_key, passcode_len, passcode): + keypad = RandomShuffleKeypad.new_keypad(number_of_keys, properties_per_key) + obs = observations(passcode, keypad) + evilkode = EvilNKode( + observations=obs, number_of_keys=number_of_keys, properties_per_key=properties_per_key, passcode_len=passcode_len, ) - evilout = evilkode.run() assert evilout.iterations_to_break > 1 diff --git a/tests/test_keypad.py b/tests/test_keypad.py index 2446d13..edc563c 100644 --- a/tests/test_keypad.py +++ b/tests/test_keypad.py @@ -1,41 +1,34 @@ +import pytest import numpy as np - -from src.keypad import Keypad -from src.tower_shuffle import TowerShuffle +from src.keypad.keypad import ( + RandomSplitShuffleKeypad, + RandomShuffleKeypad, + SlidingSplitShuffleKeypad, + SlidingTowerShuffleKeypad, +) -def test_keypad(): - keypad = Keypad( +def test_key_entry(): + keypad = RandomShuffleKeypad( keypad=np.array([ [8, 9, 10, 11], [0, 5, 2, 3], - [4, 1, 6,7] - ]), k= 3, p=4, keypad_cache=[], tower_shuffler=TowerShuffle.new(3*4)) + [4, 1, 6, 7] + ]), k=3, p=4) + assert keypad.key_entry([8, 5, 6, 11]) == [0, 1, 2, 0] - assert keypad.key_entry([8, 5, 6, 11]) == [0,1,2,0] -def test_split_shuffle(): - p = 4 # properties_per_key - k = 3 # number_of_keys - keypad = Keypad.new_keypad(k, p) +@pytest.mark.parametrize( + "keypad_type, number_of_keys, properties_per_key", + [ + (RandomShuffleKeypad, 3, 4), + (RandomSplitShuffleKeypad, 3, 4), + (SlidingTowerShuffleKeypad, 3, 4), + (SlidingSplitShuffleKeypad, 3, 4), + ] +) +def test_keypad_shuffle(keypad_type, number_of_keys, properties_per_key): + keypad = keypad_type.new_keypad(number_of_keys, properties_per_key) print(keypad.keypad) - keypad.split_shuffle() + keypad.shuffle() print(keypad.keypad) - - -def test_full_shuffle(): - p = 4 # properties_per_key - k = 3 # number_of_keys - keypad = Keypad.new_keypad(k, p) - print(keypad.keypad) - keypad.full_shuffle() - print(keypad.keypad) - -def test_tower_shuffle(): - p = 4 # properties_per_key - k = 3 # number_of_keys - keypad = Keypad.new_keypad(k, p) - print() - for _ in range(10): - print(keypad.keypad) - keypad.tower_shuffle() diff --git a/tests/test_tower_shuffle.py b/tests/test_tower_shuffle.py index 35a0193..2d4bc3f 100644 --- a/tests/test_tower_shuffle.py +++ b/tests/test_tower_shuffle.py @@ -1,4 +1,4 @@ -from src.tower_shuffle import TowerShuffle +from src.keypad.tower_shuffle import TowerShuffle def test_tower_shuffle(): tower = TowerShuffle.new(9)