From 6db44f9b6fe8241f605a984bb7fb0df61e213198 Mon Sep 17 00:00:00 2001 From: Yueming Hao Date: Thu, 24 Sep 2026 08:56:18 -0700 Subject: [PATCH 1/2] Split autotune sessions by launch key args Summary: Autotune session ids hash only the user call stack, so repeated Autotuner.run() invocations at the same call site with different keys (e.g. a loop over M=N=16 then M=N=32, as in the regenerated example trace) collapse into one session. Per-config args then become multi-valued distributions that the viewer renders as an ellipsis. Expand each call-site session into per-key sub-sessions at analysis time: launches are grouped by a signature over runtime args (config params excluded, tensor data_ptrs excluded), compilations attach by referenced hash, and each sub-session resolves its own winner and AutotuneListener result (matched via best_config). Unsplit sessions keep their plain session id and behave exactly as before. Ingest records per-launch occurrence mapping and keeps autotune results as a list (previously last-wins); the coarse last-wins winner map is replaced by per-sub-session resolution from occurrence records. Differential Revision: D121412109 --- tests/cpu/test_autotune_session_split.py | 647 ++++++++++++++++++++ tritonparse/parse/event_diff.py | 748 ++++++++++++++++++++++- tritonparse/parse/trace_processor.py | 38 +- 3 files changed, 1408 insertions(+), 25 deletions(-) create mode 100644 tests/cpu/test_autotune_session_split.py diff --git a/tests/cpu/test_autotune_session_split.py b/tests/cpu/test_autotune_session_split.py new file mode 100644 index 00000000..7ba4a665 --- /dev/null +++ b/tests/cpu/test_autotune_session_split.py @@ -0,0 +1,647 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. + +"""Autotune sessions must split by key, not just by call site. + +Two ``Autotuner.run()`` invocations at the same call site with different keys +(e.g. ``M=N=16`` then ``M=N=32`` in a loop) share one call-site session id. +The parser must still emit one ``autotune_analysis`` event per key round, so +per-config arguments stay single-valued in each session's varies table. +""" + +import json +import os +import tempfile +import unittest + +from tritonparse.parse.event_diff import ( + _config_value_matches, + _extract_scalar_value, + _parse_best_config, +) +from tritonparse.parse.trace_processor import parse_single_rank + + +def _stack(boundary: str) -> list[dict]: + # Identical user frame for every event: both key rounds run at the same + # call site, so they share one coarse (call-site) session id. + return [ + {"filename": "/user/loop.py", "name": "run_kernel", "line": 42}, + {"filename": "triton/runtime/autotuner.py", "name": boundary, "line": 100}, + ] + + +def _compilation(kernel_hash: str) -> dict: + return { + "event_type": "compilation", + "pid": 1000, + "timestamp": "2026-09-02T00:00:00", + "stack": _stack("_bench"), + "payload": { + "metadata": { + "hash": kernel_hash, + "name": "matmul_kernel", + "num_warps": 1, + "num_stages": 1, + "num_ctas": 1, + }, + "pt_info": {"frame_id": 0, "frame_compile_id": 0}, + "file_content": {}, + "file_path": {}, + }, + } + + +def _extracted_args(m: int, block_m: int, data_ptr: str) -> dict: + return { + "a": { + "type": "tensor", + "shape": [m, 16], + "dtype": "torch.float16", + "stride": [16, 1], + "data_ptr": data_ptr, + }, + "M": {"type": "int", "value": m}, + "N": {"type": "int", "value": m}, + "BLOCK_SIZE_M": {"type": "int", "value": block_m}, + } + + +def _launch( + kernel_hash: str, + m: int, + block_m: int, + boundary: str, + data_ptr: str, +) -> dict: + return { + "event_type": "launch", + "pid": 1000, + "timestamp": "2026-09-02T00:00:01", + "name": "matmul_kernel", + "stack": _stack(boundary), + "compilation_metadata": { + "hash": kernel_hash, + "name": "matmul_kernel", + "num_warps": 1, + "num_stages": 1, + "num_ctas": 1, + }, + "extracted_args": _extracted_args(m, block_m, data_ptr), + } + + +def _autotune_event(m: int, block_m: int) -> dict: + return { + "event_type": "autotune", + "kernel_name": "matmul_kernel", + "stack": _stack("run"), + "best_config": ( + f"BLOCK_SIZE_M: {block_m}, BLOCK_SIZE_N: 16, " + "num_warps: 1, num_stages: 1, num_ctas: 1" + ), + "configs_timings": {"cfg": 1.0}, + "duration": 0.5, + "cache_hit": False, + "cache_key": "cache-key", + "autotune_key": f"({m}, {m}, 'torch.float16')", + } + + +def _write_trace(path: str, events: list[dict]) -> None: + with open(path, "w") as output: + for event in events: + output.write(json.dumps(event) + "\n") + + +def _read_output_events(output_dir: str) -> list[dict]: + events = [] + for filename in sorted(os.listdir(output_dir)): + if filename.endswith(".ndjson"): + with open(os.path.join(output_dir, filename), "r") as source: + events.extend(json.loads(line) for line in source if line.strip()) + return events + + +def _two_key_trace() -> list[dict]: + """Two key rounds (M=16, M=32) at one call site, two configs each.""" + return [ + _compilation("hash_a"), + _compilation("hash_b"), + # Round 1: M = N = 16, winner is hash_a (BLOCK_SIZE_M 16). + _launch("hash_a", 16, 16, "_bench", "0x1000"), + _launch("hash_b", 16, 32, "_bench", "0x2000"), + _launch("hash_a", 16, 16, "run", "0x3000"), + _autotune_event(16, 16), + # Round 2: M = N = 32, winner is hash_b (BLOCK_SIZE_M 32). + _launch("hash_a", 32, 16, "_bench", "0x4000"), + _launch("hash_b", 32, 32, "_bench", "0x5000"), + _launch("hash_b", 32, 32, "run", "0x6000"), + _autotune_event(32, 32), + ] + + +class AutotuneSessionSplitTest(unittest.TestCase): + def setUp(self) -> None: + self.temporary_directory = tempfile.TemporaryDirectory() + self.input_path = os.path.join( + self.temporary_directory.name, + "dedicated_log_triton_trace_user_pid_1000_.ndjson", + ) + self.output_dir = os.path.join(self.temporary_directory.name, "output") + os.makedirs(self.output_dir) + + def tearDown(self) -> None: + self.temporary_directory.cleanup() + + def test_two_keys_share_call_site_but_split_into_two_sessions(self) -> None: + _write_trace(self.input_path, _two_key_trace()) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 2) + by_winner = {a["winner_compilation_hash"]: a for a in analyses} + self.assertEqual(set(by_winner), {"hash_a", "hash_b"}) + + # Each key round keeps single-valued args: M/N are constant + # within the round (scalars in the sames section), only the true + # config param varies, and no cell is a multi-valued + # {unique_count, values} distribution (which the viewer renders + # as an ellipsis). + for winner_hash, analysis in by_winner.items(): + configs = analysis["autotune_args_summary"]["autotune_configs"] + varies = configs["varies"] + sames = configs["sames"] + expected_m = 16 if winner_hash == "hash_a" else 32 + self.assertEqual(sames["M"], {"type": "int", "value": expected_m}) + self.assertEqual(sames["N"], {"type": "int", "value": expected_m}) + self.assertEqual(set(varies), {"BLOCK_SIZE_M"}) + self.assertEqual( + varies["BLOCK_SIZE_M"]["hash_a"], {"type": "int", "value": 16} + ) + self.assertEqual( + varies["BLOCK_SIZE_M"]["hash_b"], {"type": "int", "value": 32} + ) + self.assertNotIn("unique_count", json.dumps(configs)) + + # Winners and occurrence ids stay with their own key round. + self.assertEqual(by_winner["hash_a"]["launch_occurrence_ids"]["winner"], [4]) + self.assertEqual(by_winner["hash_b"]["launch_occurrence_ids"]["winner"], [7]) + self.assertEqual( + sorted(by_winner["hash_a"]["launch_occurrence_ids"]["benchmark"]), + [2, 3], + ) + self.assertEqual( + sorted(by_winner["hash_b"]["launch_occurrence_ids"]["benchmark"]), + [5, 6], + ) + + # Each session keeps its own autotune result, matched by best config. + self.assertIn( + "BLOCK_SIZE_M: 16", by_winner["hash_a"]["autotune_result"]["best_config"] + ) + self.assertIn( + "BLOCK_SIZE_M: 32", by_winner["hash_b"]["autotune_result"]["best_config"] + ) + + # The two sub-sessions are distinguishable by their full key + # signatures (never truncated: truncation could collide and drop + # a key round). + session_ids = {a["session_id"] for a in analyses} + self.assertEqual(len(session_ids), 2) + for session_id in session_ids: + coarse, _, sig = session_id.partition(":") + self.assertTrue(coarse) + self.assertEqual(len(sig), 16) + + def test_two_callbacks_without_args_share_one_partition(self) -> None: + # Degraded but valid trace shape: two key rounds (distinct + # listener callbacks) whose launches carry no extracted_args. + # The launches are indistinguishable, so no key attribution is + # possible: expect one analysis with the latest result attached. + events = _two_key_trace() + for event in events: + if event.get("event_type") == "launch": + del event["extracted_args"] + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertNotIn(":", analyses[0]["session_id"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_b") + self.assertIn("BLOCK_SIZE_M: 32", analyses[0]["autotune_result"]["best_config"]) + + def test_split_preserves_compilation_without_traced_launches(self) -> None: + # A candidate whose benchmark launches were never traced cannot be + # attributed to a key round, but the split must not silently drop + # it: every partition keeps it alongside its referenced configs. + events = _two_key_trace() + events.insert(2, _compilation("hash_c")) + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 2) + for analysis in analyses: + self.assertEqual( + analysis["compilation_analysis"]["compilation_hashes"], + ["hash_a", "hash_b", "hash_c"], + ) + # hash_c has no launches, so it contributes no per-config args. + varies = analysis["autotune_args_summary"]["autotune_configs"]["varies"] + self.assertNotIn("hash_c", varies["BLOCK_SIZE_M"]) + by_winner = {a["winner_compilation_hash"]: a for a in analyses} + self.assertEqual(set(by_winner), {"hash_a", "hash_b"}) + + def test_note_only_launches_are_ignored_for_splitting(self) -> None: + # Launches captured inside CUDA graphs record a _note marker + # instead of real args. They hold no key information and must + # neither split their own round nor pool unrelated rounds; the + # same rounds' warmup launches outside capture still split + # normally, and note occurrences stay out of the partitions. + events = _two_key_trace() + note_a = _launch("hash_a", 16, 16, "_bench", "0x1000") + note_a["extracted_args"] = {"_note": "argument extraction skipped"} + note_b = _launch("hash_b", 32, 32, "_bench", "0x5000") + note_b["extracted_args"] = {"_note": "argument extraction skipped"} + events.insert(3, note_a) + events.insert(8, note_b) + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 2) + by_winner = {a["winner_compilation_hash"]: a for a in analyses} + self.assertEqual(set(by_winner), {"hash_a", "hash_b"}) + # Warmups only; note occurrences (3 and 7) are excluded. + self.assertEqual( + sorted(by_winner["hash_a"]["launch_occurrence_ids"]["benchmark"]), + [2, 4], + ) + self.assertEqual( + sorted(by_winner["hash_b"]["launch_occurrence_ids"]["benchmark"]), + [6, 8], + ) + self.assertNotIn( + "unique_count", + json.dumps( + by_winner["hash_a"]["autotune_args_summary"]["autotune_configs"] + ), + ) + + def test_single_partition_keeps_note_occurrences(self) -> None: + # One key round mixed with graph-captured launches: no + # attribution choice exists, so note occurrences join the + # emission (benchmark ids [2, 3, 4], winner ids [5, 6]) while + # their _note payload stays out of the varies table. + events = _two_key_trace()[:6] + note_bench = _launch("hash_a", 16, 16, "_bench", "0x1000") + note_bench["extracted_args"] = {"_note": "captured"} + note_winner = _launch("hash_a", 16, 16, "run", "0x3000") + note_winner["extracted_args"] = {"_note": "captured"} + events.insert(2, note_bench) + events.insert(6, note_winner) + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertNotIn(":", analyses[0]["session_id"]) + self.assertEqual( + sorted(analyses[0]["launch_occurrence_ids"]["benchmark"]), + [2, 3, 4], + ) + self.assertEqual(sorted(analyses[0]["launch_occurrence_ids"]["winner"]), [5, 6]) + self.assertFalse(analyses[0]["cache_usage"]) + self.assertNotIn( + "_note", + json.dumps(analyses[0]["autotune_args_summary"]["autotune_configs"]), + ) + + def test_all_note_session_falls_back_to_coarse_occurrences(self) -> None: + # Every launch captured inside CUDA graphs: no key derivation is + # possible, but the emission must keep the real launches via the + # coarse occurrence ids instead of reporting cache_usage. + events = _two_key_trace()[:6] + for event in events: + if event.get("event_type") == "launch": + event["extracted_args"] = {"_note": "captured"} + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertEqual( + sorted(analyses[0]["launch_occurrence_ids"]["benchmark"]), [2, 3] + ) + self.assertEqual(sorted(analyses[0]["launch_occurrence_ids"]["winner"]), [4]) + self.assertFalse(analyses[0]["cache_usage"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_a") + self.assertIn("autotune_result", analyses[0]) + + def test_optional_scalar_config_stays_whole(self) -> None: + # An optional config arg recorded as None under one compilation + # ({"type": "NoneType", "repr": "None"}) and as an int under the + # other ({"type": "int", "value": 16}) must still be recognized + # as one config param: a nested path missing under a hash counts + # as a distinct value, so the whole wrapper is masked instead of + # splitting the round by config (each half would then fall below + # the emission threshold and drop the entire session). + events = _two_key_trace()[:6] + for event in events: + if event.get("event_type") == "launch": + if event["compilation_metadata"]["hash"] == "hash_a": + event["extracted_args"]["OPTIONAL_TILE"] = { + "type": "NoneType", + "repr": "None", + } + else: + event["extracted_args"]["OPTIONAL_TILE"] = { + "type": "int", + "value": 16, + } + elif event.get("event_type") == "autotune": + event["best_config"] += ", OPTIONAL_TILE: None" + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertNotIn(":", analyses[0]["session_id"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_a") + self.assertIn( + "OPTIONAL_TILE: None", + analyses[0]["autotune_result"]["best_config"], + ) + + def test_all_note_session_with_external_compilations(self) -> None: + # Kernels compiled outside autotuning (no autotuner frames on the + # compilation stack) leave the session with no compilation events. + # The all-note fallback preserves the coarse launch groups, so + # output-file lookup resolves through the launches' compilation + # hashes and the session still emits instead of hitting the + # neither-compilations-nor-launches guard. + events = _two_key_trace()[:6] + for event in events: + if event.get("event_type") == "compilation": + event["stack"] = [ + {"filename": "/user/loop.py", "name": "run_kernel", "line": 1} + ] + elif event.get("event_type") == "launch": + event["extracted_args"] = {"_note": "captured"} + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertEqual( + sorted(analyses[0]["launch_occurrence_ids"]["benchmark"]), [2, 3] + ) + self.assertEqual(sorted(analyses[0]["launch_occurrence_ids"]["winner"]), [4]) + self.assertFalse(analyses[0]["cache_usage"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_a") + self.assertIn("autotune_result", analyses[0]) + + def test_mixed_descriptor_masks_only_config_paths(self) -> None: + # A descriptor mixing key fields (shape, one per round) with + # config fields (block_shape, one per compilation) must split on + # the key fields only. Masking the whole argument would merge the + # rounds; keeping it whole would over-split on block_shape (four + # partitions); per-path masking yields exactly the two rounds. + def _descriptor(shape, block_shape, data_ptr): + return { + "type": "TensorDescriptor", + "base": { + "type": "tensor", + "shape": [16, 16], + "dtype": "torch.float16", + "stride": [16, 1], + "data_ptr": data_ptr, + }, + "shape": shape, + "strides": [16, 1], + "block_shape": block_shape, + "padding": "zero", + } + + def _desc_launch(kernel_hash, shape, block_shape, boundary, data_ptr): + launch = _launch( + kernel_hash, + 16, + 16 if kernel_hash == "hash_a" else 32, + boundary, + data_ptr, + ) + launch["extracted_args"]["desc"] = _descriptor(shape, block_shape, data_ptr) + return launch + + events = [ + _compilation("hash_a"), + _compilation("hash_b"), + # Round 1: shape [16, 16], winner hash_a. + _desc_launch("hash_a", [16, 16], [16, 16], "_bench", "0x1000"), + _desc_launch("hash_b", [16, 16], [32, 16], "_bench", "0x2000"), + _desc_launch("hash_a", [16, 16], [16, 16], "run", "0x3000"), + _autotune_event(16, 16), + # Round 2: shape [32, 32], winner hash_b. + _desc_launch("hash_a", [32, 32], [16, 16], "_bench", "0x4000"), + _desc_launch("hash_b", [32, 32], [32, 16], "_bench", "0x5000"), + _desc_launch("hash_b", [32, 32], [32, 16], "run", "0x6000"), + _autotune_event(16, 32), + ] + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 2) + by_winner = {a["winner_compilation_hash"]: a for a in analyses} + self.assertEqual(set(by_winner), {"hash_a", "hash_b"}) + self.assertIn( + "BLOCK_SIZE_M: 16", by_winner["hash_a"]["autotune_result"]["best_config"] + ) + self.assertIn( + "BLOCK_SIZE_M: 32", by_winner["hash_b"]["autotune_result"]["best_config"] + ) + for analysis in analyses: + _, _, sig = analysis["session_id"].partition(":") + self.assertEqual(len(sig), 16) + + def test_descriptor_args_stable_across_reallocation(self) -> None: + # TMA descriptors nest backing-tensor data_ptrs. Reallocating the + # backing tensor must not split a round, and config-shaped fields + # (block_shape rewritten per config) must still be recognized as + # config params so the round stays whole. + def _descriptor(block_shape, data_ptr): + return { + "type": "TensorDescriptor", + "base": { + "type": "tensor", + "shape": [16, 16], + "dtype": "torch.float16", + "stride": [16, 1], + "data_ptr": data_ptr, + }, + "shape": [16, 16], + "strides": [16, 1], + "block_shape": block_shape, + "padding": "zero", + } + + def _desc_launch(kernel_hash, block_shape, data_ptr, boundary): + launch = _launch(kernel_hash, 16, 16, boundary, data_ptr) + launch["extracted_args"]["desc"] = _descriptor(block_shape, data_ptr) + return launch + + events = [ + _compilation("hash_a"), + _compilation("hash_b"), + _desc_launch("hash_a", [16, 16], "0x1000", "_bench"), + _desc_launch("hash_b", [32, 16], "0x1000", "_bench"), + # Winner rerun after the backing tensor was reallocated. + _desc_launch("hash_a", [16, 16], "0x9999", "run"), + _autotune_event(16, 16), + ] + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + self.assertNotIn(":", analyses[0]["session_id"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_a") + self.assertIn("autotune_result", analyses[0]) + + def test_warp_specialization_matches_on_warps_base(self) -> None: + # Under warp specialization the launch metadata carries the + # expanded num_warps while best_config prints the requested one; + # matching must use the compilation payload's num_warps_base. + events = _two_key_trace() + for event in events: + if event.get("event_type") == "launch": + event["compilation_metadata"]["num_warps"] = 8 + elif event.get("event_type") == "compilation": + event["payload"]["metadata"]["num_warps"] = 8 + event["payload"]["metadata"]["num_warps_base"] = 4 + elif event.get("event_type") == "autotune": + event["best_config"] = event["best_config"].replace( + "num_warps: 1", "num_warps: 4" + ) + _write_trace(self.input_path, events) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 2) + by_winner = {a["winner_compilation_hash"]: a for a in analyses} + self.assertIn( + "BLOCK_SIZE_M: 16", by_winner["hash_a"]["autotune_result"]["best_config"] + ) + self.assertIn( + "BLOCK_SIZE_M: 32", by_winner["hash_b"]["autotune_result"]["best_config"] + ) + + def test_single_key_session_keeps_plain_session_id(self) -> None: + _write_trace(self.input_path, _two_key_trace()[:6]) + parse_single_rank([self.input_path], self.output_dir) + + analyses = [ + e + for e in _read_output_events(self.output_dir) + if e.get("event_type") == "autotune_analysis" + ] + self.assertEqual(len(analyses), 1) + # No split happened, so the session id keeps its legacy plain form. + self.assertNotIn(":", analyses[0]["session_id"]) + self.assertEqual(analyses[0]["winner_compilation_hash"], "hash_a") + self.assertIn("autotune_result", analyses[0]) + + +class BestConfigParsingTest(unittest.TestCase): + def test_tuple_value_with_commas_survives(self) -> None: + parsed = _parse_best_config("BLOCK: (16, 32), BLOCK_SIZE_M: 16, num_warps: 1") + self.assertEqual( + parsed, + {"BLOCK": "(16, 32)", "BLOCK_SIZE_M": "16", "num_warps": "1"}, + ) + + def test_non_string_config_parses_to_empty(self) -> None: + self.assertEqual(_parse_best_config(None), {}) + self.assertEqual(_parse_best_config({"BLOCK_SIZE_M": 16}), {}) + + def test_config_value_matching(self) -> None: + # Exact ints, including beyond float precision and hex spellings. + self.assertTrue(_config_value_matches("16", 16)) + self.assertTrue(_config_value_matches("0x10", 16)) + self.assertTrue(_config_value_matches(str(2**60 + 1), 2**60 + 1)) + self.assertFalse(_config_value_matches("17", 16)) + # None spellings. + self.assertTrue(_config_value_matches("None", None)) + self.assertFalse(_config_value_matches("16", None)) + # Bools only accept true/false/1/0 spellings, never other numbers. + self.assertTrue(_config_value_matches("True", True)) + self.assertTrue(_config_value_matches("1", True)) + self.assertTrue(_config_value_matches("False", False)) + self.assertTrue(_config_value_matches("0", False)) + self.assertFalse(_config_value_matches("True", 1)) + self.assertFalse(_config_value_matches("2", True)) + self.assertFalse(_config_value_matches("-1", True)) + self.assertFalse(_config_value_matches("yes", True)) + self.assertFalse(_config_value_matches("True", False)) + # Floats and plain strings fall through. + self.assertTrue(_config_value_matches("1.5", 1.5)) + self.assertTrue(_config_value_matches("relu", "relu")) + self.assertFalse(_config_value_matches("relu", "none")) + # Sequences: best_config prints tuples while JSON round-trips + # turn them into lists. + self.assertTrue(_config_value_matches("(2, 1, 1)", [2, 1, 1])) + self.assertTrue(_config_value_matches("(2, 1, 1)", (2, 1, 1))) + self.assertFalse(_config_value_matches("(2, 1)", [2, 1, 1])) + self.assertFalse(_config_value_matches("None", [1])) + # "repr" payloads unwrap for values without structured form. + self.assertEqual( + _extract_scalar_value({"type": "NoneType", "repr": "None"}), "None" + ) + self.assertTrue(_config_value_matches("None", "None")) + self.assertTrue(_config_value_matches("(16, 32)", "(16, 32)")) diff --git a/tritonparse/parse/event_diff.py b/tritonparse/parse/event_diff.py index 07ab249d..f8f730ed 100644 --- a/tritonparse/parse/event_diff.py +++ b/tritonparse/parse/event_diff.py @@ -1,7 +1,10 @@ # Copyright (c) Meta Platforms, Inc. and affiliates. +import ast +import hashlib +import re from collections import defaultdict, OrderedDict -from typing import Any, Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Set, Tuple from tritonparse._json_compat import dumps, loads @@ -108,9 +111,715 @@ def _dedup_compilations_by_hash( return deduped +def _is_tensor_arg_value(arg_val: Any) -> bool: + """True when an extracted arg value describes a plain tensor argument.""" + return isinstance(arg_val, dict) and arg_val.get("type") == "tensor" + + +def _is_tensor_like_value(arg_val: Any) -> bool: + """True for tensor args including descriptors and foreign wrappers. + + Covers plain tensors plus TMA TensorDescriptors and triton_kernels + Tensor/Storage wrappers, which nest backing-tensor metadata. + """ + if not isinstance(arg_val, dict): + return False + arg_type = arg_val.get("type", "") + return ( + arg_type == "tensor" + or arg_type == "TensorDescriptor" + or (isinstance(arg_type, str) and arg_type.startswith("triton_kernels.tensor.")) + ) + + +def _extract_scalar_value(arg_val: Any) -> Any: + """Unwrap {"type": ..., "value": ...} scalar wrappers, if present. + + Falls back to the "repr" payload for values recorded without a + structured value (None, tuples, other objects), so config values + such as "None" still compare against best_config spellings. + """ + if isinstance(arg_val, dict) and "type" in arg_val and "value" in arg_val: + return arg_val["value"] + if isinstance(arg_val, dict) and "repr" in arg_val: + return arg_val["repr"] + return arg_val + + +def _is_note_only_launch(extracted: Dict[str, Any]) -> bool: + """True when a launch carries no extractable arguments. + + During CUDA graph capture, argument extraction is skipped and the + launch records {"_note": ...} instead of real args. Such launches + carry no key information (a plain string marker, never a wrapped + {"type", "value"} kernel parameter), so key partitioning ignores + them; the same round's warmup launches outside capture still carry + the full arguments. + """ + return isinstance(extracted.get("_note"), str) + + +def _drop_data_ptrs(value: Any) -> Any: + """Recursively drop data_ptr fields from extracted argument values. + + Tensor descriptors and foreign tensor wrappers nest backing-tensor + metadata (including volatile data_ptrs) inside the argument dict. + Dropping data_ptrs keeps signatures stable across reallocations + while retaining identity metadata (shapes, dtypes, block shapes). + """ + if isinstance(value, dict): + return {k: _drop_data_ptrs(v) for k, v in value.items() if k != "data_ptr"} + if isinstance(value, list): + return [_drop_data_ptrs(v) for v in value] + return value + + +def _fingerprint_value(value: Any) -> str: + """Stable fingerprint of one config-detection leaf value.""" + try: + return dumps(_drop_data_ptrs(value), sort_keys=True) + except TypeError: + return dumps(str(value)) + + +def _config_leaf_fingerprints(arg_val: Any) -> List[Tuple[Tuple[str, ...], str]]: + """Locate config correlation at (path, fingerprint) granularity. + + Nested dicts (descriptors, foreign wrappers) are fingerprinted per + leaf path so a config-shaped nested field (e.g. block_shape) does + not drag key-shaped siblings (e.g. shape) out of the signature. + Lists are leaves: per-index splits are contrived, and whole-list + comparison already matches the legacy behavior when a list mixes + key/config content. data_ptr entries are skipped everywhere since + they are volatile across reallocations. + """ + if not isinstance(arg_val, dict): + return [((), _fingerprint_value(arg_val))] + flattened: List[Tuple[Tuple[str, ...], str]] = [] + stack: List[Tuple[Dict[str, Any], Tuple[str, ...]]] = [(arg_val, ())] + while stack: + current, path = stack.pop() + for key in sorted(current, key=str): + if key == "data_ptr": + continue + child = current[key] + child_path = path + (key,) + if isinstance(child, dict): + stack.append((child, child_path)) + else: + flattened.append((child_path, _fingerprint_value(child))) + return flattened + + +def _mask_config_paths( + value: Dict[str, Any], config_paths: Set[Tuple[str, ...]] +) -> Dict[str, Any]: + """Copy a nested arg value with config-correlated leaves removed. + + data_ptr fields are dropped first (see _drop_data_ptrs); paths that + are absent in this launch's shape are skipped. + """ + masked = _drop_data_ptrs(value) + for path in config_paths: + current = masked + for step in path[:-1]: + if not isinstance(current, dict) or step not in current: + current = None + break + current = current[step] + if path and isinstance(current, dict): + current.pop(path[-1], None) + return masked + + +# Marks a nested path missing from a launch's arg shape during config +# detection. Presence/absence correlated with compilation is itself a +# config signal (e.g. "value" vs "repr" in None/int scalar wrappers). +_ABSENT: Any = object() + + +def _find_config_args( + group_infos: List[Tuple[str, Optional[str], Dict[str, Any]]], +) -> Dict[str, Optional[Set[Tuple[str, ...]]]]: + """Find launch args (or nested fields) determined by compilation hash. + + A (arg, path) pair is config-correlated when every compilation hash + in the session shows exactly one fingerprint for it, while distinct + hashes disagree (e.g. BLOCK_SIZE_M). Tensor args never participate. + Launches without a compilation hash cannot be attributed, so they + are skipped here. + + Returns a mapping of arg name to the config-correlated paths within + it, or None when the whole arg is config-correlated (scalars and + fully config-shaped descriptors). + """ + values_by_path: Dict[Tuple[str, Tuple[str, ...]], Dict[str, Set[Any]]] = ( + defaultdict(lambda: defaultdict(set)) + ) + paths_by_arg: Dict[str, Set[Tuple[str, ...]]] = defaultdict(set) + hash_universe: Set[str] = set() + for _group_hash, comp_hash, extracted in group_infos: + if not comp_hash: + continue + hash_universe.add(comp_hash) + for arg_name, arg_val in extracted.items(): + # Plain tensors never participate: tensor identity is key-like + # (shapes group rounds), never config-like. Descriptors and + # foreign wrappers DO participate on data_ptr-free content, so + # config-shaped fields (e.g. a pre-hook rewriting block_shape + # per config) are still recognized as config params. + if _is_tensor_arg_value(arg_val): + continue + for path, fingerprint in _config_leaf_fingerprints(arg_val): + paths_by_arg[arg_name].add(path) + values_by_path[(arg_name, path)][comp_hash].add(fingerprint) + for (_arg_name, path), per_hash in values_by_path.items(): + if not path: + continue + # A nested path missing under a hash counts as a distinct value; + # otherwise a field present under only one hash would escape + # config detection and split the session by config. + for comp_hash in hash_universe: + if comp_hash not in per_hash: + per_hash[comp_hash] = {_ABSENT} + config_paths_by_arg: Dict[str, Set[Tuple[str, ...]]] = defaultdict(set) + for (arg_name, path), per_hash in values_by_path.items(): + if len(per_hash) <= 1: + continue + if not all(len(values) == 1 for values in per_hash.values()): + continue + # The values must actually disagree across hashes; a constant + # field is not a config param even though it trivially has "one + # value per hash". + if len(set().union(*per_hash.values())) > 1: + config_paths_by_arg[arg_name].add(path) + config_args: Dict[str, Optional[Set[Tuple[str, ...]]]] = {} + for arg_name, paths in config_paths_by_arg.items(): + if paths and paths == paths_by_arg[arg_name]: + config_args[arg_name] = None + else: + config_args[arg_name] = paths + return config_args + + +def _launch_key_signature( + extracted: Dict[str, Any], + config_args: Dict[str, Optional[Set[Tuple[str, ...]]]], +) -> str: + """Stable signature of a launch's autotune-key arguments. + + Covers all scalar args except autotune config params, plus tensor + identity metadata (dtype/shape/strides; data_ptr excluded since it + changes on every allocation). Launches from one key invocation share a + signature; different keys differ in at least one runtime arg. + """ + payload: Dict[str, Any] = {} + for arg_name in sorted(extracted): + arg_val = extracted[arg_name] + if arg_name in config_args: + paths = config_args[arg_name] + if paths is None or not isinstance(arg_val, dict): + continue + # Mixed key/config descriptor: mask only the config paths so + # key-shaped nested fields still separate key rounds. + payload[arg_name] = _mask_config_paths(arg_val, paths) + elif _is_tensor_arg_value(arg_val): + payload[arg_name] = { + key: arg_val.get(key) + for key in ("dtype", "shape", "stride", "strides", "numel") + if key in arg_val + } + elif isinstance(arg_val, dict): + # Descriptors and foreign wrappers: keep identity metadata + # but drop volatile nested data_ptrs for stability. + payload[arg_name] = _drop_data_ptrs(arg_val) + else: + payload[arg_name] = arg_val + try: + serialized = dumps(payload, sort_keys=True) + except TypeError: + serialized = dumps(str(payload)) + return hashlib.sha256(serialized.encode("utf-8")).hexdigest()[:16] + + +def _split_session_by_launch_key( + session_id: str, + session_data: Dict[str, Any], + launch_by_group_hash: Dict[str, Dict[str, Any]], +) -> List[Dict[str, Any]]: + """Partition one call-site session into per-autotune-key sub-sessions. + + Repeated ``Autotuner.run()`` invocations at the same call site (e.g. a + loop over problem sizes) share one call-site session id. Each invocation + benchmarks with identical runtime args, so grouping launches by key + signature recovers the original invocations. + + Single-partition sessions keep the plain coarse session id so their + output is unchanged; split sessions get "{session_id}:{full_sig}" + ids (the full 16-char signature: truncating it could collide and + silently drop a key round). Partitions are ordered by first + occurrence for stable output. Each partition carries + launch_group_hashes (ordered as the legacy path orders them) and + benchmark/winner occurrence ids. + + Limitation: launches without distinguishing arguments cannot be + attributed to a key (``extracted_args`` is optional in the launch + schema). Distinct listener keys alone cannot partition + indistinguishable launches, so such rounds share one partition and + only the latest listener result is attached. Likewise, an autotune + key on a tl.constexpr/specialized argument is misread as a config + param (one value per compilation hash) whenever tensor shapes do + not already separate the rounds; deriving config fields from + best_config is impossible on traces without listener events, and + compilation metadata does not record constexpr values. Note-only + launches in a split session stay unattributed: their occurrence ids + are excluded from every partition since no key can be derived for + them. Result matching is heuristic as well: a result matches when + every best_config pair resolvable against the winner launch agrees, + so rounds whose distinguishing config fields are all unresolvable + are told apart by shared fields and file order only. + """ + all_occurrences = session_data.get("launch_occurrences", []) or [] + group_hashes = session_data.get("launch_group_hashes", set()) or set() + + group_infos: List[Tuple[str, Optional[str], Dict[str, Any]]] = [] + skipped_note_groups = set() + for group_hash in group_hashes: + launch = launch_by_group_hash.get(group_hash, {}) + comp_hash = launch.get("compilation_metadata", {}).get("hash") + extracted = launch.get("extracted_args", {}) or {} + # Launches captured inside CUDA graphs carry a _note marker + # instead of real args. They hold no key information and would + # pool unrelated rounds into one partition, so key derivation + # ignores them; emission still counts their occurrences whenever + # no attribution choice is needed (see below). + if _is_note_only_launch(extracted): + skipped_note_groups.add(group_hash) + continue + group_infos.append((group_hash, comp_hash, extracted)) + occurrences = [ + record + for record in all_occurrences + if record.get("launch_group_hash") not in skipped_note_groups + ] + + def _single_partition( + benchmark_ids: List[int], winner_ids: List[int] + ) -> List[Dict[str, Any]]: + ordered = sorted( + (info[0] for info in group_infos), + key=lambda h: launch_by_group_hash.get(h, {}).get("occurrence_id", 0), + ) + return [ + { + "sub_session_id": session_id, + "launch_group_hashes": ordered, + "benchmark_occurrence_ids": benchmark_ids, + "winner_occurrence_ids": winner_ids, + } + ] + + if not group_infos: + # Nothing attributable to split on: either a compilations-only + # session (benchmark launches untraced) or an all-note session + # (every launch captured inside CUDA graphs). Preserve the coarse + # session verbatim (legacy parity): the groups keep output-file + # lookup and the neither-compilations-nor-launches guard working + # when the kernels compiled outside this call site, and the coarse + # occurrence ids keep the real launches instead of reporting an + # empty, cache-looking session. + ordered = sorted( + group_hashes, + key=lambda h: launch_by_group_hash.get(h, {}).get("occurrence_id", 0), + ) + return [ + { + "sub_session_id": session_id, + "launch_group_hashes": ordered, + "benchmark_occurrence_ids": list( + session_data.get("benchmark_occurrence_ids", []) + ), + "winner_occurrence_ids": list( + session_data.get("winner_occurrence_ids", []) + ), + } + ] + if not occurrences: + # Defensive: same-process ingest always records occurrences, but + # keep emission working (with coarse occurrence lists) if absent. + return _single_partition( + list(session_data.get("benchmark_occurrence_ids", [])), + list(session_data.get("winner_occurrence_ids", [])), + ) + + config_args = _find_config_args(group_infos) + signature_by_group = { + group_hash: _launch_key_signature(extracted, config_args) + for group_hash, _comp_hash, extracted in group_infos + } + grouped: Dict[str, List[str]] = defaultdict(list) + for group_hash, _comp_hash, _extracted in group_infos: + grouped[signature_by_group[group_hash]].append(group_hash) + + if len(grouped) == 1: + # One key round: no attribution choice, so note occurrences join + # the emission (their arg payload stays excluded from the groups + # above, keeping _note markers out of the varies table). + bench_ids = [ + record["occurrence_id"] + for record in all_occurrences + if record.get("is_benchmark") + ] + winner_ids = [ + record["occurrence_id"] + for record in all_occurrences + if not record.get("is_benchmark") + ] + return _single_partition(bench_ids, winner_ids) + + def _partition_min_occurrence(sig: str) -> int: + member_groups = set(grouped[sig]) + occs = [ + record["occurrence_id"] + for record in occurrences + if record.get("launch_group_hash") in member_groups + ] + return min(occs) if occs else 0 + + partitions = [] + for sig in sorted(grouped, key=_partition_min_occurrence): + member_groups = set(grouped[sig]) + bench_ids = [] + winner_ids = [] + for record in occurrences: + if record.get("launch_group_hash") not in member_groups: + continue + if record.get("is_benchmark"): + bench_ids.append(record["occurrence_id"]) + else: + winner_ids.append(record["occurrence_id"]) + ordered = sorted( + grouped[sig], + key=lambda h: launch_by_group_hash.get(h, {}).get("occurrence_id", 0), + ) + partitions.append( + { + "sub_session_id": f"{session_id}:{sig}", + "launch_group_hashes": ordered, + "benchmark_occurrence_ids": bench_ids, + "winner_occurrence_ids": winner_ids, + } + ) + return partitions + + +def _resolve_partition_winner( + winner_occurrence_ids: List[int], + occurrence_to_group: Dict[int, str], + launch_by_group_hash: Dict[str, Dict[str, Any]], +) -> Tuple[Optional[str], Optional[str]]: + """Resolve (selected launch_group_hash, winner compilation hash). + + Mirrors the legacy last-non-benchmark-launch rule, scoped to one + partition: the latest winner occurrence whose launch carries a hash. + """ + for occurrence_id in reversed(winner_occurrence_ids): + group_hash = occurrence_to_group.get(occurrence_id) + if not group_hash: + continue + launch = launch_by_group_hash.get(group_hash, {}) + comp_hash = launch.get("compilation_metadata", {}).get("hash") + if comp_hash: + return group_hash, comp_hash + return None, None + + +# A value runs until the next "name:" pair (or end of string), so tuple/list +# values containing commas are kept intact. +_BEST_CONFIG_PAIR_RE = re.compile( + r"([A-Za-z_]\w*)\s*:\s*(.*?)(?=,\s*[A-Za-z_]\w*\s*:|$)" +) + + +def _parse_best_config(best_config: Any) -> Dict[str, str]: + """Parse Triton Config str form ("BLOCK_SIZE_M: 16, num_warps: 1, ...").""" + if not isinstance(best_config, str): + return {} + return { + match.group(1): match.group(2).strip() + for match in _BEST_CONFIG_PAIR_RE.finditer(best_config) + } + + +def _parse_sequence_literal(text: str) -> Optional[List[Any]]: + """Parse a best_config sequence spelling ("(2, 1, 1)") into a list.""" + try: + value = ast.literal_eval(text) + except (ValueError, SyntaxError): + return None + if isinstance(value, (list, tuple)): + return list(value) + return None + + +def _config_value_matches(expected: str, actual: Any) -> bool: + """Compare a parsed best_config value against a launch value. + + Int-aware first (exact for large ints; also accepts hex), then + sequences (best_config prints tuples while JSON round-trips turn + them into lists), then numeric, then string fallback. Bools compare + against true/false/1/0 spellings. + """ + text = expected.strip() + if actual is None: + return text in ("None", "null", "") + if isinstance(actual, bool): + normalized = text.lower() + if normalized in ("1", "true"): + return actual is True + if normalized in ("0", "false"): + return actual is False + return False + if isinstance(actual, int): + try: + return int(text, 0) == actual + except ValueError: + pass + if isinstance(actual, (list, tuple)): + parsed = _parse_sequence_literal(text) + return parsed is not None and parsed == list(actual) + try: + return float(text) == float(actual) + except (TypeError, ValueError): + return text == str(actual) + + +def _match_autotune_result( + results: List[Dict[str, Any]], + winner_launch: Dict[str, Any], + skip_indices: Set[int], + winner_warps_base: Optional[int] = None, +) -> Optional[int]: + """Match listener results to a partition via its winner launch. + + Every best_config pair resolvable against the winner's config values + (extracted scalar args, then compilation metadata) must agree. + Tensor-like extracted args are skipped (a config name can never + denote a tensor). Under warp specialization the launch metadata + carries the expanded num_warps while best_config prints the + requested one, so num_warps compares against winner_warps_base when + the compilation payload recovered one. Returns the index of the + first match in file order that is not in skip_indices, so each + result is consumed by at most one partition. + + This is heuristic: pairs unresolvable against the winner (e.g. BLOCK + sizes, which are neither kernel args nor compilation metadata) are + skipped, so a match on shared fields alone can misattribute results + when file order disagrees with round order. + """ + extracted = winner_launch.get("extracted_args", {}) or {} + compilation_metadata = winner_launch.get("compilation_metadata", {}) or {} + for index, result in enumerate(results): + if index in skip_indices: + continue + pairs = _parse_best_config(result.get("best_config")) + compared = 0 + matched = 0 + for name, expected in pairs.items(): + if name == "num_warps" and winner_warps_base is not None: + actual = winner_warps_base + elif name in extracted and not _is_tensor_like_value(extracted[name]): + actual = _extract_scalar_value(extracted[name]) + elif name in compilation_metadata: + actual = compilation_metadata[name] + else: + continue + compared += 1 + if _config_value_matches(expected, actual): + matched += 1 + if compared > 0 and matched == compared: + return index + return None + + +def _globally_referenced_hashes( + partitions: List[Dict[str, Any]], + launch_by_group_hash: Dict[str, Dict[str, Any]], +) -> Set[str]: + """Compilation hashes referenced by any partition's launches.""" + referenced = set() + for part in partitions: + for group_hash in part["launch_group_hashes"]: + launch = launch_by_group_hash.get(group_hash, {}) + comp_hash = launch.get("compilation_metadata", {}).get("hash") + if comp_hash: + referenced.add(comp_hash) + return referenced + + +def _partition_compilations( + part: Dict[str, Any], + coarse_compilations: List[Dict[str, Any]], + launch_by_group_hash: Dict[str, Dict[str, Any]], + unattributed_hashes: Set[str], +) -> List[Dict[str, Any]]: + """Compilations for a partition, in coarse order. + + Besides compilations referenced by this partition's launches, this + keeps compilations unattributed to any partition (e.g. a candidate + whose benchmark launches were never traced), so a split never + silently drops a config that the unsplit session would have shown. + """ + referenced = set(unattributed_hashes) + for group_hash in part["launch_group_hashes"]: + launch = launch_by_group_hash.get(group_hash, {}) + comp_hash = launch.get("compilation_metadata", {}).get("hash") + if comp_hash: + referenced.add(comp_hash) + return [ + comp + for comp in coarse_compilations + if comp.get("payload", {}).get("metadata", {}).get("hash") in referenced + ] + + +def _build_sub_session( + part: Dict[str, Any], + coarse_compilations: List[Dict[str, Any]], + occurrence_to_group: Dict[int, str], + results: List[Dict[str, Any]], + used_result_indices: Set[int], + unattributed_hashes: Set[str], + single: bool, + launch_by_group_hash: Dict[str, Dict[str, Any]], +) -> Tuple[Dict[str, Any], Optional[str]]: + """Build one expanded sub-session entry plus its selected group hash.""" + if single: + # No split: keep every coarse compilation (including ones no + # launch references) so output matches the legacy path. + part_compilations = list(coarse_compilations) + else: + part_compilations = _partition_compilations( + part, coarse_compilations, launch_by_group_hash, unattributed_hashes + ) + + selected_group, winner_hash = _resolve_partition_winner( + part["winner_occurrence_ids"], + occurrence_to_group, + launch_by_group_hash, + ) + + matched_result: Optional[Dict[str, Any]] = None + if results: + if single: + # Legacy parity: ingest used to keep only the last result. + matched_result = results[-1] + elif selected_group: + # Warp-specialized kernels record the requested num_warps + # as num_warps_base on the compilation payload; the launch + # metadata only carries the expanded count. + winner_warps_base = None + if winner_hash: + for comp in part_compilations: + comp_meta = comp.get("payload", {}).get("metadata", {}) + if comp_meta.get("hash") == winner_hash: + winner_warps_base = comp_meta.get("num_warps_base") + break + match_index = _match_autotune_result( + results, + launch_by_group_hash.get(selected_group, {}), + used_result_indices, + winner_warps_base, + ) + if match_index is not None: + used_result_indices.add(match_index) + matched_result = results[match_index] + + sub_data: Dict[str, Any] = { + "compilations": part_compilations, + "launch_group_hashes": set(part["launch_group_hashes"]), + "benchmark_occurrence_ids": part["benchmark_occurrence_ids"], + "winner_occurrence_ids": part["winner_occurrence_ids"], + } + if matched_result: + sub_data["autotune_result"] = matched_result + return sub_data, selected_group + + +def _expand_sessions_by_launch_key( + autotune_sessions: Dict[str, Dict[str, Any]], + session_stacks: Dict[str, List[Dict[str, Any]]], + launch_by_group_hash: Dict[str, Dict[str, Any]], +) -> Tuple[Dict[str, Dict[str, Any]], Dict[str, str], Dict[str, List[Dict[str, Any]]]]: + """Expand call-site sessions into per-autotune-key sub-sessions. + + Returns (expanded_sessions, expanded_winners, expanded_stacks) with the + same shapes the emission passes already consume: each sub-session keeps + compilations, launch_group_hashes, and occurrence id lists; winners map + to the selected launch_group_hash; stacks still describe the shared + call site. Each sub-session also carries its own "autotune_result" + (matched by best config with each result consumed at most once, or + the last result when no split happened). + """ + expanded_sessions: Dict[str, Dict[str, Any]] = {} + expanded_winners: Dict[str, str] = {} + expanded_stacks: Dict[str, List[Dict[str, Any]]] = {} + + for session_id, session_data in autotune_sessions.items(): + if not session_data: + continue + partitions = _split_session_by_launch_key( + session_id, session_data, launch_by_group_hash + ) + if not partitions: + continue + occurrence_to_group = { + record["occurrence_id"]: record.get("launch_group_hash", "") + for record in session_data.get("launch_occurrences", []) or [] + } + # Deduped coarse compilations define the reference order; shared + # compilations legitimately appear in several partitions. + coarse_compilations = _dedup_compilations_by_hash( + session_data.get("compilations", []) + ) + results = list(session_data.get("autotune_results", []) or []) + legacy_single = session_data.get("autotune_result") + if legacy_single and not results: + results = [legacy_single] + single = len(partitions) == 1 + used_result_indices: Set[int] = set() + # Compilations no partition's launches reference cannot be + # attributed to a key round; promote them to every partition so + # a split never drops them (single-partition sessions already + # keep all coarse compilations). + unattributed_hashes = { + comp.get("payload", {}).get("metadata", {}).get("hash") + for comp in coarse_compilations + } - _globally_referenced_hashes(partitions, launch_by_group_hash) + unattributed_hashes.discard(None) + + for part in partitions: + sub_id = part["sub_session_id"] + sub_data, selected_group = _build_sub_session( + part, + coarse_compilations, + occurrence_to_group, + results, + used_result_indices, + unattributed_hashes, + single, + launch_by_group_hash, + ) + expanded_sessions[sub_id] = sub_data + if selected_group: + expanded_winners[sub_id] = selected_group + expanded_stacks[sub_id] = session_stacks.get(session_id, []) + + return expanded_sessions, expanded_winners, expanded_stacks + + def _generate_autotune_analysis_events( autotune_sessions: Dict[str, Dict[str, Any]], - autotune_winners: Dict[str, str], compilations_by_hash: Dict[str, Any], session_stacks: Dict[str, List[Dict[str, Any]]], launch_by_group_hash: Dict[str, Dict[str, Any]], @@ -118,11 +827,15 @@ def _generate_autotune_analysis_events( """ Generates autotune_analysis events from grouped compilation sessions. + Call-site sessions are first expanded into per-autotune-key + sub-sessions (see _expand_sessions_by_launch_key); every pass below + then operates on sub-sessions. Unsplit sessions keep their plain + session id and behave exactly as before. + Args: autotune_sessions: Dict mapping session_id to - {"compilations": [...], "launch_group_hashes": set([...])}. - autotune_winners: Dict mapping session_id to the selected launch_group_hash - (the winning compilation hash is derived from the launch event). + {"compilations": [...], "launch_group_hashes": set([...]), + "launch_occurrences": [...], "autotune_results": [...]}. compilations_by_hash: Dict containing processed kernel data, used to find output files. session_stacks: Dict mapping session_id to the user call stack. @@ -134,6 +847,15 @@ def _generate_autotune_analysis_events( """ output_events: Dict[str, List[str]] = defaultdict(list) + # Expand each call-site session into per-autotune-key sub-sessions. + # Winners are resolved per sub-session from occurrence records, and + # each sub-session carries its own matched autotune result. + expanded_sessions, expanded_winners, expanded_stacks = ( + _expand_sessions_by_launch_key( + autotune_sessions, session_stacks, launch_by_group_hash + ) + ) + # Pre-compute hash-deduped compilations per session. Cross-PID merge # in parse_single_rank intentionally appends every observation; the # analysis below MUST collapse them by hash before counting "configs" @@ -141,7 +863,7 @@ def _generate_autotune_analysis_events( # _dedup_compilations_by_hash for the rationale. deduped_compilations: Dict[str, List[Dict[str, Any]]] = { sid: _dedup_compilations_by_hash(sd.get("compilations", []) if sd else []) - for sid, sd in autotune_sessions.items() + for sid, sd in expanded_sessions.items() } # First pass: Build hash → groups mapping from sessions with benchmarks @@ -149,7 +871,7 @@ def _generate_autotune_analysis_events( # This allows cached sessions to be associated with all possible groups hash_to_groups: Dict[str, List[List[str]]] = defaultdict(list) - for _session_id, session_data in autotune_sessions.items(): + for _session_id, session_data in expanded_sessions.items(): if not session_data: continue compilation_events = deduped_compilations[_session_id] @@ -176,7 +898,7 @@ def _generate_autotune_analysis_events( hash_to_groups[h].append(compilation_hashes) # Second pass: Generate autotune_analysis events - for session_id, session_data in autotune_sessions.items(): + for session_id, session_data in expanded_sessions.items(): if not session_data: continue @@ -498,7 +1220,7 @@ def _is_tensor_value(val: Any) -> bool: # Resolve winner_compilation_hash from selected launch_group_hash winner_compilation_hash: Optional[str] = None - selected_launch_group_hash = autotune_winners.get(session_id) + selected_launch_group_hash = expanded_winners.get(session_id) if ( selected_launch_group_hash and selected_launch_group_hash in launch_by_group_hash @@ -530,9 +1252,9 @@ def _is_tensor_value(val: Any) -> bool: analysis_event: Dict[str, Any] = { "event_type": "autotune_analysis", "session_id": session_id, - "session_stack": session_stacks.get(session_id, []), + "session_stack": expanded_stacks.get(session_id, []), "name": name, - "selected_hash": autotune_winners.get(session_id), + "selected_hash": expanded_winners.get(session_id), "winner_compilation_hash": winner_compilation_hash, "possible_groups": possible_groups, "compilation_analysis": compilation_analysis, @@ -571,14 +1293,14 @@ def _is_tensor_value(val: Any) -> bool: # 1. Winner run after benchmark (winner_occurrence_ids is not empty) # 2. Cached winner call (benchmark_occurrence_ids is empty) winner_run_counts: Dict[str, int] = defaultdict(int) - for session_id, session_data in autotune_sessions.items(): + for session_id, session_data in expanded_sessions.items(): if not session_data: continue winner_occurrence_ids = session_data.get("winner_occurrence_ids", []) # Count sessions that have winner runs (either after benchmark or cached) if len(winner_occurrence_ids) > 0: # Calculate winner_compilation_hash the same way as in Second pass - selected_launch_group_hash = autotune_winners.get(session_id) + selected_launch_group_hash = expanded_winners.get(session_id) if ( selected_launch_group_hash and selected_launch_group_hash in launch_by_group_hash diff --git a/tritonparse/parse/trace_processor.py b/tritonparse/parse/trace_processor.py index f3d025ae..7e84f50d 100644 --- a/tritonparse/parse/trace_processor.py +++ b/tritonparse/parse/trace_processor.py @@ -819,9 +819,16 @@ def parse_single_rank( "launch_group_hashes": set(), "benchmark_occurrence_ids": [], "winner_occurrence_ids": [], + # Per-launch records so analysis can split one call-site session + # into per-autotune-key sub-sessions. Each entry maps an + # occurrence back to its launch group. + "launch_occurrences": [], + # One entry per AutotuneListener callback. A list (not a single + # dict) because repeated invocations at the same call site with + # different keys each emit their own result. + "autotune_results": [], } ) - autotune_winners: Dict[str, str] = {} session_stacks: Dict[str, Any] = {} launch_by_group_hash: Dict[str, Dict[str, Any]] = {} next_occurrence_id: int = 0 @@ -981,13 +988,18 @@ def parse_single_rank( autotune_sessions[session_id][ "winner_occurrence_ids" ].append(occurrence_id) + autotune_sessions[session_id]["launch_occurrences"].append( + { + "occurrence_id": occurrence_id, + "launch_group_hash": launch_group_hash, + "is_benchmark": is_benchmark, + } + ) if kernel_hash: kernels_by_hash[kernel_hash]["launches"].append( (parsed_json, global_launch_index) ) - if not is_benchmark and session_id: - autotune_winners[session_id] = launch_group_hash global_launch_index += 1 elif event_type == "autotune": @@ -999,14 +1011,17 @@ def parse_single_rank( ): continue if session_id: - autotune_sessions[session_id]["autotune_result"] = { - "best_config": parsed_json.get("best_config"), - "configs_timings": parsed_json.get("configs_timings"), - "duration": parsed_json.get("duration"), - "cache_hit": parsed_json.get("cache_hit"), - "cache_key": parsed_json.get("cache_key"), - "kernel_name": parsed_json.get("kernel_name"), - } + autotune_sessions[session_id]["autotune_results"].append( + { + "best_config": parsed_json.get("best_config"), + "configs_timings": parsed_json.get("configs_timings"), + "duration": parsed_json.get("duration"), + "cache_hit": parsed_json.get("cache_hit"), + "cache_key": parsed_json.get("cache_key"), + "kernel_name": parsed_json.get("kernel_name"), + "autotune_key": parsed_json.get("autotune_key"), + } + ) if user_stack and session_id not in session_stacks: session_stacks[session_id] = user_stack @@ -1093,7 +1108,6 @@ def parse_single_rank( autotune_events_by_file = _generate_autotune_analysis_events( autotune_sessions, - autotune_winners, kernels_by_hash, session_stacks, launch_by_group_hash, From 57d8dba79b613ce2c8bcde4d9805ed01822ea278 Mon Sep 17 00:00:00 2001 From: Yueming Hao Date: Thu, 24 Sep 2026 08:59:36 -0700 Subject: [PATCH 2/2] Regenerate example traces for autotune session split (#440) Summary: Pull Request resolved: https://github.com/meta-pytorch/tritonparse/pull/440 Regenerate the `triton` and `inductor` example traces with `tritonparse.tools.generate_examples` (triton 3.8.0, torch 2.15 dev+cu130, H100) on top of the parent diff's autotune session split, so the shipped website examples and `tests/example_output` fixtures reflect per-key sub-sessions. What changed in the new traces: - The triton example's call-site matmul session now splits into two per-key sub-sessions (M=N=16 vs M=32,N=32): 1 -> 2 `autotune_analysis` events with `:` session ids. - matmul launch count 1078 -> 1041 (autotune benchmark jitter; refreshed to match the review-fixed parent, whose sub-session ids now carry full 16-char key signatures). Test-only update alongside the regen: - `test_list_kernels_multiple`: matmul launches 1078 -> 1041 (the comment already says to refresh on regen). Differential Revision: D121418449 --- tests/cpu/test_kernel_query.py | 2 +- ...dedicated_log_triton_trace_findhao_.ndjson | 50 +++++++++--------- ...log_triton_trace_findhao__mapped.ndjson.gz | Bin 173848 -> 170527 bytes ...og_triton_trace_inductor__mapped.ndjson.gz | Bin 219550 -> 198704 bytes ...log_triton_trace_findhao__mapped.ndjson.gz | Bin 173848 -> 170527 bytes ...og_triton_trace_inductor__mapped.ndjson.gz | Bin 219550 -> 198704 bytes 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/tests/cpu/test_kernel_query.py b/tests/cpu/test_kernel_query.py index caecc419..27120d73 100644 --- a/tests/cpu/test_kernel_query.py +++ b/tests/cpu/test_kernel_query.py @@ -86,7 +86,7 @@ def test_list_kernels_multiple(self): # half-written fixture; refresh it with `make regen-examples-install`. kernel_dict = {k.name: k for k in result} self.assertEqual(kernel_dict["fused_op_kernel"].total_launches, 4) - self.assertEqual(kernel_dict["matmul_kernel"].total_launches, 1078) + self.assertEqual(kernel_dict["matmul_kernel"].total_launches, 1041) def test_find_launch_index_valid(self): """Test finding valid kernel name and launch_id.""" diff --git a/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson b/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson index 68e1e4f4..977990c1 100644 --- a/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson +++ b/tests/example_output/logs/dedicated_log_triton_trace_findhao_.ndjson @@ -1,24 +1,26 @@ -{"event_type":"compilation","pid":1724463,"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":149,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":739,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":884,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[["tt.divisibility",16]],"(5,)":[["tt.divisibility",16]],"(6,)":[["tt.divisibility",16]],"(7,)":[],"(8,)":[["tt.divisibility",16]],"(9,)":[],"(10,)":[["tt.divisibility",16]],"(11,)":[],"(12,)":[],"(13,)":[],"(14,)":[],"(15,)":[],"(16,)":[]},"src_cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","src_constants":{"(7,)":1,"(9,)":1,"(11,)":1,"(12,)":16,"(13,)":16,"(14,)":16,"(15,)":1,"(16,)":null},"times":{"ir_initialization":377646,"lowering_stages":[],"store_results":0}},"file_path":{"matmul_kernel.source":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.source","matmul_kernel.ttir":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.ttir","matmul_kernel.ttgir":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.ttgir","matmul_kernel.llir":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.llir","matmul_kernel.ptx":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.ptx","matmul_kernel.cubin":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.cubin","matmul_kernel.json":"/home/user/.triton/cache/OUNNYLK5WWI2ZVOWQVDW2KQKYTYWY4C2H6C3O4KG3NCTLTMRRCFQ/matmul_kernel.json"},"file_content":{"matmul_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:0)\n#loc55 = loc(\"a\"(#loc))\n#loc56 = loc(\"b\"(#loc))\n#loc57 = loc(\"c\"(#loc))\n#loc58 = loc(\"M\"(#loc))\n#loc59 = loc(\"N\"(#loc))\n#loc60 = loc(\"K\"(#loc))\n#loc61 = loc(\"stride_am\"(#loc))\n#loc62 = loc(\"stride_bk\"(#loc))\n#loc63 = loc(\"stride_cm\"(#loc))\nmodule {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf16> loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc2)\n %cst_0 = arith.constant dense<16> : tensor<16x16xi32> loc(#loc1)\n %cst_1 = arith.constant dense<0.000000e+00> : tensor<16x16xf32> loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc64)\n %num_pid_m = arith.addi %M, %c15_i32 : i32 loc(#loc113)\n %num_pid_m_2 = arith.divsi %num_pid_m, %c16_i32 : i32 loc(#loc114)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc115)\n %num_pid_n_3 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc116)\n %group_id = arith.divsi %pid, %num_pid_n_3 : i32 loc(#loc67)\n %group_size = arith.subi %num_pid_m_2, %group_id : i32 loc(#loc68)\n %group_size_4 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc69)\n %pid_m = arith.remsi %pid, %group_size_4 : i32 loc(#loc70)\n %pid_m_5 = arith.addi %group_id, %pid_m : i32 loc(#loc71)\n %pid_n = arith.remsi %pid, %num_pid_n_3 : i32 loc(#loc72)\n %pid_n_6 = arith.divsi %pid_n, %group_size_4 : i32 loc(#loc73)\n %offs_am = arith.muli %pid_m_5, %c16_i32 : i32 loc(#loc74)\n %offs_am_7 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32> loc(#loc75)\n %offs_am_8 = tt.splat %offs_am : i32 -> tensor<16xi32> loc(#loc76)\n %offs_am_9 = arith.addi %offs_am_8, %offs_am_7 : tensor<16xi32> loc(#loc76)\n %offs_am_10 = tt.splat %M : i32 -> tensor<16xi32> loc(#loc77)\n %offs_am_11 = arith.remsi %offs_am_9, %offs_am_10 : tensor<16xi32> loc(#loc77)\n %offs_bn = arith.muli %pid_n_6, %c16_i32 : i32 loc(#loc78)\n %offs_bn_12 = tt.splat %offs_bn : i32 -> tensor<16xi32> loc(#loc79)\n %offs_bn_13 = arith.addi %offs_bn_12, %offs_am_7 : tensor<16xi32> loc(#loc79)\n %offs_bn_14 = tt.splat %N : i32 -> tensor<16xi32> loc(#loc80)\n %offs_bn_15 = arith.remsi %offs_bn_13, %offs_bn_14 : tensor<16xi32> loc(#loc80)\n %a_ptrs = tt.expand_dims %offs_am_11 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc81)\n %a_ptrs_16 = tt.splat %stride_am : i32 -> tensor<16x1xi32> loc(#loc82)\n %a_ptrs_17 = arith.muli %a_ptrs, %a_ptrs_16 : tensor<16x1xi32> loc(#loc82)\n %a_ptrs_18 = tt.expand_dims %offs_am_7 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc83)\n %a_ptrs_19 = tt.broadcast %a_ptrs_17 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc84)\n %a_ptrs_20 = tt.broadcast %a_ptrs_18 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc84)\n %a_ptrs_21 = arith.addi %a_ptrs_19, %a_ptrs_20 : tensor<16x16xi32> loc(#loc84)\n %a_ptrs_22 = tt.splat %a : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc85)\n %a_ptrs_23 = tt.addptr %a_ptrs_22, %a_ptrs_21 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc85)\n %b_ptrs = tt.expand_dims %offs_am_7 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc86)\n %b_ptrs_24 = tt.splat %stride_bk : i32 -> tensor<16x1xi32> loc(#loc87)\n %b_ptrs_25 = arith.muli %b_ptrs, %b_ptrs_24 : tensor<16x1xi32> loc(#loc87)\n %b_ptrs_26 = tt.expand_dims %offs_bn_15 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc88)\n %b_ptrs_27 = tt.broadcast %b_ptrs_25 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc89)\n %b_ptrs_28 = tt.broadcast %b_ptrs_26 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc89)\n %b_ptrs_29 = arith.addi %b_ptrs_27, %b_ptrs_28 : tensor<16x16xi32> loc(#loc89)\n %b_ptrs_30 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc90)\n %b_ptrs_31 = tt.addptr %b_ptrs_30, %b_ptrs_29 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc90)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc91)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc92)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%a_ptrs_46 = %a_ptrs_23, %b_ptrs_47 = %b_ptrs_31, %accumulator_48 = %cst_1) -> (tensor<16x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<16x16xf32>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc94)\n %a_block_49 = arith.subi %K, %a_block : i32 loc(#loc95)\n %a_block_50 = tt.splat %a_block_49 : i32 -> tensor<1x16xi32> loc(#loc96)\n %a_block_51 = arith.cmpi slt, %a_ptrs_18, %a_block_50 : tensor<1x16xi32> loc(#loc96)\n %a_block_52 = tt.broadcast %a_block_51 : tensor<1x16xi1> -> tensor<16x16xi1> loc(#loc97)\n %a_block_53 = tt.load %a_ptrs_46, %a_block_52, %cst : tensor<16x16x!tt.ptr> loc(#loc97)\n %b_block = tt.splat %a_block_49 : i32 -> tensor<16x1xi32> loc(#loc98)\n %b_block_54 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32> loc(#loc98)\n %b_block_55 = tt.broadcast %b_block_54 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc99)\n %b_block_56 = tt.load %b_ptrs_47, %b_block_55, %cst : tensor<16x16x!tt.ptr> loc(#loc99)\n %accumulator_57 = tt.dot %a_block_53, %b_block_56, %accumulator_48, inputPrecision = tf32 : tensor<16x16xf16> * tensor<16x16xf16> -> tensor<16x16xf32> loc(#loc100)\n %a_ptrs_58 = tt.addptr %a_ptrs_46, %cst_0 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc101)\n %b_ptrs_59 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc102)\n %b_ptrs_60 = tt.splat %b_ptrs_59 : i32 -> tensor<16x16xi32> loc(#loc103)\n %b_ptrs_61 = tt.addptr %b_ptrs_47, %b_ptrs_60 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc103)\n scf.yield %a_ptrs_58, %b_ptrs_61, %accumulator_57 : tensor<16x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<16x16xf32> loc(#loc43)\n } loc(#loc118)\n %c_block = arith.truncf %accumulator#2 : tensor<16x16xf32> to tensor<16x16xf16> loc(#loc104)\n %c_ptrs = tt.expand_dims %offs_am_9 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc105)\n %c_ptrs_32 = tt.splat %stride_cm : i32 -> tensor<16x1xi32> loc(#loc106)\n %c_ptrs_33 = arith.muli %c_ptrs_32, %c_ptrs : tensor<16x1xi32> loc(#loc106)\n %c_ptrs_34 = tt.splat %c : !tt.ptr -> tensor<16x1x!tt.ptr> loc(#loc107)\n %c_ptrs_35 = tt.addptr %c_ptrs_34, %c_ptrs_33 : tensor<16x1x!tt.ptr>, tensor<16x1xi32> loc(#loc107)\n %c_ptrs_36 = tt.expand_dims %offs_bn_13 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc108)\n %c_ptrs_37 = tt.broadcast %c_ptrs_35 : tensor<16x1x!tt.ptr> -> tensor<16x16x!tt.ptr> loc(#loc109)\n %c_ptrs_38 = tt.broadcast %c_ptrs_36 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc109)\n %c_ptrs_39 = tt.addptr %c_ptrs_37, %c_ptrs_38 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc109)\n %c_mask = tt.splat %M : i32 -> tensor<16x1xi32> loc(#loc110)\n %c_mask_40 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<16x1xi32> loc(#loc110)\n %c_mask_41 = tt.splat %N : i32 -> tensor<1x16xi32> loc(#loc111)\n %c_mask_42 = arith.cmpi slt, %c_ptrs_36, %c_mask_41 : tensor<1x16xi32> loc(#loc111)\n %c_mask_43 = tt.broadcast %c_mask_40 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc112)\n %c_mask_44 = tt.broadcast %c_mask_42 : tensor<1x16xi1> -> tensor<16x16xi1> loc(#loc112)\n %c_mask_45 = arith.andi %c_mask_43, %c_mask_44 : tensor<16x16xi1> loc(#loc112)\n tt.store %c_ptrs_39, %c_block, %c_mask_45 : tensor<16x16x!tt.ptr> loc(#loc53)\n tt.return loc(#loc54)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:22)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:24)\n#loc4 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:17)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:27)\n#loc6 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:30)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:27)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:22)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:33)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:46)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:33)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:27)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:19)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:40)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:23)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:51)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:38)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:68)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:23)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:38)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:68)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:26)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:37)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:56)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:49)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:25)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:36)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:56)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:48)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:33)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:51)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:47)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:43)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:12)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:43)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:12)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:39)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:18)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:33)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:18)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:8)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:29)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:37)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:29)\n#loc47 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:17)\n#loc48 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:68)\n#loc49 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:48)\n#loc50 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:33)\n#loc51 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:58)\n#loc52 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:39)\n#loc53 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:21)\n#loc54 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:4)\n#loc64 = loc(\"pid\"(#loc3))\n#loc65 = loc(\"num_pid_m\"(#loc5))\n#loc66 = loc(\"num_pid_n\"(#loc7))\n#loc67 = loc(\"group_id\"(#loc8))\n#loc68 = loc(\"group_size\"(#loc9))\n#loc69 = loc(\"group_size\"(#loc10))\n#loc70 = loc(\"pid_m\"(#loc11))\n#loc71 = loc(\"pid_m\"(#loc12))\n#loc72 = loc(\"pid_n\"(#loc13))\n#loc73 = loc(\"pid_n\"(#loc14))\n#loc74 = loc(\"offs_am\"(#loc15))\n#loc75 = loc(\"offs_am\"(#loc16))\n#loc76 = loc(\"offs_am\"(#loc17))\n#loc77 = loc(\"offs_am\"(#loc18))\n#loc78 = loc(\"offs_bn\"(#loc19))\n#loc79 = loc(\"offs_bn\"(#loc20))\n#loc80 = loc(\"offs_bn\"(#loc21))\n#loc81 = loc(\"a_ptrs\"(#loc22))\n#loc82 = loc(\"a_ptrs\"(#loc23))\n#loc83 = loc(\"a_ptrs\"(#loc24))\n#loc84 = loc(\"a_ptrs\"(#loc25))\n#loc85 = loc(\"a_ptrs\"(#loc26))\n#loc86 = loc(\"b_ptrs\"(#loc27))\n#loc87 = loc(\"b_ptrs\"(#loc28))\n#loc88 = loc(\"b_ptrs\"(#loc29))\n#loc89 = loc(\"b_ptrs\"(#loc30))\n#loc90 = loc(\"b_ptrs\"(#loc31))\n#loc91 = loc(callsite(#loc4 at #loc32))\n#loc92 = loc(callsite(#loc6 at #loc32))\n#loc93 = loc(\"a_ptrs\"(#loc2))\n#loc94 = loc(\"a_block\"(#loc33))\n#loc95 = loc(\"a_block\"(#loc34))\n#loc96 = loc(\"a_block\"(#loc35))\n#loc97 = loc(\"a_block\"(#loc36))\n#loc98 = loc(\"b_block\"(#loc37))\n#loc99 = loc(\"b_block\"(#loc38))\n#loc100 = loc(\"accumulator\"(#loc39))\n#loc101 = loc(\"a_ptrs\"(#loc40))\n#loc102 = loc(\"b_ptrs\"(#loc41))\n#loc103 = loc(\"b_ptrs\"(#loc42))\n#loc104 = loc(\"c_block\"(#loc44))\n#loc105 = loc(\"c_ptrs\"(#loc45))\n#loc106 = loc(\"c_ptrs\"(#loc46))\n#loc107 = loc(\"c_ptrs\"(#loc47))\n#loc108 = loc(\"c_ptrs\"(#loc48))\n#loc109 = loc(\"c_ptrs\"(#loc49))\n#loc110 = loc(\"c_mask\"(#loc50))\n#loc111 = loc(\"c_mask\"(#loc51))\n#loc112 = loc(\"c_mask\"(#loc52))\n#loc113 = loc(callsite(#loc4 at #loc65))\n#loc114 = loc(callsite(#loc6 at #loc65))\n#loc115 = loc(callsite(#loc4 at #loc66))\n#loc116 = loc(callsite(#loc6 at #loc66))\n#loc117 = loc(\"b_ptrs\"(#loc93))\n#loc118 = loc(\"accumulator\"(#loc117))\n","matmul_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1, 8], threadsPerWarp = [16, 2], warpsPerCTA = [1, 1], order = [1, 0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:0)\n#mma = #ttg.nvidia_mma<{versionMajor = 2, versionMinor = 0, warpsPerCTA = [1, 1], instrShape = [16, 8]}>\n#shared = #ttg.swizzled_shared<{vec = 8, perPhase = 4, maxPhase = 2, order = [1, 0]}>\n#smem = #ttg.shared_memory\n#loc55 = loc(\"a\"(#loc))\n#loc56 = loc(\"b\"(#loc))\n#loc57 = loc(\"c\"(#loc))\n#loc58 = loc(\"M\"(#loc))\n#loc59 = loc(\"N\"(#loc))\n#loc60 = loc(\"K\"(#loc))\n#loc61 = loc(\"stride_am\"(#loc))\n#loc62 = loc(\"stride_bk\"(#loc))\n#loc63 = loc(\"stride_cm\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 1 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf32, #mma> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #blocked> loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc1)\n %cst_1 = arith.constant dense<16> : tensor<16x16xi32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc64)\n %num_pid_m = arith.addi %M, %c15_i32 : i32 loc(#loc113)\n %num_pid_m_2 = arith.divsi %num_pid_m, %c16_i32 : i32 loc(#loc114)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc115)\n %num_pid_n_3 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc116)\n %group_id = arith.divsi %pid, %num_pid_n_3 : i32 loc(#loc67)\n %group_size = arith.subi %num_pid_m_2, %group_id : i32 loc(#loc68)\n %group_size_4 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc69)\n %pid_m = arith.remsi %pid, %group_size_4 : i32 loc(#loc70)\n %pid_m_5 = arith.addi %group_id, %pid_m : i32 loc(#loc71)\n %pid_n = arith.remsi %pid, %num_pid_n_3 : i32 loc(#loc72)\n %pid_n_6 = arith.divsi %pid_n, %group_size_4 : i32 loc(#loc73)\n %offs_am = arith.muli %pid_m_5, %c16_i32 : i32 loc(#loc74)\n %offs_am_7 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc75)\n %offs_am_8 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc75)\n %offs_am_9 = tt.splat %offs_am : i32 -> tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc76)\n %offs_am_10 = arith.addi %offs_am_9, %offs_am_7 : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc76)\n %offs_am_11 = tt.splat %M : i32 -> tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc77)\n %offs_am_12 = arith.remsi %offs_am_10, %offs_am_11 : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc77)\n %offs_bn = arith.muli %pid_n_6, %c16_i32 : i32 loc(#loc78)\n %offs_bn_13 = tt.splat %offs_bn : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc79)\n %offs_bn_14 = arith.addi %offs_bn_13, %offs_am_8 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc79)\n %offs_bn_15 = tt.splat %N : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc80)\n %offs_bn_16 = arith.remsi %offs_bn_14, %offs_bn_15 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc80)\n %a_ptrs = tt.expand_dims %offs_am_12 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc81)\n %a_ptrs_17 = tt.splat %stride_am : i32 -> tensor<16x1xi32, #blocked> loc(#loc82)\n %a_ptrs_18 = arith.muli %a_ptrs, %a_ptrs_17 : tensor<16x1xi32, #blocked> loc(#loc82)\n %a_ptrs_19 = tt.expand_dims %offs_am_8 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc83)\n %a_ptrs_20 = tt.broadcast %a_ptrs_18 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc84)\n %a_ptrs_21 = tt.broadcast %a_ptrs_19 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc84)\n %a_ptrs_22 = arith.addi %a_ptrs_20, %a_ptrs_21 : tensor<16x16xi32, #blocked> loc(#loc84)\n %a_ptrs_23 = tt.splat %a : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc85)\n %a_ptrs_24 = tt.addptr %a_ptrs_23, %a_ptrs_22 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc85)\n %b_ptrs = tt.expand_dims %offs_am_7 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc86)\n %b_ptrs_25 = tt.splat %stride_bk : i32 -> tensor<16x1xi32, #blocked> loc(#loc87)\n %b_ptrs_26 = arith.muli %b_ptrs, %b_ptrs_25 : tensor<16x1xi32, #blocked> loc(#loc87)\n %b_ptrs_27 = tt.expand_dims %offs_bn_16 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc88)\n %b_ptrs_28 = tt.broadcast %b_ptrs_26 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc89)\n %b_ptrs_29 = tt.broadcast %b_ptrs_27 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc89)\n %b_ptrs_30 = arith.addi %b_ptrs_28, %b_ptrs_29 : tensor<16x16xi32, #blocked> loc(#loc89)\n %b_ptrs_31 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc90)\n %b_ptrs_32 = tt.addptr %b_ptrs_31, %b_ptrs_30 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc90)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc91)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc92)\n %b_ptrs_33 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc93)\n %b_ptrs_34 = tt.splat %b_ptrs_33 : i32 -> tensor<16x16xi32, #blocked> loc(#loc94)\n %accumulator:3 = scf.for %accumulator_49 = %c0_i32 to %1 step %c1_i32 iter_args(%arg10 = %cst, %a_ptrs_50 = %a_ptrs_24, %b_ptrs_51 = %b_ptrs_32) -> (tensor<16x16xf32, #mma>, tensor<16x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked>) : i32 {\n %a_block = arith.muli %accumulator_49, %c16_i32 : i32 loc(#loc96)\n %a_block_52 = arith.subi %K, %a_block : i32 loc(#loc97)\n %a_block_53 = tt.splat %a_block_52 : i32 -> tensor<1x16xi32, #blocked> loc(#loc98)\n %a_block_54 = arith.cmpi slt, %a_ptrs_19, %a_block_53 : tensor<1x16xi32, #blocked> loc(#loc98)\n %a_block_55 = tt.broadcast %a_block_54 : tensor<1x16xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc99)\n %a_block_56 = tt.load %a_ptrs_50, %a_block_55, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc99)\n %a_block_57 = ttg.local_alloc %a_block_56 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc99)\n %b_block = tt.splat %a_block_52 : i32 -> tensor<16x1xi32, #blocked> loc(#loc100)\n %b_block_58 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32, #blocked> loc(#loc100)\n %b_block_59 = tt.broadcast %b_block_58 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc101)\n %b_block_60 = tt.load %b_ptrs_51, %b_block_59, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc101)\n %b_block_61 = ttg.local_alloc %b_block_60 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc101)\n %a_block_62 = ttg.local_load %a_block_57 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> loc(#loc99)\n %b_block_63 = ttg.local_load %b_block_61 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> loc(#loc101)\n %accumulator_64 = tt.dot %a_block_62, %b_block_63, %arg10, inputPrecision = tf32 : tensor<16x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> * tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> -> tensor<16x16xf32, #mma> loc(#loc102)\n %a_ptrs_65 = tt.addptr %a_ptrs_50, %cst_1 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc103)\n %b_ptrs_66 = tt.addptr %b_ptrs_51, %b_ptrs_34 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc94)\n scf.yield %accumulator_64, %a_ptrs_65, %b_ptrs_66 : tensor<16x16xf32, #mma>, tensor<16x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked> loc(#loc43)\n } loc(#loc118)\n %c_block = arith.truncf %accumulator#0 : tensor<16x16xf32, #mma> to tensor<16x16xf16, #mma> loc(#loc104)\n %c_ptrs = tt.expand_dims %offs_am_10 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc105)\n %c_ptrs_35 = tt.splat %stride_cm : i32 -> tensor<16x1xi32, #blocked> loc(#loc106)\n %c_ptrs_36 = arith.muli %c_ptrs_35, %c_ptrs : tensor<16x1xi32, #blocked> loc(#loc106)\n %c_ptrs_37 = tt.splat %c : !tt.ptr -> tensor<16x1x!tt.ptr, #blocked> loc(#loc107)\n %c_ptrs_38 = tt.addptr %c_ptrs_37, %c_ptrs_36 : tensor<16x1x!tt.ptr, #blocked>, tensor<16x1xi32, #blocked> loc(#loc107)\n %c_ptrs_39 = tt.expand_dims %offs_bn_14 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc108)\n %c_ptrs_40 = tt.broadcast %c_ptrs_38 : tensor<16x1x!tt.ptr, #blocked> -> tensor<16x16x!tt.ptr, #blocked> loc(#loc109)\n %c_ptrs_41 = tt.broadcast %c_ptrs_39 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc109)\n %c_ptrs_42 = tt.addptr %c_ptrs_40, %c_ptrs_41 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc109)\n %c_mask = tt.splat %M : i32 -> tensor<16x1xi32, #blocked> loc(#loc110)\n %c_mask_43 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<16x1xi32, #blocked> loc(#loc110)\n %c_mask_44 = tt.splat %N : i32 -> tensor<1x16xi32, #blocked> loc(#loc111)\n %c_mask_45 = arith.cmpi slt, %c_ptrs_39, %c_mask_44 : tensor<1x16xi32, #blocked> loc(#loc111)\n %c_mask_46 = tt.broadcast %c_mask_43 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc112)\n %c_mask_47 = tt.broadcast %c_mask_45 : tensor<1x16xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc112)\n %c_mask_48 = arith.andi %c_mask_46, %c_mask_47 : tensor<16x16xi1, #blocked> loc(#loc112)\n %2 = ttg.convert_layout %c_block : tensor<16x16xf16, #mma> -> tensor<16x16xf16, #blocked> loc(#loc53)\n tt.store %c_ptrs_42, %2, %c_mask_48 : tensor<16x16x!tt.ptr, #blocked> loc(#loc53)\n tt.return loc(#loc54)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:24)\n#loc3 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:17)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:27)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:30)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:27)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:22)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:33)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:46)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:33)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:27)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:19)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:40)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:23)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:51)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:38)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:68)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:23)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:38)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:68)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:26)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:37)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:56)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:49)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:25)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:36)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:56)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:48)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:33)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:33)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:18)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:22)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:51)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:47)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:43)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:12)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:43)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:12)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:39)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:18)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:8)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:29)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:37)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:29)\n#loc47 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:17)\n#loc48 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:68)\n#loc49 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:48)\n#loc50 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:33)\n#loc51 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:58)\n#loc52 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:39)\n#loc53 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:21)\n#loc54 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:4)\n#loc64 = loc(\"pid\"(#loc2))\n#loc65 = loc(\"num_pid_m\"(#loc4))\n#loc66 = loc(\"num_pid_n\"(#loc6))\n#loc67 = loc(\"group_id\"(#loc7))\n#loc68 = loc(\"group_size\"(#loc8))\n#loc69 = loc(\"group_size\"(#loc9))\n#loc70 = loc(\"pid_m\"(#loc10))\n#loc71 = loc(\"pid_m\"(#loc11))\n#loc72 = loc(\"pid_n\"(#loc12))\n#loc73 = loc(\"pid_n\"(#loc13))\n#loc74 = loc(\"offs_am\"(#loc14))\n#loc75 = loc(\"offs_am\"(#loc15))\n#loc76 = loc(\"offs_am\"(#loc16))\n#loc77 = loc(\"offs_am\"(#loc17))\n#loc78 = loc(\"offs_bn\"(#loc18))\n#loc79 = loc(\"offs_bn\"(#loc19))\n#loc80 = loc(\"offs_bn\"(#loc20))\n#loc81 = loc(\"a_ptrs\"(#loc21))\n#loc82 = loc(\"a_ptrs\"(#loc22))\n#loc83 = loc(\"a_ptrs\"(#loc23))\n#loc84 = loc(\"a_ptrs\"(#loc24))\n#loc85 = loc(\"a_ptrs\"(#loc25))\n#loc86 = loc(\"b_ptrs\"(#loc26))\n#loc87 = loc(\"b_ptrs\"(#loc27))\n#loc88 = loc(\"b_ptrs\"(#loc28))\n#loc89 = loc(\"b_ptrs\"(#loc29))\n#loc90 = loc(\"b_ptrs\"(#loc30))\n#loc91 = loc(callsite(#loc3 at #loc31))\n#loc92 = loc(callsite(#loc5 at #loc31))\n#loc93 = loc(\"b_ptrs\"(#loc32))\n#loc94 = loc(\"b_ptrs\"(#loc33))\n#loc95 = loc(\"a_ptrs\"(#loc34))\n#loc96 = loc(\"a_block\"(#loc35))\n#loc97 = loc(\"a_block\"(#loc36))\n#loc98 = loc(\"a_block\"(#loc37))\n#loc99 = loc(\"a_block\"(#loc38))\n#loc100 = loc(\"b_block\"(#loc39))\n#loc101 = loc(\"b_block\"(#loc40))\n#loc102 = loc(\"accumulator\"(#loc41))\n#loc103 = loc(\"a_ptrs\"(#loc42))\n#loc104 = loc(\"c_block\"(#loc44))\n#loc105 = loc(\"c_ptrs\"(#loc45))\n#loc106 = loc(\"c_ptrs\"(#loc46))\n#loc107 = loc(\"c_ptrs\"(#loc47))\n#loc108 = loc(\"c_ptrs\"(#loc48))\n#loc109 = loc(\"c_ptrs\"(#loc49))\n#loc110 = loc(\"c_mask\"(#loc50))\n#loc111 = loc(\"c_mask\"(#loc51))\n#loc112 = loc(\"c_mask\"(#loc52))\n#loc113 = loc(callsite(#loc3 at #loc65))\n#loc114 = loc(callsite(#loc5 at #loc65))\n#loc115 = loc(callsite(#loc3 at #loc66))\n#loc116 = loc(callsite(#loc5 at #loc66))\n#loc117 = loc(\"b_ptrs\"(#loc95))\n#loc118 = loc(\"accumulator\"(#loc117))\n","matmul_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n@global_smem = external addrspace(3) global [0 x i8], align 16\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @matmul_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr addrspace(1) readnone captures(none) %9, ptr addrspace(1) readnone captures(none) %10) local_unnamed_addr #0 !dbg !4 {\n %12 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %13 = add i32 %3, 15, !dbg !13\n %14 = sdiv i32 %13, 16, !dbg !18\n %15 = add i32 %4, 15, !dbg !19\n %16 = sdiv i32 %15, 16, !dbg !21\n %.frozen = freeze i32 %16, !dbg !22\n %17 = sdiv i32 %12, %.frozen, !dbg !22\n %18 = sub i32 %14, %17, !dbg !23\n %19 = tail call i32 @llvm.smin.i32(i32 %18, i32 1), !dbg !24\n %20 = srem i32 %12, %19, !dbg !25\n %21 = add i32 %20, %17, !dbg !26\n %22 = mul i32 %17, %.frozen, !dbg !27\n %.decomposed = sub i32 %12, %22, !dbg !27\n %23 = sdiv i32 %.decomposed, %19, !dbg !28\n %24 = shl i32 %21, 4, !dbg !29\n %25 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !30\n %26 = lshr i32 %25, 1, !dbg !30\n %27 = and i32 %26, 15, !dbg !30\n %28 = and i32 %25, 1, !dbg !30\n %29 = shl nuw nsw i32 %28, 3, !dbg !30\n %30 = or disjoint i32 %24, %27, !dbg !31\n %31 = shl nsw i32 %23, 4, !dbg !32\n %32 = or disjoint i32 %31, %29, !dbg !33\n %33 = add i32 %5, 15, !dbg !34\n %34 = sdiv i32 %33, 16, !dbg !36\n %35 = icmp sgt i32 %33, 15, !dbg !37\n br i1 %35, label %.lr.ph, label %.._crit_edge_crit_edge, !dbg !37\n\n.._crit_edge_crit_edge: ; preds = %11\n %.pre = shl nuw nsw i32 %25, 4, !dbg !38\n %.pre65 = and i32 %25, 4, !dbg !38\n %.pre67 = and i32 %25, 8, !dbg !38\n br label %._crit_edge, !dbg !37\n\n.lr.ph: ; preds = %11\n %36 = shl i32 %7, 4, !dbg !39\n %37 = srem i32 %32, %4, !dbg !40\n %38 = mul i32 %7, %27, !dbg !41\n %39 = add i32 %37, %38, !dbg !42\n %40 = sext i32 %39 to i64, !dbg !43\n %41 = getelementptr half, ptr addrspace(1) %1, i64 %40, !dbg !43\n %42 = srem i32 %30, %3, !dbg !44\n %43 = mul i32 %42, %6, !dbg !45\n %44 = add i32 %43, %29, !dbg !46\n %45 = sext i32 %44 to i64, !dbg !47\n %46 = getelementptr half, ptr addrspace(1) %0, i64 %45, !dbg !47\n %47 = shl nuw nsw i32 %25, 4\n %48 = and i32 %47, 368\n %49 = and i32 %25, 8\n %50 = icmp eq i32 %49, 0\n %51 = select i1 %50, i32 0, i32 144\n %52 = xor i32 %51, %48\n %53 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %52\n %54 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 512), i32 %52\n %55 = shl nuw nsw i32 %25, 5\n %56 = and i32 %55, 352\n %57 = and i32 %25, 4\n %58 = icmp eq i32 %57, 0\n %59 = select i1 %58, i32 0, i32 144\n %60 = and i32 %25, 16\n %61 = xor i32 %59, %60\n %62 = or disjoint i32 %61, %56\n %63 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %62\n %64 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 512), i32 %62\n %65 = sext i32 %36 to i64\n br label %66, !dbg !37\n\n66: ; preds = %.lr.ph, %66\n %.pn3163 = phi ptr addrspace(1) [ %41, %.lr.ph ], [ %111, %66 ]\n %.pn1562 = phi ptr addrspace(1) [ %46, %.lr.ph ], [ %110, %66 ]\n %67 = phi float [ 0.000000e+00, %.lr.ph ], [ %101, %66 ]\n %68 = phi float [ 0.000000e+00, %.lr.ph ], [ %102, %66 ]\n %69 = phi float [ 0.000000e+00, %.lr.ph ], [ %103, %66 ]\n %70 = phi float [ 0.000000e+00, %.lr.ph ], [ %104, %66 ]\n %71 = phi float [ 0.000000e+00, %.lr.ph ], [ %106, %66 ]\n %72 = phi float [ 0.000000e+00, %.lr.ph ], [ %107, %66 ]\n %73 = phi float [ 0.000000e+00, %.lr.ph ], [ %108, %66 ]\n %74 = phi float [ 0.000000e+00, %.lr.ph ], [ %109, %66 ]\n %75 = phi i32 [ 0, %.lr.ph ], [ %112, %66 ]\n %76 = shl i32 %75, 4, !dbg !48\n %77 = sub i32 %5, %76, !dbg !49\n %78 = icmp slt i32 %29, %77, !dbg !50\n %79 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn1562, i1 %78) #6, !dbg !51\n %80 = extractvalue { i32, i32, i32, i32 } %79, 0, !dbg !51\n %81 = extractvalue { i32, i32, i32, i32 } %79, 1, !dbg !51\n %82 = extractvalue { i32, i32, i32, i32 } %79, 2, !dbg !51\n %83 = extractvalue { i32, i32, i32, i32 } %79, 3, !dbg !51\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !51\n tail call void asm sideeffect \"st.shared.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %53, i32 %80, i32 %81, i32 %82, i32 %83) #6, !dbg !51\n %84 = icmp slt i32 %27, %77, !dbg !52\n %85 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn3163, i1 %84) #6, !dbg !53\n %86 = extractvalue { i32, i32, i32, i32 } %85, 0, !dbg !53\n %87 = extractvalue { i32, i32, i32, i32 } %85, 1, !dbg !53\n %88 = extractvalue { i32, i32, i32, i32 } %85, 2, !dbg !53\n %89 = extractvalue { i32, i32, i32, i32 } %85, 3, !dbg !53\n tail call void asm sideeffect \"st.shared.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %54, i32 %86, i32 %87, i32 %88, i32 %89) #6, !dbg !53\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !51\n %90 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %63), !dbg !51\n %91 = extractvalue { i32, i32, i32, i32 } %90, 0, !dbg !51\n %92 = extractvalue { i32, i32, i32, i32 } %90, 1, !dbg !51\n %93 = extractvalue { i32, i32, i32, i32 } %90, 2, !dbg !51\n %94 = extractvalue { i32, i32, i32, i32 } %90, 3, !dbg !51\n %95 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) %64), !dbg !53\n %96 = extractvalue { i32, i32, i32, i32 } %95, 0, !dbg !53\n %97 = extractvalue { i32, i32, i32, i32 } %95, 1, !dbg !53\n %98 = extractvalue { i32, i32, i32, i32 } %95, 2, !dbg !53\n %99 = extractvalue { i32, i32, i32, i32 } %95, 3, !dbg !53\n %100 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %67, float %68, float %69, float %70, i32 %91, i32 %92, i32 %93, i32 %94, i32 %96, i32 %97) #6, !dbg !54\n %101 = extractvalue { float, float, float, float } %100, 0, !dbg !54\n %102 = extractvalue { float, float, float, float } %100, 1, !dbg !54\n %103 = extractvalue { float, float, float, float } %100, 2, !dbg !54\n %104 = extractvalue { float, float, float, float } %100, 3, !dbg !54\n %105 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %71, float %72, float %73, float %74, i32 %91, i32 %92, i32 %93, i32 %94, i32 %98, i32 %99) #6, !dbg !54\n %106 = extractvalue { float, float, float, float } %105, 0, !dbg !54\n %107 = extractvalue { float, float, float, float } %105, 1, !dbg !54\n %108 = extractvalue { float, float, float, float } %105, 2, !dbg !54\n %109 = extractvalue { float, float, float, float } %105, 3, !dbg !54\n %110 = getelementptr i8, ptr addrspace(1) %.pn1562, i64 32, !dbg !55\n %111 = getelementptr half, ptr addrspace(1) %.pn3163, i64 %65, !dbg !56\n %112 = add nuw nsw i32 %75, 1, !dbg !37\n %exitcond.not = icmp eq i32 %112, %34, !dbg !37\n br i1 %exitcond.not, label %._crit_edge.loopexit, label %66, !dbg !37\n\n._crit_edge.loopexit: ; preds = %66\n %113 = insertelement <8 x float> poison, float %101, i64 0, !dbg !57\n %114 = insertelement <8 x float> %113, float %102, i64 1, !dbg !57\n %115 = insertelement <8 x float> %114, float %103, i64 2, !dbg !57\n %116 = insertelement <8 x float> %115, float %104, i64 3, !dbg !57\n %117 = insertelement <8 x float> %116, float %106, i64 4, !dbg !57\n %118 = insertelement <8 x float> %117, float %107, i64 5, !dbg !57\n %119 = insertelement <8 x float> %118, float %108, i64 6, !dbg !57\n %120 = insertelement <8 x float> %119, float %109, i64 7, !dbg !57\n %121 = fptrunc <8 x float> %120 to <8 x half>, !dbg !57\n %122 = bitcast <8 x half> %121 to <4 x i32>, !dbg !38\n br label %._crit_edge, !dbg !57\n\n._crit_edge: ; preds = %._crit_edge.loopexit, %.._crit_edge_crit_edge\n %.pre-phi68 = phi i32 [ %.pre67, %.._crit_edge_crit_edge ], [ %49, %._crit_edge.loopexit ], !dbg !38\n %.pre-phi66 = phi i32 [ %.pre65, %.._crit_edge_crit_edge ], [ %57, %._crit_edge.loopexit ], !dbg !38\n %.pre-phi = phi i32 [ %.pre, %.._crit_edge_crit_edge ], [ %47, %._crit_edge.loopexit ], !dbg !38\n %.bc82 = phi <4 x i32> [ zeroinitializer, %.._crit_edge_crit_edge ], [ %122, %._crit_edge.loopexit ]\n %123 = mul i32 %30, %8, !dbg !58\n %124 = sext i32 %123 to i64, !dbg !59\n %125 = getelementptr half, ptr addrspace(1) %2, i64 %124, !dbg !59\n %126 = sext i32 %32 to i64, !dbg !60\n %127 = getelementptr half, ptr addrspace(1) %125, i64 %126, !dbg !60\n %128 = icmp slt i32 %30, %3, !dbg !61\n %129 = icmp slt i32 %32, %4, !dbg !62\n %130 = and i1 %128, %129, !dbg !63\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !38\n %131 = and i32 %.pre-phi, 176, !dbg !38\n %132 = icmp eq i32 %.pre-phi66, 0, !dbg !38\n %133 = select i1 %132, i32 0, i32 320, !dbg !38\n %134 = shl nuw nsw i32 %25, 2, !dbg !38\n %135 = and i32 %134, 64, !dbg !38\n %136 = or disjoint i32 %133, %131, !dbg !38\n %137 = xor i32 %136, %135, !dbg !38\n %138 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %137, !dbg !38\n %.extract77 = extractelement <4 x i32> %.bc82, i64 0, !dbg !38\n %.extract79 = extractelement <4 x i32> %.bc82, i64 1, !dbg !38\n %.extract81 = extractelement <4 x i32> %.bc82, i64 2, !dbg !38\n %.extract83 = extractelement <4 x i32> %.bc82, i64 3, !dbg !38\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %138, i32 %.extract77, i32 %.extract79, i32 %.extract81, i32 %.extract83), !dbg !38\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !38\n %139 = shl nuw nsw i32 %25, 3, !dbg !38\n %140 = and i32 %139, 176, !dbg !38\n %141 = shl nuw nsw i32 %28, 6, !dbg !38\n %142 = icmp eq i32 %.pre-phi68, 0, !dbg !38\n %143 = select i1 %142, i32 0, i32 320, !dbg !38\n %144 = or disjoint i32 %140, %141, !dbg !38\n %145 = xor i32 %144, %143, !dbg !38\n %146 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %145, !dbg !38\n %.extract = load i32, ptr addrspace(3) %146, align 16, !dbg !38\n %147 = getelementptr inbounds nuw i8, ptr addrspace(3) %146, i32 4, !dbg !38\n %.extract57 = load i32, ptr addrspace(3) %147, align 4, !dbg !38\n %148 = getelementptr inbounds nuw i8, ptr addrspace(3) %146, i32 8, !dbg !38\n %.extract59 = load i32, ptr addrspace(3) %148, align 8, !dbg !38\n %149 = getelementptr inbounds nuw i8, ptr addrspace(3) %146, i32 12, !dbg !38\n %.extract61 = load i32, ptr addrspace(3) %149, align 4, !dbg !38\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract, i32 %.extract57, i32 %.extract59, i32 %.extract61, ptr addrspace(1) %127, i1 %130) #6, !dbg !38\n ret void, !dbg !64\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.smin.i32(i32, i32) #2\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.barrier.cta.sync.aligned.all(i32) #3\n\n; Function Attrs: convergent nocallback nounwind memory(argmem: write)\ndeclare void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) writeonly captures(none), i32, i32, i32, i32) #4\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.bar.warp.sync(i32) #3\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"32\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #3 = { convergent nocallback nounwind }\nattributes #4 = { convergent nocallback nounwind memory(argmem: write) }\nattributes #5 = { convergent nocallback nofree nounwind memory(argmem: read) }\nattributes #6 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"matmul_kernel\", linkageName: \"matmul_kernel\", scope: !1, file: !1, line: 292, type: !5, scopeLine: 292, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !9, !9, !9, !9, !9, !9, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"half\", size: 16, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 311, column: 24, scope: !4)\n!13 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !16)\n!14 = distinct !DILexicalBlockFile(scope: !4, file: !15, discriminator: 0)\n!15 = !DIFile(filename: \"standard.py\", directory: \"/python/lib/python3.14/site-packages/triton/language\")\n!16 = !DILocation(line: 312, column: 27, scope: !17)\n!17 = distinct !DILexicalBlockFile(scope: !4, file: !1, discriminator: 0)\n!18 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !16)\n!19 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !20)\n!20 = !DILocation(line: 313, column: 27, scope: !17)\n!21 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !20)\n!22 = !DILocation(line: 315, column: 22, scope: !4)\n!23 = !DILocation(line: 317, column: 33, scope: !4)\n!24 = !DILocation(line: 317, column: 46, scope: !4)\n!25 = !DILocation(line: 318, column: 33, scope: !4)\n!26 = !DILocation(line: 318, column: 27, scope: !4)\n!27 = !DILocation(line: 319, column: 19, scope: !4)\n!28 = !DILocation(line: 319, column: 40, scope: !4)\n!29 = !DILocation(line: 321, column: 23, scope: !4)\n!30 = !DILocation(line: 321, column: 51, scope: !4)\n!31 = !DILocation(line: 321, column: 38, scope: !4)\n!32 = !DILocation(line: 322, column: 23, scope: !4)\n!33 = !DILocation(line: 322, column: 38, scope: !4)\n!34 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !35)\n!35 = !DILocation(line: 328, column: 33, scope: !17)\n!36 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !35)\n!37 = !DILocation(line: 328, column: 22, scope: !4)\n!38 = !DILocation(line: 344, column: 21, scope: !4)\n!39 = !DILocation(line: 337, column: 33, scope: !4)\n!40 = !DILocation(line: 322, column: 68, scope: !4)\n!41 = !DILocation(line: 325, column: 36, scope: !4)\n!42 = !DILocation(line: 325, column: 48, scope: !4)\n!43 = !DILocation(line: 325, column: 18, scope: !4)\n!44 = !DILocation(line: 321, column: 68, scope: !4)\n!45 = !DILocation(line: 324, column: 37, scope: !4)\n!46 = !DILocation(line: 324, column: 49, scope: !4)\n!47 = !DILocation(line: 324, column: 18, scope: !4)\n!48 = !DILocation(line: 330, column: 51, scope: !4)\n!49 = !DILocation(line: 330, column: 47, scope: !4)\n!50 = !DILocation(line: 330, column: 43, scope: !4)\n!51 = !DILocation(line: 330, column: 12, scope: !4)\n!52 = !DILocation(line: 333, column: 43, scope: !4)\n!53 = !DILocation(line: 333, column: 12, scope: !4)\n!54 = !DILocation(line: 335, column: 39, scope: !4)\n!55 = !DILocation(line: 336, column: 18, scope: !4)\n!56 = !DILocation(line: 337, column: 18, scope: !4)\n!57 = !DILocation(line: 338, column: 29, scope: !4)\n!58 = !DILocation(line: 342, column: 29, scope: !4)\n!59 = !DILocation(line: 342, column: 17, scope: !4)\n!60 = !DILocation(line: 342, column: 48, scope: !4)\n!61 = !DILocation(line: 343, column: 33, scope: !4)\n!62 = !DILocation(line: 343, column: 58, scope: !4)\n!63 = !DILocation(line: 343, column: 39, scope: !4)\n!64 = !DILocation(line: 344, column: 4, scope: !4)\n","matmul_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.7\n.target sm_90a\n.address_size 64\n\n\t// .globl\tmatmul_kernel // -- Begin function matmul_kernel\n.extern .shared .align 16 .b8 global_smem[];\n // @matmul_kernel\n.visible .entry matmul_kernel(\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_2,\n\t.param .u32 matmul_kernel_param_3,\n\t.param .u32 matmul_kernel_param_4,\n\t.param .u32 matmul_kernel_param_5,\n\t.param .u32 matmul_kernel_param_6,\n\t.param .u32 matmul_kernel_param_7,\n\t.param .u32 matmul_kernel_param_8,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_9,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_10\n)\n.reqntid 32\n{\n\t.reg .pred \t%p<10>;\n\t.reg .b32 \t%r<111>;\n\t.reg .b64 \t%rd<9>;\n\t.loc\t1 292 0 // generate_examples.py:292:0\n$L__func_begin0:\n\t.loc\t1 292 0 // generate_examples.py:292:0\n\n// %bb.0:\n\tld.param.b32 \t%r13, [matmul_kernel_param_8];\n\tld.param.b32 \t%r94, [matmul_kernel_param_5];\n\tld.param.b32 \t%r10, [matmul_kernel_param_4];\n\tld.param.b32 \t%r9, [matmul_kernel_param_3];\n\tld.param.b64 \t%rd4, [matmul_kernel_param_2];\n$L__tmp0:\n\t.loc\t1 311 24 // generate_examples.py:311:24\n\tmov.u32 \t%r14, %ctaid.x;\n$L__tmp1:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:312:27 ]\n\tadd.s32 \t%r15, %r9, 15;\n\t.loc\t2 43 30 // standard.py:43:30 @[ generate_examples.py:312:27 ]\n\tshr.s32 \t%r16, %r15, 31;\n\tshr.u32 \t%r17, %r16, 28;\n\tadd.s32 \t%r18, %r15, %r17;\n\tshr.s32 \t%r19, %r18, 4;\n$L__tmp2:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:313:27 ]\n\tadd.s32 \t%r20, %r10, 15;\n\t.loc\t2 43 30 // standard.py:43:30 @[ generate_examples.py:313:27 ]\n\tshr.s32 \t%r21, %r20, 31;\n\tshr.u32 \t%r22, %r21, 28;\n\tadd.s32 \t%r23, %r20, %r22;\n\tshr.s32 \t%r24, %r23, 4;\n$L__tmp3:\n\t.loc\t1 315 22 // generate_examples.py:315:22\n\tdiv.s32 \t%r25, %r14, %r24;\n\t.loc\t1 317 33 // generate_examples.py:317:33\n\tsub.s32 \t%r26, %r19, %r25;\n\t.loc\t1 317 46 // generate_examples.py:317:46\n\tmin.s32 \t%r27, %r26, 1;\n\t.loc\t1 318 33 // generate_examples.py:318:33\n\trem.s32 \t%r28, %r14, %r27;\n\t.loc\t1 318 27 // generate_examples.py:318:27\n\tadd.s32 \t%r29, %r28, %r25;\n\t.loc\t1 319 19 // generate_examples.py:319:19\n\tmul.lo.s32 \t%r30, %r25, %r24;\n\tsub.s32 \t%r31, %r14, %r30;\n\t.loc\t1 319 40 // generate_examples.py:319:40\n\tdiv.s32 \t%r32, %r31, %r27;\n\t.loc\t1 321 23 // generate_examples.py:321:23\n\tshl.b32 \t%r33, %r29, 4;\n\t.loc\t1 321 51 // generate_examples.py:321:51\n\tmov.u32 \t%r1, %tid.x;\n\tbfe.u32 \t%r2, %r1, 1, 4;\n\tand.b32 \t%r3, %r1, 1;\n\tshl.b32 \t%r4, %r3, 3;\n\t.loc\t1 321 38 // generate_examples.py:321:38\n\tor.b32 \t%r5, %r33, %r2;\n\t.loc\t1 322 23 // generate_examples.py:322:23\n\tshl.b32 \t%r34, %r32, 4;\n\t.loc\t1 322 38 // generate_examples.py:322:38\n\tor.b32 \t%r6, %r34, %r4;\n$L__tmp4:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:328:33 ]\n\tadd.s32 \t%r35, %r94, 15;\n$L__tmp5:\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tsetp.gt.s32 \t%p1, %r35, 15;\n\tmov.b32 \t%r93, global_smem;\n\t@%p1 bra \t$L__BB0_2;\n\tbra.uni \t$L__BB0_1;\n$L__BB0_2: // %.lr.ph\n\t.loc\t1 0 22 // generate_examples.py:0:22\n\tld.param.b32 \t%r12, [matmul_kernel_param_7];\n\tld.param.b32 \t%r11, [matmul_kernel_param_6];\n\tld.param.b64 \t%rd3, [matmul_kernel_param_1];\n\tld.param.b64 \t%rd2, [matmul_kernel_param_0];\n\tshr.s32 \t%r36, %r35, 31;\n\tshr.u32 \t%r37, %r36, 28;\n\tadd.s32 \t%r38, %r35, %r37;\n\tshr.s32 \t%r95, %r38, 4;\n\t.loc\t1 337 33 // generate_examples.py:337:33\n\tshl.b32 \t%r39, %r12, 4;\n\t.loc\t1 322 68 // generate_examples.py:322:68\n\trem.s32 \t%r40, %r6, %r10;\n\t.loc\t1 325 48 // generate_examples.py:325:48\n\tmad.lo.s32 \t%r41, %r12, %r2, %r40;\n\t.loc\t1 325 18 // generate_examples.py:325:18\n\tmad.wide.s32 \t%rd7, %r41, 2, %rd3;\n\t.loc\t1 321 68 // generate_examples.py:321:68\n\trem.s32 \t%r42, %r5, %r9;\n\t.loc\t1 324 49 // generate_examples.py:324:49\n\tmad.lo.s32 \t%r43, %r42, %r11, %r4;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd8, %r43, 2, %rd2;\n\tshl.b32 \t%r106, %r1, 4;\n\tand.b32 \t%r44, %r106, 368;\n\tand.b32 \t%r104, %r1, 8;\n\tbfe.s32 \t%r45, %r1, 3, 1;\n\tand.b32 \t%r46, %r45, 144;\n\txor.b32 \t%r47, %r46, %r44;\n\tadd.s32 \t%r60, %r93, %r47;\n\tadd.s32 \t%r65, %r60, 512;\n\tshl.b32 \t%r48, %r1, 5;\n\tand.b32 \t%r49, %r48, 352;\n\tand.b32 \t%r105, %r1, 4;\n\tbfe.s32 \t%r50, %r1, 2, 1;\n\tand.b32 \t%r51, %r50, 144;\n\tand.b32 \t%r52, %r1, 16;\n\txor.b32 \t%r53, %r51, %r52;\n\tor.b32 \t%r54, %r53, %r49;\n\tadd.s32 \t%r7, %r93, %r54;\n\tadd.s32 \t%r8, %r7, 512;\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tmul.wide.s32 \t%rd1, %r39, 2;\n\tmov.b32 \t%r96, 0f00000000;\n\tmov.b32 \t%r97, %r96;\n\tmov.b32 \t%r98, %r96;\n\tmov.b32 \t%r99, %r96;\n\tmov.b32 \t%r100, %r96;\n\tmov.b32 \t%r101, %r96;\n\tmov.b32 \t%r102, %r96;\n\tmov.b32 \t%r103, %r96;\n$L__BB0_3: // =>This Inner Loop Header: Depth=1\n\t.loc\t1 330 43 // generate_examples.py:330:43\n\tsetp.lt.s32 \t%p2, %r4, %r94;\n\tmov.b32 \t%r59, 0;\n\t.loc\t1 330 12 // generate_examples.py:330:12\n\t// begin inline asm\n\tmov.u32 %r55, %r59;\n\tmov.u32 %r56, %r59;\n\tmov.u32 %r57, %r59;\n\tmov.u32 %r58, %r59;\n\t@%p2 ld.global.v4.b32 { %r55, %r56, %r57, %r58 }, [ %rd8 + 0 ];\n\t// end inline asm\n\tbar.sync \t0;\n\t// begin inline asm\n\tst.shared.v4.b32 [ %r60 + 0 ], { %r55, %r56, %r57, %r58 };\n\t// end inline asm\n\t.loc\t1 333 43 // generate_examples.py:333:43\n\tsetp.lt.s32 \t%p3, %r2, %r94;\n\t.loc\t1 333 12 // generate_examples.py:333:12\n\t// begin inline asm\n\tmov.u32 %r61, %r59;\n\tmov.u32 %r62, %r59;\n\tmov.u32 %r63, %r59;\n\tmov.u32 %r64, %r59;\n\t@%p3 ld.global.v4.b32 { %r61, %r62, %r63, %r64 }, [ %rd7 + 0 ];\n\t// end inline asm\n\t// begin inline asm\n\tst.shared.v4.b32 [ %r65 + 0 ], { %r61, %r62, %r63, %r64 };\n\t// end inline asm\n\t.loc\t1 330 12 // generate_examples.py:330:12\n\tbar.sync \t0;\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r66, %r67, %r68, %r69}, [%r7];\n\t.loc\t1 333 12 // generate_examples.py:333:12\n\tldmatrix.sync.aligned.m8n8.x4.trans.shared.b16 {%r70, %r71, %r72, %r73}, [%r8];\n\t.loc\t1 335 39 // generate_examples.py:335:39\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r96, %r97, %r98, %r99 }, { %r66, %r67, %r68, %r69 }, { %r70, %r71 }, { %r96, %r97, %r98, %r99 };\n\t// end inline asm\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r100, %r101, %r102, %r103 }, { %r66, %r67, %r68, %r69 }, { %r72, %r73 }, { %r100, %r101, %r102, %r103 };\n\t// end inline asm\n\t.loc\t1 336 18 // generate_examples.py:336:18\n\tadd.s64 \t%rd8, %rd8, 32;\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tadd.s64 \t%rd7, %rd7, %rd1;\n\tadd.s32 \t%r95, %r95, -1;\n\tadd.s32 \t%r94, %r94, -16;\n\tsetp.ne.b32 \t%p4, %r95, 0;\n\t@%p4 bra \t$L__BB0_3;\n// %bb.4: // %._crit_edge.loopexit\n\t.loc\t1 338 29 // generate_examples.py:338:29\n\tcvt.rn.f16x2.f32 \t%r110, %r103, %r102;\n\tcvt.rn.f16x2.f32 \t%r109, %r101, %r100;\n\tcvt.rn.f16x2.f32 \t%r108, %r99, %r98;\n\tcvt.rn.f16x2.f32 \t%r107, %r97, %r96;\n\tbra.uni \t$L__BB0_5;\n$L__BB0_1: // %.._crit_edge_crit_edge\n\t.loc\t1 344 21 // generate_examples.py:344:21\n\tshl.b32 \t%r106, %r1, 4;\n\tand.b32 \t%r105, %r1, 4;\n\tand.b32 \t%r104, %r1, 8;\n\tmov.b32 \t%r107, 0;\n\tmov.b32 \t%r108, %r107;\n\tmov.b32 \t%r109, %r107;\n\tmov.b32 \t%r110, %r107;\n$L__BB0_5: // %._crit_edge\n\t.loc\t1 342 29 // generate_examples.py:342:29\n\tmul.lo.s32 \t%r78, %r5, %r13;\n\t.loc\t1 342 17 // generate_examples.py:342:17\n\tmad.wide.s32 \t%rd6, %r78, 2, %rd4;\n\t.loc\t1 342 48 // generate_examples.py:342:48\n\tmad.wide.s32 \t%rd5, %r6, 2, %rd6;\n\t.loc\t1 343 33 // generate_examples.py:343:33\n\tsetp.lt.s32 \t%p6, %r5, %r9;\n\t.loc\t1 343 58 // generate_examples.py:343:58\n\tsetp.lt.s32 \t%p7, %r6, %r10;\n\t.loc\t1 343 39 // generate_examples.py:343:39\n\tand.pred \t%p5, %p6, %p7;\n\t.loc\t1 344 21 // generate_examples.py:344:21\n\tbar.sync \t0;\n\tand.b32 \t%r79, %r106, 176;\n\tsetp.eq.b32 \t%p8, %r105, 0;\n\tselp.b32 \t%r80, 0, 320, %p8;\n\tshl.b32 \t%r81, %r1, 2;\n\tand.b32 \t%r82, %r81, 64;\n\tor.b32 \t%r83, %r80, %r79;\n\txor.b32 \t%r84, %r83, %r82;\n\tadd.s32 \t%r85, %r93, %r84;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r85], {%r107, %r108, %r109, %r110};\n\tbar.warp.sync \t-1;\n\tshl.b32 \t%r86, %r1, 3;\n\tand.b32 \t%r87, %r86, 176;\n\tshl.b32 \t%r88, %r3, 6;\n\tsetp.eq.b32 \t%p9, %r104, 0;\n\tselp.b32 \t%r89, 0, 320, %p9;\n\tor.b32 \t%r90, %r87, %r88;\n\txor.b32 \t%r91, %r90, %r89;\n\tadd.s32 \t%r92, %r93, %r91;\n\tld.shared.v4.b32 \t{%r74, %r75, %r76, %r77}, [%r92];\n\t// begin inline asm\n\t@%p5 st.global.v4.b32 [ %rd5 + 0 ], { %r74, %r75, %r76, %r77 };\n\t// end inline asm\n\t.loc\t1 344 4 // generate_examples.py:344:4\n\tret;\n$L__tmp6:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.file\t2 \"/python/lib/python3.14/site-packages/triton/language/standard.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 1 // DW_CHILDREN_yes\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 2 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 0 // DW_CHILDREN_no\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 32 // DW_AT_inline\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 3 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 1 // DW_CHILDREN_yes\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 4 // Abbreviation Code\n.b8 29 // DW_TAG_inlined_subroutine\n.b8 0 // DW_CHILDREN_no\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 88 // DW_AT_call_file\n.b8 11 // DW_FORM_data1\n.b8 89 // DW_AT_call_line\n.b8 5 // DW_FORM_data2\n.b8 87 // DW_AT_call_column\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 245 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0xee DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 45\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 45\n.b8 114\n.b8 101\n.b8 103\n.b8 101\n.b8 110\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n.b8 2 // Abbrev [2] 0x87:0x10 DW_TAG_subprogram\n.b8 109 // DW_AT_name\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n.b8 1 // DW_AT_inline\n.b8 3 // Abbrev [3] 0x97:0x61 DW_TAG_subprogram\n.b64 $L__func_begin0 // DW_AT_low_pc\n.b64 $L__func_end0 // DW_AT_high_pc\n.b32 135 // DW_AT_abstract_origin\n.b8 4 // Abbrev [4] 0xac:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp1 // DW_AT_low_pc\n.b64 $L__tmp2 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 56 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xc5:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp2 // DW_AT_low_pc\n.b64 $L__tmp3 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 57 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xde:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp4 // DW_AT_low_pc\n.b64 $L__tmp5 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 72 // DW_AT_call_line\n.b8 1\n.b8 33 // DW_AT_call_column\n.b8 0 // End Of Children Mark\n.b8 0 // End Of Children Mark\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","matmul_kernel.json":"{\"hash\": \"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 1, \"num_ctas\": 1, \"num_stages\": 1, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.7.0\", \"tensordesc_meta\": [], \"shared\": 1024, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"matmul_kernel\"}","matmul_kernel.sass":"Function:matmul_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*0010*/ LDC.64 R16, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 311\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*0020*/ S2R R7, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0030*/ UMOV UR4, 0x400 ;\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0040*/ ULDC.64 UR6, c[0x0][0x208] ;\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0050*/ S2UR UR5, SR_CgaCtaId ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 53\n /*0060*/ VIADD R0, R17, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0070*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0080*/ ULEA UR4, UR5, UR4, 0x18 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 57\n /*0090*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*00a0*/ IABS R8, R7 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*00b0*/ SHF.R.S32.HI R4, RZ, 0x4, R3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*00c0*/ IABS R5, R4.reuse ;\n /*00d0*/ IABS R10, R4 ;\n /*00e0*/ I2F.RP R0, R5 ;\n /*00f0*/ MUFU.RCP R0, R0 ;\n /*0100*/ VIADD R2, R0, 0xffffffe ;\n /*0110*/ IMAD.MOV R0, RZ, RZ, -R10 ;\n /*0120*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0130*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0140*/ IMAD.MOV R6, RZ, RZ, -R3 ;\n /*0150*/ IMAD R9, R6, R5, RZ ;\n /*0160*/ IMAD.MOV.U32 R6, RZ, RZ, R8 ;\n /*0170*/ IMAD.HI.U32 R3, R3, R9, R2 ;\n /*0180*/ IMAD.HI.U32 R3, R3, R6, RZ ;\n /*0190*/ IMAD R0, R3, R0, R6 ;\n /*01a0*/ ISETP.GT.U32.AND P1, PT, R5, R0, PT ;\n /*01b0*/ @!P1 IMAD.IADD R0, R0, 0x1, -R5 ;\n /*01c0*/ @!P1 VIADD R3, R3, 0x1 ;\n /*01d0*/ ISETP.NE.AND P1, PT, R4, RZ, PT ;\n /*01e0*/ ISETP.GE.U32.AND P0, PT, R0, R5, PT ;\n /*01f0*/ LOP3.LUT R0, R7, R4, RZ, 0x3c, !PT ;\n /*0200*/ ISETP.GE.AND P2, PT, R0, RZ, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*0210*/ VIADD R0, R16, 0xf ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0220*/ @P0 VIADD R3, R3, 0x1 ;\n /*0230*/ IMAD.MOV.U32 R10, RZ, RZ, R3 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 47\n /*0240*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0250*/ @!P2 IMAD.MOV R10, RZ, RZ, -R10 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 49\n /*0260*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0270*/ @!P1 LOP3.LUT R10, RZ, R4, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0280*/ LEA.HI.SX32 R3, R3, -R10, 0x1c ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*0290*/ IMAD.MOV R5, RZ, RZ, -R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*02a0*/ VIMNMX R11, R3, 0x1, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*02b0*/ IMAD R4, R4, R5, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*02c0*/ IABS R9, R11.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*02d0*/ IABS R12, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*02e0*/ I2F.RP R0, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*02f0*/ LOP3.LUT R4, R4, R11, RZ, 0x3c, !PT ;\n /*0300*/ ISETP.GE.AND P2, PT, R4, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0310*/ MUFU.RCP R0, R0 ;\n /*0320*/ VIADD R2, R0, 0xffffffe ;\n /*0330*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0340*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0350*/ IMAD.MOV R8, RZ, RZ, -R3 ;\n /*0360*/ IMAD R5, R8, R9, RZ ;\n /*0370*/ IABS R8, R11 ;\n /*0380*/ IMAD.HI.U32 R3, R3, R5, R2 ;\n /*0390*/ IMAD.MOV R5, RZ, RZ, -R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*03a0*/ IMAD.MOV.U32 R8, RZ, RZ, R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*03b0*/ IMAD.HI.U32 R0, R3, R6, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*03c0*/ IMAD.HI.U32 R3, R3, R8, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*03d0*/ IMAD R2, R0, R5.reuse, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*03e0*/ IMAD R5, R3, R5, R8 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 90\n /*03f0*/ LDC R6, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0400*/ S2R R0, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0410*/ ISETP.GT.U32.AND P1, PT, R9.reuse, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0420*/ ISETP.GT.U32.AND P0, PT, R9, R5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0430*/ @!P1 IMAD.IADD R2, R2, 0x1, -R9.reuse ;\n /*0440*/ ISETP.GE.AND P1, PT, R7, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0450*/ @!P0 IMAD.IADD R5, R5, 0x1, -R9 ;\n /*0460*/ @!P0 VIADD R3, R3, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0470*/ ISETP.GT.U32.AND P4, PT, R9, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0480*/ ISETP.GE.U32.AND P3, PT, R5, R9, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 90\n /*0490*/ VIADD R4, R6, 0xf ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*04a0*/ ISETP.NE.AND P0, PT, R11, RZ, PT ;\n /*04b0*/ @!P4 IMAD.IADD R2, R2, 0x1, -R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*04c0*/ @P3 VIADD R3, R3, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 93\n /*04d0*/ ISETP.GT.AND P3, PT, R4, 0xf, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*04e0*/ @!P1 IMAD.MOV R2, RZ, RZ, -R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*04f0*/ IMAD.MOV.U32 R6, RZ, RZ, R3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0500*/ LOP3.LUT R3, RZ, R11, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0510*/ @!P2 IMAD.MOV R6, RZ, RZ, -R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0520*/ SEL R5, R3.reuse, R2, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 80\n /*0530*/ LOP3.LUT R2, R0, 0x1, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0540*/ SEL R7, R3, R6, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0550*/ IMAD.IADD R5, R10, 0x1, R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0560*/ SHF.R.U32.HI R3, RZ, 0x1, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0570*/ IMAD.SHL.U32 R12, R2, 0x8, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 208\n /*0580*/ @!P3 LOP3.LUT R41, R0.reuse, 0x4, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0590*/ IMAD.SHL.U32 R6, R5, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*05a0*/ SGXT.U32 R3, R3, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 207\n /*05b0*/ @!P3 IMAD.SHL.U32 R15, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 209\n /*05c0*/ @!P3 LOP3.LUT R40, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 213\n /*05d0*/ @!P3 CS2R R8, SRZ ;\n /*05e0*/ @!P3 CS2R R10, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 87\n /*05f0*/ IMAD R14, R7, 0x10, R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 83\n /*0600*/ LOP3.LUT R13, R6, R3, RZ, 0xfc, !PT ;\n /*0610*/ @!P3 BRA `(.L_x_0) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0620*/ IABS R18, R17 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0630*/ LDC R37, c[0x0][0x238] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0640*/ IABS R20, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0650*/ ULDC UR5, c[0x0][0x234] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0660*/ I2F.RP R5, R18 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0670*/ ISETP.GE.AND P2, PT, R13, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0680*/ ULDC.64 UR8, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0690*/ ISETP.NE.AND P4, PT, R16, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*06a0*/ ULDC.64 UR10, c[0x0][0x210] ;\n\t//## File \".nv_debug_ptx_txt\", line 123\n /*06b0*/ LOP3.LUT R40, R0.reuse, 0x8, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 131\n /*06c0*/ LOP3.LUT R41, R0, 0x4, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*06d0*/ I2F.RP R10, R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*06e0*/ MUFU.RCP R5, R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*06f0*/ MUFU.RCP R10, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0700*/ VIADD R6, R5, 0xffffffe ;\n /*0710*/ IABS R5, R14 ;\n /*0720*/ F2I.FTZ.U32.TRUNC.NTZ R7, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0730*/ VIADD R8, R10, 0xffffffe ;\n /*0740*/ F2I.FTZ.U32.TRUNC.NTZ R9, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0750*/ IMAD.MOV.U32 R6, RZ, RZ, RZ ;\n /*0760*/ IMAD.MOV R11, RZ, RZ, -R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0770*/ IMAD.MOV.U32 R8, RZ, RZ, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0780*/ IMAD R11, R11, R18, RZ ;\n /*0790*/ IMAD.HI.U32 R6, R7, R11, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*07a0*/ IABS R7, R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*07b0*/ SHF.R.S32.HI R11, RZ, 0x3, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*07c0*/ IMAD.MOV R15, RZ, RZ, -R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*07d0*/ IMAD.HI.U32 R6, R6, R5, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*07e0*/ SGXT R11, R11, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*07f0*/ IMAD R15, R15, R20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0800*/ IMAD.MOV R6, RZ, RZ, -R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0810*/ IMAD.HI.U32 R8, R9, R15, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 132\n /*0820*/ SHF.R.S32.HI R9, RZ, 0x2, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0830*/ IMAD R5, R18, R6, R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 132\n /*0840*/ SGXT R9, R9, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0850*/ IMAD.HI.U32 R8, R8, R7, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0860*/ ISETP.GT.U32.AND P0, PT, R18, R5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0870*/ IMAD.MOV R8, RZ, RZ, -R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 133\n /*0880*/ LOP3.LUT R9, R9, 0x90, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 121\n /*0890*/ IMAD.SHL.U32 R15, R0, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*08a0*/ IMAD R7, R20, R8, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 135\n /*08b0*/ LOP3.LUT R9, R9, 0x10, R0, 0x78, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 129\n /*08c0*/ IMAD.SHL.U32 R8, R0, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*08d0*/ ISETP.GT.U32.AND P1, PT, R20, R7, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 136\n /*08e0*/ LOP3.LUT R36, R9, 0x160, R8, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*08f0*/ @!P0 IMAD.IADD R5, R5, 0x1, -R18 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 148\n /*0900*/ CS2R R8, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0910*/ ISETP.GT.U32.AND P3, PT, R18, R5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0920*/ @!P1 IMAD.IADD R7, R7, 0x1, -R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0930*/ ISETP.GE.AND P1, PT, R14, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0940*/ ISETP.GT.U32.AND P0, PT, R20, R7, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0950*/ @!P3 IMAD.IADD R5, R5, 0x1, -R18 ;\n /*0960*/ ISETP.NE.AND P3, PT, R17, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 125\n /*0970*/ LOP3.LUT R18, R11, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0980*/ IMAD.MOV.U32 R6, RZ, RZ, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 103\n /*0990*/ SHF.R.S32.HI R5, RZ, 0x1f, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 148\n /*09a0*/ CS2R R10, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*09b0*/ LOP3.LUT R35, R18, 0x170, R15, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*09c0*/ @!P1 IMAD.MOV R6, RZ, RZ, -R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*09d0*/ @!P0 IMAD.IADD R7, R7, 0x1, -R20 ;\n /*09e0*/ @!P2 IMAD.MOV R7, RZ, RZ, -R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*09f0*/ @!P3 LOP3.LUT R6, RZ, R17, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0a00*/ @!P4 LOP3.LUT R7, RZ, R16, RZ, 0x33, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 105\n /*0a10*/ LEA.HI R16, R5, R4, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0a20*/ IMAD R6, R3, R37, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 148\n /*0a30*/ CS2R R4, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0a40*/ IMAD R7, R7, UR5, R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 106\n /*0a50*/ SHF.R.S32.HI R34, RZ, 0x4, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 337\n\t//## File \".nv_debug_ptx_txt\", line 108\n /*0a60*/ IMAD.SHL.U32 R37, R37, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0a70*/ LEA R24, P0, R6, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 39\n /*0a80*/ ULDC UR5, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0a90*/ LEA R38, P1, R7, UR10, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0aa0*/ LEA.HI.X.SX32 R25, R6, UR9, 0x1, P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0ab0*/ LEA.HI.X.SX32 R39, R7, UR11, 0x1, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 148\n /*0ac0*/ CS2R R6, SRZ ;\n.L_x_1:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 151\n /*0ad0*/ ISETP.GE.AND P0, PT, R12, UR5, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 159\n /*0ae0*/ CS2R R16, SRZ ;\n /*0af0*/ CS2R R18, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 166\n /*0b00*/ ISETP.GE.AND P1, PT, R3, UR5, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 173\n /*0b10*/ CS2R R20, SRZ ;\n /*0b20*/ CS2R R22, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 159\n /*0b30*/ @!P0 IMAD.MOV.U32 R32, RZ, RZ, R38 ;\n /*0b40*/ @!P0 IMAD.MOV.U32 R33, RZ, RZ, R39 ;\n /*0b50*/ @!P0 LDG.E.128 R16, desc[UR6][R32.64] ;\n\t//## File \".nv_debug_ptx_txt\", line 161\n /*0b60*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n /*0b70*/ IMAD.MOV.U32 R32, RZ, RZ, R24 ;\n /*0b80*/ IMAD.MOV.U32 R33, RZ, RZ, R25 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 173\n /*0b90*/ @!P1 LDG.E.128 R20, desc[UR6][R32.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 194\n /*0ba0*/ VIADD R34, R34, 0xffffffff ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 191\n /*0bb0*/ IADD3 R38, P1, R38, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 195\n /*0bc0*/ UIADD3 UR5, UR5, -0x10, URZ ;\n\t//## File \".nv_debug_ptx_txt\", line 196\n /*0bd0*/ ISETP.NE.U32.AND P0, PT, R34, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 191\n /*0be0*/ IMAD.X R39, RZ, RZ, R39, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 163\n /*0bf0*/ STS.128 [R35+UR4], R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 176\n /*0c00*/ STS.128 [R35+UR4+0x200], R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 179\n /*0c10*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 180\n /*0c20*/ LDSM.16.M88.4 R24, [R36+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 182\n /*0c30*/ LDSM.16.MT88.4 R28, [R36+UR4+0x200] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 185\n /*0c40*/ HMMA.16816.F32 R4, R24.reuse, R28, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 188\n /*0c50*/ HMMA.16816.F32 R8, R24, R30, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 193\n /*0c60*/ IMAD.WIDE R24, R37, 0x2, R32 ;\n /*0c70*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 197\n /*0c80*/ @P0 BRA `(.L_x_1) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 338\n\t//## File \".nv_debug_ptx_txt\", line 200\n /*0c90*/ F2FP.F16.F32.PACK_AB R11, R11, R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 201\n /*0ca0*/ F2FP.F16.F32.PACK_AB R10, R9, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 202\n /*0cb0*/ F2FP.F16.F32.PACK_AB R9, R7, R6 ;\n\t//## File \".nv_debug_ptx_txt\", line 203\n /*0cc0*/ F2FP.F16.F32.PACK_AB R8, R5, R4 ;\n.L_x_0:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 228\n /*0cd0*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 230\n /*0ce0*/ ISETP.NE.U32.AND P0, PT, R41, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 239\n /*0cf0*/ IMAD.SHL.U32 R3, R0, 0x8, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 242\n /*0d00*/ ISETP.NE.U32.AND P1, PT, R40, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 232\n /*0d10*/ IMAD.SHL.U32 R0, R0, 0x4, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 231\n /*0d20*/ SEL R4, RZ, 0x140, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 224\n /*0d30*/ ULDC.64 UR10, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 240\n /*0d40*/ LOP3.LUT R3, R3, 0xb0, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 216\n /*0d50*/ ULDC UR5, c[0x0][0x23c] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 234\n /*0d60*/ LOP3.LUT R15, R4, 0xb0, R15, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0d70*/ ULDC.64 UR8, c[0x0][0x220] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 224\n /*0d80*/ ISETP.GE.AND P0, PT, R14, UR11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 244\n /*0d90*/ IMAD R7, R2, 0x40, R3 ;\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0da0*/ LOP3.LUT R15, R15, 0x40, R0, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 216\n /*0db0*/ IMAD R0, R13.reuse, UR5, RZ ;\n /*0dc0*/ ISETP.LT.AND P0, PT, R13, UR10, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0dd0*/ IMAD.SHL.U32 R3, R14, 0x2, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 243\n /*0de0*/ SEL R4, RZ, 0x140, !P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 218\n /*0df0*/ IMAD.SHL.U32 R2, R0, 0x2, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 236\n /*0e00*/ VIADD R15, R15, UR4 ;\n\t//## File \".nv_debug_ptx_txt\", line 245\n /*0e10*/ LOP3.LUT R4, R7, R4, RZ, 0x3c, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0e20*/ IMAD.HI R5, R14, 0x2, RZ ;\n /*0e30*/ IADD3 R2, P1, P2, R3, UR8, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 237\n /*0e40*/ STSM.16.M88.4 [R15], R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 218\n /*0e50*/ IMAD.HI R0, R0, 0x2, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0e60*/ IADD3.X R3, R5, UR9, R0, P1, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 238\n /*0e70*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 249\n /*0e80*/ @!P0 EXIT ;\n\t//## File \".nv_debug_ptx_txt\", line 247\n /*0e90*/ LDS.128 R4, [R4+UR4] ;\n\t//## File \".nv_debug_ptx_txt\", line 249\n /*0ea0*/ STG.E.128 desc[UR6][R2.64], R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 252\n /*0eb0*/ EXIT ;\n.L_x_2:\n /*0ec0*/ BRA `(.L_x_2);\n /*0ed0*/ NOP;\n /*0ee0*/ NOP;\n /*0ef0*/ NOP;\n /*0f00*/ NOP;\n /*0f10*/ NOP;\n /*0f20*/ NOP;\n /*0f30*/ NOP;\n /*0f40*/ NOP;\n /*0f50*/ NOP;\n /*0f60*/ NOP;\n /*0f70*/ NOP;\n.L_x_3:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":266,"end_line":344,"code":" @triton.autotune(\n configs=[\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 16,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 32,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n ],\n key=[\"M\", \"N\", \"K\"],\n )\n @triton.jit\n def matmul_kernel(\n a,\n b,\n c,\n M,\n N,\n K,\n stride_am,\n stride_ak,\n stride_bk,\n stride_bn,\n stride_cm,\n stride_cn,\n BLOCK_SIZE_M: tl.constexpr,\n BLOCK_SIZE_N: tl.constexpr,\n BLOCK_SIZE_K: tl.constexpr,\n GROUP_SIZE_M: tl.constexpr,\n ACTIVATION: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n num_pid_m = tl.cdiv(M, BLOCK_SIZE_M)\n num_pid_n = tl.cdiv(N, BLOCK_SIZE_N)\n num_pid_in_group = GROUP_SIZE_M * num_pid_n\n group_id = pid // num_pid_in_group\n first_pid_m = group_id * GROUP_SIZE_M\n group_size = min(num_pid_m - first_pid_m, GROUP_SIZE_M)\n pid_m = first_pid_m + (pid % group_size)\n pid_n = (pid % num_pid_in_group) // group_size\n\n offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M\n offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N\n offs_k = tl.arange(0, BLOCK_SIZE_K)\n a_ptrs = a + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)\n b_ptrs = b + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)\n\n accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)\n for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):\n a_block = tl.load(\n a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0\n )\n b_block = tl.load(\n b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0\n )\n accumulator += tl.dot(a_block, b_block)\n a_ptrs += BLOCK_SIZE_K * stride_ak\n b_ptrs += BLOCK_SIZE_K * stride_bk\n c_block = accumulator.to(tl.float16)\n\n offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)\n offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)\n c_ptrs = c + stride_cm * offs_cm[:, None] + stride_cn * offs_cn[None, :]\n c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)\n tl.store(c_ptrs, c_block, mask=c_mask)\n"}}} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":149,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":160,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":160,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":160,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":160,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":160,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"launch","pid":1724463,"name":"matmul_kernel","function":94769169393936,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"751adc2d5db591acd5d685476d2a0ac4f16c705a3f85b77146db4535cd91888b","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7f16bfe00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":172,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":761,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":328,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ"} -{"event_type":"compilation","pid":1724463,"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":240,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":229,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":164,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":149,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":150,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":739,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":884,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:22.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"f7336a625a0c6f924e5fee4b7063c21567b390bb49fc8cc4fd07cd7d06898f5e","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1536,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[["tt.divisibility",16]],"(5,)":[["tt.divisibility",16]],"(6,)":[["tt.divisibility",16]],"(7,)":[],"(8,)":[["tt.divisibility",16]],"(9,)":[],"(10,)":[["tt.divisibility",16]],"(11,)":[],"(12,)":[],"(13,)":[],"(14,)":[],"(15,)":[],"(16,)":[]},"src_cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","src_constants":{"(7,)":1,"(9,)":1,"(11,)":1,"(12,)":32,"(13,)":16,"(14,)":16,"(15,)":1,"(16,)":null},"times":{"ir_initialization":1150,"lowering_stages":[],"store_results":0}},"file_path":{"matmul_kernel.source":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.source","matmul_kernel.ttir":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.ttir","matmul_kernel.ttgir":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.ttgir","matmul_kernel.llir":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.llir","matmul_kernel.ptx":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.ptx","matmul_kernel.cubin":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.cubin","matmul_kernel.json":"/home/user/.triton/cache/64ZWUYS2BRXZETS75ZFXAY6CCVT3HEF3JH6IZRH5A7GX2BUJR5PA/matmul_kernel.json"},"file_content":{"matmul_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:0)\n#loc56 = loc(\"a\"(#loc))\n#loc57 = loc(\"b\"(#loc))\n#loc58 = loc(\"c\"(#loc))\n#loc59 = loc(\"M\"(#loc))\n#loc60 = loc(\"N\"(#loc))\n#loc61 = loc(\"K\"(#loc))\n#loc62 = loc(\"stride_am\"(#loc))\n#loc63 = loc(\"stride_bk\"(#loc))\n#loc64 = loc(\"stride_cm\"(#loc))\nmodule {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %num_pid_m = arith.constant 31 : i32 loc(#loc115)\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf16> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<32x16xf16> loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc3)\n %cst_1 = arith.constant dense<16> : tensor<32x16xi32> loc(#loc1)\n %cst_2 = arith.constant dense<0.000000e+00> : tensor<32x16xf32> loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c32_i32 = arith.constant 32 : i32 loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc66)\n %num_pid_m_3 = arith.addi %M, %num_pid_m : i32 loc(#loc116)\n %num_pid_m_4 = arith.divsi %num_pid_m_3, %c32_i32 : i32 loc(#loc117)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc118)\n %num_pid_n_5 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc119)\n %group_id = arith.divsi %pid, %num_pid_n_5 : i32 loc(#loc68)\n %group_size = arith.subi %num_pid_m_4, %group_id : i32 loc(#loc69)\n %group_size_6 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc70)\n %pid_m = arith.remsi %pid, %group_size_6 : i32 loc(#loc71)\n %pid_m_7 = arith.addi %group_id, %pid_m : i32 loc(#loc72)\n %pid_n = arith.remsi %pid, %num_pid_n_5 : i32 loc(#loc73)\n %pid_n_8 = arith.divsi %pid_n, %group_size_6 : i32 loc(#loc74)\n %offs_am = arith.muli %pid_m_7, %c32_i32 : i32 loc(#loc75)\n %offs_am_9 = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32> loc(#loc76)\n %offs_am_10 = tt.splat %offs_am : i32 -> tensor<32xi32> loc(#loc77)\n %offs_am_11 = arith.addi %offs_am_10, %offs_am_9 : tensor<32xi32> loc(#loc77)\n %offs_am_12 = tt.splat %M : i32 -> tensor<32xi32> loc(#loc78)\n %offs_am_13 = arith.remsi %offs_am_11, %offs_am_12 : tensor<32xi32> loc(#loc78)\n %offs_bn = arith.muli %pid_n_8, %c16_i32 : i32 loc(#loc79)\n %offs_bn_14 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32> loc(#loc80)\n %offs_bn_15 = tt.splat %offs_bn : i32 -> tensor<16xi32> loc(#loc81)\n %offs_bn_16 = arith.addi %offs_bn_15, %offs_bn_14 : tensor<16xi32> loc(#loc81)\n %offs_bn_17 = tt.splat %N : i32 -> tensor<16xi32> loc(#loc82)\n %offs_bn_18 = arith.remsi %offs_bn_16, %offs_bn_17 : tensor<16xi32> loc(#loc82)\n %a_ptrs = tt.expand_dims %offs_am_13 {axis = 1 : i32} : tensor<32xi32> -> tensor<32x1xi32> loc(#loc83)\n %a_ptrs_19 = tt.splat %stride_am : i32 -> tensor<32x1xi32> loc(#loc84)\n %a_ptrs_20 = arith.muli %a_ptrs, %a_ptrs_19 : tensor<32x1xi32> loc(#loc84)\n %a_ptrs_21 = tt.expand_dims %offs_bn_14 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc85)\n %a_ptrs_22 = tt.broadcast %a_ptrs_20 : tensor<32x1xi32> -> tensor<32x16xi32> loc(#loc86)\n %a_ptrs_23 = tt.broadcast %a_ptrs_21 : tensor<1x16xi32> -> tensor<32x16xi32> loc(#loc86)\n %a_ptrs_24 = arith.addi %a_ptrs_22, %a_ptrs_23 : tensor<32x16xi32> loc(#loc86)\n %a_ptrs_25 = tt.splat %a : !tt.ptr -> tensor<32x16x!tt.ptr> loc(#loc87)\n %a_ptrs_26 = tt.addptr %a_ptrs_25, %a_ptrs_24 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc87)\n %b_ptrs = tt.expand_dims %offs_bn_14 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc88)\n %b_ptrs_27 = tt.splat %stride_bk : i32 -> tensor<16x1xi32> loc(#loc89)\n %b_ptrs_28 = arith.muli %b_ptrs, %b_ptrs_27 : tensor<16x1xi32> loc(#loc89)\n %b_ptrs_29 = tt.expand_dims %offs_bn_18 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc90)\n %b_ptrs_30 = tt.broadcast %b_ptrs_28 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc91)\n %b_ptrs_31 = tt.broadcast %b_ptrs_29 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc91)\n %b_ptrs_32 = arith.addi %b_ptrs_30, %b_ptrs_31 : tensor<16x16xi32> loc(#loc91)\n %b_ptrs_33 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc92)\n %b_ptrs_34 = tt.addptr %b_ptrs_33, %b_ptrs_32 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc92)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc93)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc94)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%a_ptrs_49 = %a_ptrs_26, %b_ptrs_50 = %b_ptrs_34, %accumulator_51 = %cst_2) -> (tensor<32x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<32x16xf32>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc96)\n %a_block_52 = arith.subi %K, %a_block : i32 loc(#loc97)\n %a_block_53 = tt.splat %a_block_52 : i32 -> tensor<1x16xi32> loc(#loc98)\n %a_block_54 = arith.cmpi slt, %a_ptrs_21, %a_block_53 : tensor<1x16xi32> loc(#loc98)\n %a_block_55 = tt.broadcast %a_block_54 : tensor<1x16xi1> -> tensor<32x16xi1> loc(#loc99)\n %a_block_56 = tt.load %a_ptrs_49, %a_block_55, %cst_0 : tensor<32x16x!tt.ptr> loc(#loc99)\n %b_block = tt.splat %a_block_52 : i32 -> tensor<16x1xi32> loc(#loc100)\n %b_block_57 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32> loc(#loc100)\n %b_block_58 = tt.broadcast %b_block_57 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc101)\n %b_block_59 = tt.load %b_ptrs_50, %b_block_58, %cst : tensor<16x16x!tt.ptr> loc(#loc101)\n %accumulator_60 = tt.dot %a_block_56, %b_block_59, %accumulator_51, inputPrecision = tf32 : tensor<32x16xf16> * tensor<16x16xf16> -> tensor<32x16xf32> loc(#loc102)\n %a_ptrs_61 = tt.addptr %a_ptrs_49, %cst_1 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc103)\n %b_ptrs_62 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc104)\n %b_ptrs_63 = tt.splat %b_ptrs_62 : i32 -> tensor<16x16xi32> loc(#loc105)\n %b_ptrs_64 = tt.addptr %b_ptrs_50, %b_ptrs_63 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc105)\n scf.yield %a_ptrs_61, %b_ptrs_64, %accumulator_60 : tensor<32x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<32x16xf32> loc(#loc44)\n } loc(#loc121)\n %c_block = arith.truncf %accumulator#2 : tensor<32x16xf32> to tensor<32x16xf16> loc(#loc106)\n %c_ptrs = tt.expand_dims %offs_am_11 {axis = 1 : i32} : tensor<32xi32> -> tensor<32x1xi32> loc(#loc107)\n %c_ptrs_35 = tt.splat %stride_cm : i32 -> tensor<32x1xi32> loc(#loc108)\n %c_ptrs_36 = arith.muli %c_ptrs_35, %c_ptrs : tensor<32x1xi32> loc(#loc108)\n %c_ptrs_37 = tt.splat %c : !tt.ptr -> tensor<32x1x!tt.ptr> loc(#loc109)\n %c_ptrs_38 = tt.addptr %c_ptrs_37, %c_ptrs_36 : tensor<32x1x!tt.ptr>, tensor<32x1xi32> loc(#loc109)\n %c_ptrs_39 = tt.expand_dims %offs_bn_16 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc110)\n %c_ptrs_40 = tt.broadcast %c_ptrs_38 : tensor<32x1x!tt.ptr> -> tensor<32x16x!tt.ptr> loc(#loc111)\n %c_ptrs_41 = tt.broadcast %c_ptrs_39 : tensor<1x16xi32> -> tensor<32x16xi32> loc(#loc111)\n %c_ptrs_42 = tt.addptr %c_ptrs_40, %c_ptrs_41 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc111)\n %c_mask = tt.splat %M : i32 -> tensor<32x1xi32> loc(#loc112)\n %c_mask_43 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<32x1xi32> loc(#loc112)\n %c_mask_44 = tt.splat %N : i32 -> tensor<1x16xi32> loc(#loc113)\n %c_mask_45 = arith.cmpi slt, %c_ptrs_39, %c_mask_44 : tensor<1x16xi32> loc(#loc113)\n %c_mask_46 = tt.broadcast %c_mask_43 : tensor<32x1xi1> -> tensor<32x16xi1> loc(#loc114)\n %c_mask_47 = tt.broadcast %c_mask_45 : tensor<1x16xi1> -> tensor<32x16xi1> loc(#loc114)\n %c_mask_48 = arith.andi %c_mask_46, %c_mask_47 : tensor<32x16xi1> loc(#loc114)\n tt.store %c_ptrs_42, %c_block, %c_mask_48 : tensor<32x16x!tt.ptr> loc(#loc54)\n tt.return loc(#loc55)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:27)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:22)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:24)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:17)\n#loc6 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:30)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:27)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:22)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:33)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:46)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:33)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:27)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:19)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:40)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:23)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:51)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:38)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:68)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:23)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:51)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:38)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:68)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:26)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:37)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:56)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:49)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:25)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:36)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:56)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:48)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:33)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:51)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:47)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:43)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:12)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:43)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:12)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:39)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:18)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:33)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:18)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:8)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:29)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:37)\n#loc47 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:29)\n#loc48 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:17)\n#loc49 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:68)\n#loc50 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:48)\n#loc51 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:33)\n#loc52 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:58)\n#loc53 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:39)\n#loc54 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:21)\n#loc55 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:4)\n#loc65 = loc(\"num_pid_m\"(#loc2))\n#loc66 = loc(\"pid\"(#loc4))\n#loc67 = loc(\"num_pid_n\"(#loc7))\n#loc68 = loc(\"group_id\"(#loc8))\n#loc69 = loc(\"group_size\"(#loc9))\n#loc70 = loc(\"group_size\"(#loc10))\n#loc71 = loc(\"pid_m\"(#loc11))\n#loc72 = loc(\"pid_m\"(#loc12))\n#loc73 = loc(\"pid_n\"(#loc13))\n#loc74 = loc(\"pid_n\"(#loc14))\n#loc75 = loc(\"offs_am\"(#loc15))\n#loc76 = loc(\"offs_am\"(#loc16))\n#loc77 = loc(\"offs_am\"(#loc17))\n#loc78 = loc(\"offs_am\"(#loc18))\n#loc79 = loc(\"offs_bn\"(#loc19))\n#loc80 = loc(\"offs_bn\"(#loc20))\n#loc81 = loc(\"offs_bn\"(#loc21))\n#loc82 = loc(\"offs_bn\"(#loc22))\n#loc83 = loc(\"a_ptrs\"(#loc23))\n#loc84 = loc(\"a_ptrs\"(#loc24))\n#loc85 = loc(\"a_ptrs\"(#loc25))\n#loc86 = loc(\"a_ptrs\"(#loc26))\n#loc87 = loc(\"a_ptrs\"(#loc27))\n#loc88 = loc(\"b_ptrs\"(#loc28))\n#loc89 = loc(\"b_ptrs\"(#loc29))\n#loc90 = loc(\"b_ptrs\"(#loc30))\n#loc91 = loc(\"b_ptrs\"(#loc31))\n#loc92 = loc(\"b_ptrs\"(#loc32))\n#loc93 = loc(callsite(#loc5 at #loc33))\n#loc94 = loc(callsite(#loc6 at #loc33))\n#loc95 = loc(\"a_ptrs\"(#loc3))\n#loc96 = loc(\"a_block\"(#loc34))\n#loc97 = loc(\"a_block\"(#loc35))\n#loc98 = loc(\"a_block\"(#loc36))\n#loc99 = loc(\"a_block\"(#loc37))\n#loc100 = loc(\"b_block\"(#loc38))\n#loc101 = loc(\"b_block\"(#loc39))\n#loc102 = loc(\"accumulator\"(#loc40))\n#loc103 = loc(\"a_ptrs\"(#loc41))\n#loc104 = loc(\"b_ptrs\"(#loc42))\n#loc105 = loc(\"b_ptrs\"(#loc43))\n#loc106 = loc(\"c_block\"(#loc45))\n#loc107 = loc(\"c_ptrs\"(#loc46))\n#loc108 = loc(\"c_ptrs\"(#loc47))\n#loc109 = loc(\"c_ptrs\"(#loc48))\n#loc110 = loc(\"c_ptrs\"(#loc49))\n#loc111 = loc(\"c_ptrs\"(#loc50))\n#loc112 = loc(\"c_mask\"(#loc51))\n#loc113 = loc(\"c_mask\"(#loc52))\n#loc114 = loc(\"c_mask\"(#loc53))\n#loc115 = loc(callsite(#loc1 at #loc65))\n#loc116 = loc(callsite(#loc5 at #loc65))\n#loc117 = loc(callsite(#loc6 at #loc65))\n#loc118 = loc(callsite(#loc5 at #loc67))\n#loc119 = loc(callsite(#loc6 at #loc67))\n#loc120 = loc(\"b_ptrs\"(#loc95))\n#loc121 = loc(\"accumulator\"(#loc120))\n","matmul_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1, 8], threadsPerWarp = [16, 2], warpsPerCTA = [1, 1], order = [1, 0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:0)\n#mma = #ttg.nvidia_mma<{versionMajor = 2, versionMinor = 0, warpsPerCTA = [1, 1], instrShape = [16, 8]}>\n#shared = #ttg.swizzled_shared<{vec = 8, perPhase = 4, maxPhase = 2, order = [1, 0]}>\n#smem = #ttg.shared_memory\n#loc56 = loc(\"a\"(#loc))\n#loc57 = loc(\"b\"(#loc))\n#loc58 = loc(\"c\"(#loc))\n#loc59 = loc(\"M\"(#loc))\n#loc60 = loc(\"N\"(#loc))\n#loc61 = loc(\"K\"(#loc))\n#loc62 = loc(\"stride_am\"(#loc))\n#loc63 = loc(\"stride_bk\"(#loc))\n#loc64 = loc(\"stride_cm\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 1 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<32x16xf32, #mma> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #blocked> loc(#loc1)\n %cst_1 = arith.constant dense<0.000000e+00> : tensor<32x16xf16, #blocked> loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %c32_i32 = arith.constant 32 : i32 loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %c31_i32 = arith.constant 31 : i32 loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc1)\n %cst_2 = arith.constant dense<16> : tensor<32x16xi32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc65)\n %num_pid_m = arith.addi %M, %c31_i32 : i32 loc(#loc115)\n %num_pid_m_3 = arith.divsi %num_pid_m, %c32_i32 : i32 loc(#loc116)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc117)\n %num_pid_n_4 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc118)\n %group_id = arith.divsi %pid, %num_pid_n_4 : i32 loc(#loc68)\n %group_size = arith.subi %num_pid_m_3, %group_id : i32 loc(#loc69)\n %group_size_5 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc70)\n %pid_m = arith.remsi %pid, %group_size_5 : i32 loc(#loc71)\n %pid_m_6 = arith.addi %group_id, %pid_m : i32 loc(#loc72)\n %pid_n = arith.remsi %pid, %num_pid_n_4 : i32 loc(#loc73)\n %pid_n_7 = arith.divsi %pid_n, %group_size_5 : i32 loc(#loc74)\n %offs_am = arith.muli %pid_m_6, %c32_i32 : i32 loc(#loc75)\n %offs_am_8 = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc76)\n %offs_am_9 = tt.splat %offs_am : i32 -> tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc77)\n %offs_am_10 = arith.addi %offs_am_9, %offs_am_8 : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc77)\n %offs_am_11 = tt.splat %M : i32 -> tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc78)\n %offs_am_12 = arith.remsi %offs_am_10, %offs_am_11 : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc78)\n %offs_bn = arith.muli %pid_n_7, %c16_i32 : i32 loc(#loc79)\n %offs_bn_13 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc80)\n %offs_bn_14 = tt.splat %offs_bn : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc81)\n %offs_bn_15 = arith.addi %offs_bn_14, %offs_bn_13 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc81)\n %offs_bn_16 = tt.splat %N : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc82)\n %offs_bn_17 = arith.remsi %offs_bn_15, %offs_bn_16 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc82)\n %a_ptrs = tt.expand_dims %offs_am_12 {axis = 1 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<32x1xi32, #blocked> loc(#loc83)\n %a_ptrs_18 = tt.splat %stride_am : i32 -> tensor<32x1xi32, #blocked> loc(#loc84)\n %a_ptrs_19 = arith.muli %a_ptrs, %a_ptrs_18 : tensor<32x1xi32, #blocked> loc(#loc84)\n %a_ptrs_20 = tt.expand_dims %offs_bn_13 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc85)\n %a_ptrs_21 = tt.broadcast %a_ptrs_19 : tensor<32x1xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc86)\n %a_ptrs_22 = tt.broadcast %a_ptrs_20 : tensor<1x16xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc86)\n %a_ptrs_23 = arith.addi %a_ptrs_21, %a_ptrs_22 : tensor<32x16xi32, #blocked> loc(#loc86)\n %a_ptrs_24 = tt.splat %a : !tt.ptr -> tensor<32x16x!tt.ptr, #blocked> loc(#loc87)\n %a_ptrs_25 = tt.addptr %a_ptrs_24, %a_ptrs_23 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc87)\n %b_ptrs = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc88)\n %b_ptrs_26 = tt.expand_dims %b_ptrs {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc88)\n %b_ptrs_27 = tt.splat %stride_bk : i32 -> tensor<16x1xi32, #blocked> loc(#loc89)\n %b_ptrs_28 = arith.muli %b_ptrs_26, %b_ptrs_27 : tensor<16x1xi32, #blocked> loc(#loc89)\n %b_ptrs_29 = tt.expand_dims %offs_bn_17 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc90)\n %b_ptrs_30 = tt.broadcast %b_ptrs_28 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc91)\n %b_ptrs_31 = tt.broadcast %b_ptrs_29 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc91)\n %b_ptrs_32 = arith.addi %b_ptrs_30, %b_ptrs_31 : tensor<16x16xi32, #blocked> loc(#loc91)\n %b_ptrs_33 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc92)\n %b_ptrs_34 = tt.addptr %b_ptrs_33, %b_ptrs_32 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc92)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc93)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc94)\n %b_ptrs_35 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc95)\n %b_ptrs_36 = tt.splat %b_ptrs_35 : i32 -> tensor<16x16xi32, #blocked> loc(#loc96)\n %accumulator:3 = scf.for %accumulator_51 = %c0_i32 to %1 step %c1_i32 iter_args(%arg10 = %cst, %a_ptrs_52 = %a_ptrs_25, %b_ptrs_53 = %b_ptrs_34) -> (tensor<32x16xf32, #mma>, tensor<32x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked>) : i32 {\n %a_block = arith.muli %accumulator_51, %c16_i32 : i32 loc(#loc98)\n %a_block_54 = arith.subi %K, %a_block : i32 loc(#loc99)\n %a_block_55 = tt.splat %a_block_54 : i32 -> tensor<1x16xi32, #blocked> loc(#loc100)\n %a_block_56 = arith.cmpi slt, %a_ptrs_20, %a_block_55 : tensor<1x16xi32, #blocked> loc(#loc100)\n %a_block_57 = tt.broadcast %a_block_56 : tensor<1x16xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc101)\n %a_block_58 = tt.load %a_ptrs_52, %a_block_57, %cst_1 : tensor<32x16x!tt.ptr, #blocked> loc(#loc101)\n %a_block_59 = ttg.local_alloc %a_block_58 : (tensor<32x16xf16, #blocked>) -> !ttg.memdesc<32x16xf16, #shared, #smem> loc(#loc101)\n %b_block = tt.splat %a_block_54 : i32 -> tensor<16x1xi32, #blocked> loc(#loc102)\n %b_block_60 = arith.cmpi slt, %b_ptrs_26, %b_block : tensor<16x1xi32, #blocked> loc(#loc102)\n %b_block_61 = tt.broadcast %b_block_60 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc103)\n %b_block_62 = tt.load %b_ptrs_53, %b_block_61, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc103)\n %b_block_63 = ttg.local_alloc %b_block_62 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc103)\n %a_block_64 = ttg.local_load %a_block_59 : !ttg.memdesc<32x16xf16, #shared, #smem> -> tensor<32x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> loc(#loc101)\n %b_block_65 = ttg.local_load %b_block_63 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> loc(#loc103)\n %accumulator_66 = tt.dot %a_block_64, %b_block_65, %arg10, inputPrecision = tf32 : tensor<32x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> * tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> -> tensor<32x16xf32, #mma> loc(#loc104)\n %a_ptrs_67 = tt.addptr %a_ptrs_52, %cst_2 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc105)\n %b_ptrs_68 = tt.addptr %b_ptrs_53, %b_ptrs_36 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc96)\n scf.yield %accumulator_66, %a_ptrs_67, %b_ptrs_68 : tensor<32x16xf32, #mma>, tensor<32x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked> loc(#loc44)\n } loc(#loc120)\n %c_block = arith.truncf %accumulator#0 : tensor<32x16xf32, #mma> to tensor<32x16xf16, #mma> loc(#loc106)\n %c_ptrs = tt.expand_dims %offs_am_10 {axis = 1 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<32x1xi32, #blocked> loc(#loc107)\n %c_ptrs_37 = tt.splat %stride_cm : i32 -> tensor<32x1xi32, #blocked> loc(#loc108)\n %c_ptrs_38 = arith.muli %c_ptrs_37, %c_ptrs : tensor<32x1xi32, #blocked> loc(#loc108)\n %c_ptrs_39 = tt.splat %c : !tt.ptr -> tensor<32x1x!tt.ptr, #blocked> loc(#loc109)\n %c_ptrs_40 = tt.addptr %c_ptrs_39, %c_ptrs_38 : tensor<32x1x!tt.ptr, #blocked>, tensor<32x1xi32, #blocked> loc(#loc109)\n %c_ptrs_41 = tt.expand_dims %offs_bn_15 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc110)\n %c_ptrs_42 = tt.broadcast %c_ptrs_40 : tensor<32x1x!tt.ptr, #blocked> -> tensor<32x16x!tt.ptr, #blocked> loc(#loc111)\n %c_ptrs_43 = tt.broadcast %c_ptrs_41 : tensor<1x16xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc111)\n %c_ptrs_44 = tt.addptr %c_ptrs_42, %c_ptrs_43 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc111)\n %c_mask = tt.splat %M : i32 -> tensor<32x1xi32, #blocked> loc(#loc112)\n %c_mask_45 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<32x1xi32, #blocked> loc(#loc112)\n %c_mask_46 = tt.splat %N : i32 -> tensor<1x16xi32, #blocked> loc(#loc113)\n %c_mask_47 = arith.cmpi slt, %c_ptrs_41, %c_mask_46 : tensor<1x16xi32, #blocked> loc(#loc113)\n %c_mask_48 = tt.broadcast %c_mask_45 : tensor<32x1xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc114)\n %c_mask_49 = tt.broadcast %c_mask_47 : tensor<1x16xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc114)\n %c_mask_50 = arith.andi %c_mask_48, %c_mask_49 : tensor<32x16xi1, #blocked> loc(#loc114)\n %2 = ttg.convert_layout %c_block : tensor<32x16xf16, #mma> -> tensor<32x16xf16, #blocked> loc(#loc54)\n tt.store %c_ptrs_44, %2, %c_mask_50 : tensor<32x16x!tt.ptr, #blocked> loc(#loc54)\n tt.return loc(#loc55)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:24)\n#loc3 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:17)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:27)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:30)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:27)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:22)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:33)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:46)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:33)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:27)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:19)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:40)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:23)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:51)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:38)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:68)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:23)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:51)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:38)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:68)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:26)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:37)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:56)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:49)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:25)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:36)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:56)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:48)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:33)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:33)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:18)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:22)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:51)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:47)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:43)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:12)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:43)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:12)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:39)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:18)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:8)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:29)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:37)\n#loc47 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:29)\n#loc48 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:17)\n#loc49 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:68)\n#loc50 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:48)\n#loc51 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:33)\n#loc52 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:58)\n#loc53 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:39)\n#loc54 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:21)\n#loc55 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:4)\n#loc65 = loc(\"pid\"(#loc2))\n#loc66 = loc(\"num_pid_m\"(#loc4))\n#loc67 = loc(\"num_pid_n\"(#loc6))\n#loc68 = loc(\"group_id\"(#loc7))\n#loc69 = loc(\"group_size\"(#loc8))\n#loc70 = loc(\"group_size\"(#loc9))\n#loc71 = loc(\"pid_m\"(#loc10))\n#loc72 = loc(\"pid_m\"(#loc11))\n#loc73 = loc(\"pid_n\"(#loc12))\n#loc74 = loc(\"pid_n\"(#loc13))\n#loc75 = loc(\"offs_am\"(#loc14))\n#loc76 = loc(\"offs_am\"(#loc15))\n#loc77 = loc(\"offs_am\"(#loc16))\n#loc78 = loc(\"offs_am\"(#loc17))\n#loc79 = loc(\"offs_bn\"(#loc18))\n#loc80 = loc(\"offs_bn\"(#loc19))\n#loc81 = loc(\"offs_bn\"(#loc20))\n#loc82 = loc(\"offs_bn\"(#loc21))\n#loc83 = loc(\"a_ptrs\"(#loc22))\n#loc84 = loc(\"a_ptrs\"(#loc23))\n#loc85 = loc(\"a_ptrs\"(#loc24))\n#loc86 = loc(\"a_ptrs\"(#loc25))\n#loc87 = loc(\"a_ptrs\"(#loc26))\n#loc88 = loc(\"b_ptrs\"(#loc27))\n#loc89 = loc(\"b_ptrs\"(#loc28))\n#loc90 = loc(\"b_ptrs\"(#loc29))\n#loc91 = loc(\"b_ptrs\"(#loc30))\n#loc92 = loc(\"b_ptrs\"(#loc31))\n#loc93 = loc(callsite(#loc3 at #loc32))\n#loc94 = loc(callsite(#loc5 at #loc32))\n#loc95 = loc(\"b_ptrs\"(#loc33))\n#loc96 = loc(\"b_ptrs\"(#loc34))\n#loc97 = loc(\"a_ptrs\"(#loc35))\n#loc98 = loc(\"a_block\"(#loc36))\n#loc99 = loc(\"a_block\"(#loc37))\n#loc100 = loc(\"a_block\"(#loc38))\n#loc101 = loc(\"a_block\"(#loc39))\n#loc102 = loc(\"b_block\"(#loc40))\n#loc103 = loc(\"b_block\"(#loc41))\n#loc104 = loc(\"accumulator\"(#loc42))\n#loc105 = loc(\"a_ptrs\"(#loc43))\n#loc106 = loc(\"c_block\"(#loc45))\n#loc107 = loc(\"c_ptrs\"(#loc46))\n#loc108 = loc(\"c_ptrs\"(#loc47))\n#loc109 = loc(\"c_ptrs\"(#loc48))\n#loc110 = loc(\"c_ptrs\"(#loc49))\n#loc111 = loc(\"c_ptrs\"(#loc50))\n#loc112 = loc(\"c_mask\"(#loc51))\n#loc113 = loc(\"c_mask\"(#loc52))\n#loc114 = loc(\"c_mask\"(#loc53))\n#loc115 = loc(callsite(#loc3 at #loc66))\n#loc116 = loc(callsite(#loc5 at #loc66))\n#loc117 = loc(callsite(#loc3 at #loc67))\n#loc118 = loc(callsite(#loc5 at #loc67))\n#loc119 = loc(\"b_ptrs\"(#loc97))\n#loc120 = loc(\"accumulator\"(#loc119))\n","matmul_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n@global_smem = external addrspace(3) global [0 x i8], align 16\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @matmul_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr addrspace(1) readnone captures(none) %9, ptr addrspace(1) readnone captures(none) %10) local_unnamed_addr #0 !dbg !4 {\n %12 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %13 = add i32 %3, 31, !dbg !13\n %14 = sdiv i32 %13, 32, !dbg !18\n %15 = add i32 %4, 15, !dbg !19\n %16 = sdiv i32 %15, 16, !dbg !21\n %.frozen = freeze i32 %16, !dbg !22\n %17 = sdiv i32 %12, %.frozen, !dbg !22\n %18 = sub i32 %14, %17, !dbg !23\n %19 = tail call i32 @llvm.smin.i32(i32 %18, i32 1), !dbg !24\n %20 = srem i32 %12, %19, !dbg !25\n %21 = add i32 %20, %17, !dbg !26\n %22 = mul i32 %17, %.frozen, !dbg !27\n %.decomposed = sub i32 %12, %22, !dbg !27\n %23 = sdiv i32 %.decomposed, %19, !dbg !28\n %24 = shl i32 %21, 5, !dbg !29\n %25 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !30\n %26 = lshr i32 %25, 1, !dbg !30\n %27 = and i32 %26, 15, !dbg !30\n %28 = or disjoint i32 %24, %27, !dbg !31\n %29 = or disjoint i32 %28, 16, !dbg !31\n %30 = shl nsw i32 %23, 4, !dbg !32\n %31 = and i32 %25, 1, !dbg !33\n %32 = shl nuw nsw i32 %31, 3, !dbg !33\n %33 = or disjoint i32 %30, %32, !dbg !34\n %34 = add i32 %5, 15, !dbg !35\n %35 = sdiv i32 %34, 16, !dbg !37\n %36 = icmp sgt i32 %34, 15, !dbg !38\n br i1 %36, label %.lr.ph, label %.._crit_edge_crit_edge, !dbg !38\n\n.._crit_edge_crit_edge: ; preds = %11\n %.pre = shl nuw nsw i32 %25, 4, !dbg !39\n %.pre109 = and i32 %25, 4, !dbg !39\n %.pre111 = and i32 %25, 8, !dbg !39\n br label %._crit_edge, !dbg !38\n\n.lr.ph: ; preds = %11\n %37 = shl i32 %7, 4, !dbg !40\n %38 = srem i32 %33, %4, !dbg !41\n %39 = mul i32 %7, %27, !dbg !42\n %40 = add i32 %38, %39, !dbg !43\n %41 = sext i32 %40 to i64, !dbg !44\n %42 = getelementptr half, ptr addrspace(1) %1, i64 %41, !dbg !44\n %43 = srem i32 %29, %3, !dbg !45\n %44 = mul i32 %43, %6, !dbg !46\n %45 = add i32 %44, %32, !dbg !47\n %46 = sext i32 %45 to i64, !dbg !48\n %47 = getelementptr half, ptr addrspace(1) %0, i64 %46, !dbg !48\n %48 = srem i32 %28, %3, !dbg !45\n %49 = mul i32 %48, %6, !dbg !46\n %50 = add i32 %49, %32, !dbg !47\n %51 = sext i32 %50 to i64, !dbg !48\n %52 = getelementptr half, ptr addrspace(1) %0, i64 %51, !dbg !48\n %53 = shl nuw nsw i32 %25, 4\n %54 = and i32 %53, 368\n %55 = and i32 %25, 8\n %56 = icmp eq i32 %55, 0\n %57 = select i1 %56, i32 0, i32 144\n %58 = xor i32 %57, %54\n %59 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %58\n %60 = getelementptr inbounds nuw i8, ptr addrspace(3) %59, i32 512\n %61 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 1024), i32 %58\n %62 = shl nuw nsw i32 %25, 5\n %63 = and i32 %62, 352\n %64 = and i32 %25, 4\n %65 = icmp eq i32 %64, 0\n %66 = select i1 %65, i32 0, i32 144\n %67 = and i32 %25, 16\n %68 = or disjoint i32 %66, %63\n %69 = xor i32 %68, %67\n %70 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %69\n %71 = getelementptr inbounds nuw i8, ptr addrspace(3) %70, i32 512\n %72 = xor i32 %66, %67\n %73 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 1024), i32 %63\n %74 = getelementptr inbounds nuw i8, ptr addrspace(3) %73, i32 %72\n %75 = sext i32 %37 to i64\n br label %76, !dbg !38\n\n76: ; preds = %.lr.ph, %76\n %.pn47107 = phi ptr addrspace(1) [ %42, %.lr.ph ], [ %150, %76 ]\n %.pn15106 = phi ptr addrspace(1) [ %47, %.lr.ph ], [ %149, %76 ]\n %.pn31105 = phi ptr addrspace(1) [ %52, %.lr.ph ], [ %148, %76 ]\n %77 = phi float [ 0.000000e+00, %.lr.ph ], [ %129, %76 ]\n %78 = phi float [ 0.000000e+00, %.lr.ph ], [ %130, %76 ]\n %79 = phi float [ 0.000000e+00, %.lr.ph ], [ %131, %76 ]\n %80 = phi float [ 0.000000e+00, %.lr.ph ], [ %132, %76 ]\n %81 = phi float [ 0.000000e+00, %.lr.ph ], [ %134, %76 ]\n %82 = phi float [ 0.000000e+00, %.lr.ph ], [ %135, %76 ]\n %83 = phi float [ 0.000000e+00, %.lr.ph ], [ %136, %76 ]\n %84 = phi float [ 0.000000e+00, %.lr.ph ], [ %137, %76 ]\n %85 = phi float [ 0.000000e+00, %.lr.ph ], [ %139, %76 ]\n %86 = phi float [ 0.000000e+00, %.lr.ph ], [ %140, %76 ]\n %87 = phi float [ 0.000000e+00, %.lr.ph ], [ %141, %76 ]\n %88 = phi float [ 0.000000e+00, %.lr.ph ], [ %142, %76 ]\n %89 = phi float [ 0.000000e+00, %.lr.ph ], [ %144, %76 ]\n %90 = phi float [ 0.000000e+00, %.lr.ph ], [ %145, %76 ]\n %91 = phi float [ 0.000000e+00, %.lr.ph ], [ %146, %76 ]\n %92 = phi float [ 0.000000e+00, %.lr.ph ], [ %147, %76 ]\n %93 = phi i32 [ 0, %.lr.ph ], [ %151, %76 ]\n %94 = shl i32 %93, 4, !dbg !49\n %95 = sub i32 %5, %94, !dbg !50\n %96 = icmp slt i32 %32, %95, !dbg !51\n %97 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn31105, i1 %96) #6, !dbg !52\n %98 = extractvalue { i32, i32, i32, i32 } %97, 0, !dbg !52\n %99 = extractvalue { i32, i32, i32, i32 } %97, 1, !dbg !52\n %100 = extractvalue { i32, i32, i32, i32 } %97, 2, !dbg !52\n %101 = extractvalue { i32, i32, i32, i32 } %97, 3, !dbg !52\n %102 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn15106, i1 %96) #6, !dbg !52\n %103 = extractvalue { i32, i32, i32, i32 } %102, 0, !dbg !52\n %104 = extractvalue { i32, i32, i32, i32 } %102, 1, !dbg !52\n %105 = extractvalue { i32, i32, i32, i32 } %102, 2, !dbg !52\n %106 = extractvalue { i32, i32, i32, i32 } %102, 3, !dbg !52\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !52\n tail call void asm sideeffect \"st.shared.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %59, i32 %98, i32 %99, i32 %100, i32 %101) #6, !dbg !52\n tail call void asm sideeffect \"st.shared.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) nonnull %60, i32 %103, i32 %104, i32 %105, i32 %106) #6, !dbg !52\n %107 = icmp slt i32 %27, %95, !dbg !53\n %108 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn47107, i1 %107) #6, !dbg !54\n %109 = extractvalue { i32, i32, i32, i32 } %108, 0, !dbg !54\n %110 = extractvalue { i32, i32, i32, i32 } %108, 1, !dbg !54\n %111 = extractvalue { i32, i32, i32, i32 } %108, 2, !dbg !54\n %112 = extractvalue { i32, i32, i32, i32 } %108, 3, !dbg !54\n tail call void asm sideeffect \"st.shared.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %61, i32 %109, i32 %110, i32 %111, i32 %112) #6, !dbg !54\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !52\n %113 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %70), !dbg !52\n %114 = extractvalue { i32, i32, i32, i32 } %113, 0, !dbg !52\n %115 = extractvalue { i32, i32, i32, i32 } %113, 1, !dbg !52\n %116 = extractvalue { i32, i32, i32, i32 } %113, 2, !dbg !52\n %117 = extractvalue { i32, i32, i32, i32 } %113, 3, !dbg !52\n %118 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) nonnull %71), !dbg !52\n %119 = extractvalue { i32, i32, i32, i32 } %118, 0, !dbg !52\n %120 = extractvalue { i32, i32, i32, i32 } %118, 1, !dbg !52\n %121 = extractvalue { i32, i32, i32, i32 } %118, 2, !dbg !52\n %122 = extractvalue { i32, i32, i32, i32 } %118, 3, !dbg !52\n %123 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) %74), !dbg !54\n %124 = extractvalue { i32, i32, i32, i32 } %123, 0, !dbg !54\n %125 = extractvalue { i32, i32, i32, i32 } %123, 1, !dbg !54\n %126 = extractvalue { i32, i32, i32, i32 } %123, 2, !dbg !54\n %127 = extractvalue { i32, i32, i32, i32 } %123, 3, !dbg !54\n %128 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %77, float %78, float %79, float %80, i32 %114, i32 %115, i32 %116, i32 %117, i32 %124, i32 %125) #6, !dbg !55\n %129 = extractvalue { float, float, float, float } %128, 0, !dbg !55\n %130 = extractvalue { float, float, float, float } %128, 1, !dbg !55\n %131 = extractvalue { float, float, float, float } %128, 2, !dbg !55\n %132 = extractvalue { float, float, float, float } %128, 3, !dbg !55\n %133 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %81, float %82, float %83, float %84, i32 %114, i32 %115, i32 %116, i32 %117, i32 %126, i32 %127) #6, !dbg !55\n %134 = extractvalue { float, float, float, float } %133, 0, !dbg !55\n %135 = extractvalue { float, float, float, float } %133, 1, !dbg !55\n %136 = extractvalue { float, float, float, float } %133, 2, !dbg !55\n %137 = extractvalue { float, float, float, float } %133, 3, !dbg !55\n %138 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %85, float %86, float %87, float %88, i32 %119, i32 %120, i32 %121, i32 %122, i32 %124, i32 %125) #6, !dbg !55\n %139 = extractvalue { float, float, float, float } %138, 0, !dbg !55\n %140 = extractvalue { float, float, float, float } %138, 1, !dbg !55\n %141 = extractvalue { float, float, float, float } %138, 2, !dbg !55\n %142 = extractvalue { float, float, float, float } %138, 3, !dbg !55\n %143 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %89, float %90, float %91, float %92, i32 %119, i32 %120, i32 %121, i32 %122, i32 %126, i32 %127) #6, !dbg !55\n %144 = extractvalue { float, float, float, float } %143, 0, !dbg !55\n %145 = extractvalue { float, float, float, float } %143, 1, !dbg !55\n %146 = extractvalue { float, float, float, float } %143, 2, !dbg !55\n %147 = extractvalue { float, float, float, float } %143, 3, !dbg !55\n %148 = getelementptr i8, ptr addrspace(1) %.pn31105, i64 32, !dbg !56\n %149 = getelementptr i8, ptr addrspace(1) %.pn15106, i64 32, !dbg !56\n %150 = getelementptr half, ptr addrspace(1) %.pn47107, i64 %75, !dbg !57\n %151 = add nuw nsw i32 %93, 1, !dbg !38\n %exitcond.not = icmp eq i32 %151, %35, !dbg !38\n br i1 %exitcond.not, label %._crit_edge.loopexit, label %76, !dbg !38\n\n._crit_edge.loopexit: ; preds = %76\n %152 = insertelement <16 x float> poison, float %129, i64 0, !dbg !58\n %153 = insertelement <16 x float> %152, float %130, i64 1, !dbg !58\n %154 = insertelement <16 x float> %153, float %131, i64 2, !dbg !58\n %155 = insertelement <16 x float> %154, float %132, i64 3, !dbg !58\n %156 = insertelement <16 x float> %155, float %134, i64 4, !dbg !58\n %157 = insertelement <16 x float> %156, float %135, i64 5, !dbg !58\n %158 = insertelement <16 x float> %157, float %136, i64 6, !dbg !58\n %159 = insertelement <16 x float> %158, float %137, i64 7, !dbg !58\n %160 = insertelement <16 x float> %159, float %139, i64 8, !dbg !58\n %161 = insertelement <16 x float> %160, float %140, i64 9, !dbg !58\n %162 = insertelement <16 x float> %161, float %141, i64 10, !dbg !58\n %163 = insertelement <16 x float> %162, float %142, i64 11, !dbg !58\n %164 = insertelement <16 x float> %163, float %144, i64 12, !dbg !58\n %165 = insertelement <16 x float> %164, float %145, i64 13, !dbg !58\n %166 = insertelement <16 x float> %165, float %146, i64 14, !dbg !58\n %167 = insertelement <16 x float> %166, float %147, i64 15, !dbg !58\n %168 = fptrunc <16 x float> %167 to <16 x half>, !dbg !58\n %169 = bitcast <16 x half> %168 to <8 x i32>, !dbg !39\n br label %._crit_edge, !dbg !58\n\n._crit_edge: ; preds = %._crit_edge.loopexit, %.._crit_edge_crit_edge\n %.pre-phi112 = phi i32 [ %.pre111, %.._crit_edge_crit_edge ], [ %55, %._crit_edge.loopexit ], !dbg !39\n %.pre-phi110 = phi i32 [ %.pre109, %.._crit_edge_crit_edge ], [ %64, %._crit_edge.loopexit ], !dbg !39\n %.pre-phi = phi i32 [ %.pre, %.._crit_edge_crit_edge ], [ %53, %._crit_edge.loopexit ], !dbg !39\n %.bc142 = phi <8 x i32> [ zeroinitializer, %.._crit_edge_crit_edge ], [ %169, %._crit_edge.loopexit ]\n %170 = mul i32 %28, %8, !dbg !59\n %171 = mul i32 %8, %29, !dbg !59\n %172 = sext i32 %170 to i64, !dbg !60\n %173 = getelementptr half, ptr addrspace(1) %2, i64 %172, !dbg !60\n %174 = sext i32 %171 to i64, !dbg !60\n %175 = getelementptr half, ptr addrspace(1) %2, i64 %174, !dbg !60\n %176 = sext i32 %33 to i64, !dbg !61\n %177 = getelementptr half, ptr addrspace(1) %173, i64 %176, !dbg !61\n %178 = getelementptr half, ptr addrspace(1) %175, i64 %176, !dbg !61\n %179 = icmp slt i32 %28, %3, !dbg !62\n %180 = icmp slt i32 %29, %3, !dbg !62\n %181 = icmp slt i32 %33, %4, !dbg !63\n %182 = and i1 %179, %181, !dbg !64\n %183 = and i1 %180, %181, !dbg !64\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !39\n %184 = and i32 %.pre-phi, 176, !dbg !39\n %185 = icmp eq i32 %.pre-phi110, 0, !dbg !39\n %186 = select i1 %185, i32 0, i32 320, !dbg !39\n %187 = shl nuw nsw i32 %25, 2, !dbg !39\n %188 = and i32 %187, 64, !dbg !39\n %189 = or disjoint i32 %186, %184, !dbg !39\n %190 = xor i32 %189, %188, !dbg !39\n %191 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %190, !dbg !39\n %.extract129 = extractelement <8 x i32> %.bc142, i64 0, !dbg !39\n %.extract131 = extractelement <8 x i32> %.bc142, i64 1, !dbg !39\n %.extract133 = extractelement <8 x i32> %.bc142, i64 2, !dbg !39\n %.extract135 = extractelement <8 x i32> %.bc142, i64 3, !dbg !39\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %191, i32 %.extract129, i32 %.extract131, i32 %.extract133, i32 %.extract135), !dbg !39\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !39\n %192 = shl nuw nsw i32 %25, 3, !dbg !39\n %193 = and i32 %192, 176, !dbg !39\n %194 = shl nuw nsw i32 %31, 6, !dbg !39\n %195 = icmp eq i32 %.pre-phi112, 0, !dbg !39\n %196 = select i1 %195, i32 0, i32 320, !dbg !39\n %197 = or disjoint i32 %193, %194, !dbg !39\n %198 = xor i32 %197, %196, !dbg !39\n %199 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %198, !dbg !39\n %200 = load <4 x i32>, ptr addrspace(3) %199, align 16, !dbg !39\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !39\n %.extract137 = extractelement <8 x i32> %.bc142, i64 4, !dbg !39\n %.extract139 = extractelement <8 x i32> %.bc142, i64 5, !dbg !39\n %.extract141 = extractelement <8 x i32> %.bc142, i64 6, !dbg !39\n %.extract143 = extractelement <8 x i32> %.bc142, i64 7, !dbg !39\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %191, i32 %.extract137, i32 %.extract139, i32 %.extract141, i32 %.extract143), !dbg !39\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !39\n %201 = load <4 x i32>, ptr addrspace(3) %199, align 16, !dbg !39\n %.extract = extractelement <4 x i32> %200, i64 0, !dbg !39\n %.extract92 = extractelement <4 x i32> %200, i64 1, !dbg !39\n %.extract94 = extractelement <4 x i32> %200, i64 2, !dbg !39\n %.extract96 = extractelement <4 x i32> %200, i64 3, !dbg !39\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract, i32 %.extract92, i32 %.extract94, i32 %.extract96, ptr addrspace(1) %177, i1 %182) #6, !dbg !39\n %.extract98 = extractelement <4 x i32> %201, i64 0, !dbg !39\n %.extract100 = extractelement <4 x i32> %201, i64 1, !dbg !39\n %.extract102 = extractelement <4 x i32> %201, i64 2, !dbg !39\n %.extract104 = extractelement <4 x i32> %201, i64 3, !dbg !39\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract98, i32 %.extract100, i32 %.extract102, i32 %.extract104, ptr addrspace(1) %178, i1 %183) #6, !dbg !39\n ret void, !dbg !65\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.smin.i32(i32, i32) #2\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.barrier.cta.sync.aligned.all(i32) #3\n\n; Function Attrs: convergent nocallback nounwind memory(argmem: write)\ndeclare void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) writeonly captures(none), i32, i32, i32, i32) #4\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.bar.warp.sync(i32) #3\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"32\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #3 = { convergent nocallback nounwind }\nattributes #4 = { convergent nocallback nounwind memory(argmem: write) }\nattributes #5 = { convergent nocallback nofree nounwind memory(argmem: read) }\nattributes #6 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"matmul_kernel\", linkageName: \"matmul_kernel\", scope: !1, file: !1, line: 292, type: !5, scopeLine: 292, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !9, !9, !9, !9, !9, !9, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"half\", size: 16, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 311, column: 24, scope: !4)\n!13 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !16)\n!14 = distinct !DILexicalBlockFile(scope: !4, file: !15, discriminator: 0)\n!15 = !DIFile(filename: \"standard.py\", directory: \"/python/lib/python3.14/site-packages/triton/language\")\n!16 = !DILocation(line: 312, column: 27, scope: !17)\n!17 = distinct !DILexicalBlockFile(scope: !4, file: !1, discriminator: 0)\n!18 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !16)\n!19 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !20)\n!20 = !DILocation(line: 313, column: 27, scope: !17)\n!21 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !20)\n!22 = !DILocation(line: 315, column: 22, scope: !4)\n!23 = !DILocation(line: 317, column: 33, scope: !4)\n!24 = !DILocation(line: 317, column: 46, scope: !4)\n!25 = !DILocation(line: 318, column: 33, scope: !4)\n!26 = !DILocation(line: 318, column: 27, scope: !4)\n!27 = !DILocation(line: 319, column: 19, scope: !4)\n!28 = !DILocation(line: 319, column: 40, scope: !4)\n!29 = !DILocation(line: 321, column: 23, scope: !4)\n!30 = !DILocation(line: 321, column: 51, scope: !4)\n!31 = !DILocation(line: 321, column: 38, scope: !4)\n!32 = !DILocation(line: 322, column: 23, scope: !4)\n!33 = !DILocation(line: 322, column: 51, scope: !4)\n!34 = !DILocation(line: 322, column: 38, scope: !4)\n!35 = !DILocation(line: 43, column: 17, scope: !14, inlinedAt: !36)\n!36 = !DILocation(line: 328, column: 33, scope: !17)\n!37 = !DILocation(line: 43, column: 30, scope: !14, inlinedAt: !36)\n!38 = !DILocation(line: 328, column: 22, scope: !4)\n!39 = !DILocation(line: 344, column: 21, scope: !4)\n!40 = !DILocation(line: 337, column: 33, scope: !4)\n!41 = !DILocation(line: 322, column: 68, scope: !4)\n!42 = !DILocation(line: 325, column: 36, scope: !4)\n!43 = !DILocation(line: 325, column: 48, scope: !4)\n!44 = !DILocation(line: 325, column: 18, scope: !4)\n!45 = !DILocation(line: 321, column: 68, scope: !4)\n!46 = !DILocation(line: 324, column: 37, scope: !4)\n!47 = !DILocation(line: 324, column: 49, scope: !4)\n!48 = !DILocation(line: 324, column: 18, scope: !4)\n!49 = !DILocation(line: 330, column: 51, scope: !4)\n!50 = !DILocation(line: 330, column: 47, scope: !4)\n!51 = !DILocation(line: 330, column: 43, scope: !4)\n!52 = !DILocation(line: 330, column: 12, scope: !4)\n!53 = !DILocation(line: 333, column: 43, scope: !4)\n!54 = !DILocation(line: 333, column: 12, scope: !4)\n!55 = !DILocation(line: 335, column: 39, scope: !4)\n!56 = !DILocation(line: 336, column: 18, scope: !4)\n!57 = !DILocation(line: 337, column: 18, scope: !4)\n!58 = !DILocation(line: 338, column: 29, scope: !4)\n!59 = !DILocation(line: 342, column: 29, scope: !4)\n!60 = !DILocation(line: 342, column: 17, scope: !4)\n!61 = !DILocation(line: 342, column: 48, scope: !4)\n!62 = !DILocation(line: 343, column: 33, scope: !4)\n!63 = !DILocation(line: 343, column: 58, scope: !4)\n!64 = !DILocation(line: 343, column: 39, scope: !4)\n!65 = !DILocation(line: 344, column: 4, scope: !4)\n","matmul_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.7\n.target sm_90a\n.address_size 64\n\n\t// .globl\tmatmul_kernel // -- Begin function matmul_kernel\n.extern .shared .align 16 .b8 global_smem[];\n // @matmul_kernel\n.visible .entry matmul_kernel(\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_2,\n\t.param .u32 matmul_kernel_param_3,\n\t.param .u32 matmul_kernel_param_4,\n\t.param .u32 matmul_kernel_param_5,\n\t.param .u32 matmul_kernel_param_6,\n\t.param .u32 matmul_kernel_param_7,\n\t.param .u32 matmul_kernel_param_8,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_9,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_10\n)\n.reqntid 32\n{\n\t.reg .pred \t%p<12>;\n\t.reg .b32 \t%r<144>;\n\t.reg .b64 \t%rd<13>;\n\t.loc\t1 292 0 // generate_examples.py:292:0\n$L__func_begin0:\n\t.loc\t1 292 0 // generate_examples.py:292:0\n\n// %bb.0:\n\tld.param.b32 \t%r15, [matmul_kernel_param_8];\n\tld.param.b32 \t%r115, [matmul_kernel_param_5];\n\tld.param.b32 \t%r12, [matmul_kernel_param_4];\n\tld.param.b32 \t%r11, [matmul_kernel_param_3];\n\tld.param.b64 \t%rd4, [matmul_kernel_param_2];\n$L__tmp0:\n\t.loc\t1 311 24 // generate_examples.py:311:24\n\tmov.u32 \t%r16, %ctaid.x;\n$L__tmp1:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:312:27 ]\n\tadd.s32 \t%r17, %r11, 31;\n\t.loc\t2 43 30 // standard.py:43:30 @[ generate_examples.py:312:27 ]\n\tshr.s32 \t%r18, %r17, 31;\n\tshr.u32 \t%r19, %r18, 27;\n\tadd.s32 \t%r20, %r17, %r19;\n\tshr.s32 \t%r21, %r20, 5;\n$L__tmp2:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:313:27 ]\n\tadd.s32 \t%r22, %r12, 15;\n\t.loc\t2 43 30 // standard.py:43:30 @[ generate_examples.py:313:27 ]\n\tshr.s32 \t%r23, %r22, 31;\n\tshr.u32 \t%r24, %r23, 28;\n\tadd.s32 \t%r25, %r22, %r24;\n\tshr.s32 \t%r26, %r25, 4;\n$L__tmp3:\n\t.loc\t1 315 22 // generate_examples.py:315:22\n\tdiv.s32 \t%r27, %r16, %r26;\n\t.loc\t1 317 33 // generate_examples.py:317:33\n\tsub.s32 \t%r28, %r21, %r27;\n\t.loc\t1 317 46 // generate_examples.py:317:46\n\tmin.s32 \t%r29, %r28, 1;\n\t.loc\t1 318 33 // generate_examples.py:318:33\n\trem.s32 \t%r30, %r16, %r29;\n\t.loc\t1 318 27 // generate_examples.py:318:27\n\tadd.s32 \t%r31, %r30, %r27;\n\t.loc\t1 319 19 // generate_examples.py:319:19\n\tmul.lo.s32 \t%r32, %r27, %r26;\n\tsub.s32 \t%r33, %r16, %r32;\n\t.loc\t1 319 40 // generate_examples.py:319:40\n\tdiv.s32 \t%r34, %r33, %r29;\n\t.loc\t1 321 23 // generate_examples.py:321:23\n\tshl.b32 \t%r35, %r31, 5;\n\t.loc\t1 321 51 // generate_examples.py:321:51\n\tmov.u32 \t%r1, %tid.x;\n\tbfe.u32 \t%r2, %r1, 1, 4;\n\t.loc\t1 321 38 // generate_examples.py:321:38\n\tor.b32 \t%r3, %r35, %r2;\n\tor.b32 \t%r4, %r3, 16;\n\t.loc\t1 322 23 // generate_examples.py:322:23\n\tshl.b32 \t%r36, %r34, 4;\n\t.loc\t1 322 51 // generate_examples.py:322:51\n\tand.b32 \t%r5, %r1, 1;\n\tshl.b32 \t%r6, %r5, 3;\n\t.loc\t1 322 38 // generate_examples.py:322:38\n\tor.b32 \t%r7, %r36, %r6;\n$L__tmp4:\n\t.loc\t2 43 17 // standard.py:43:17 @[ generate_examples.py:328:33 ]\n\tadd.s32 \t%r37, %r115, 15;\n$L__tmp5:\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tsetp.gt.s32 \t%p1, %r37, 15;\n\tmov.b32 \t%r114, global_smem;\n\t@%p1 bra \t$L__BB0_2;\n\tbra.uni \t$L__BB0_1;\n$L__BB0_2: // %.lr.ph\n\t.loc\t1 0 22 // generate_examples.py:0:22\n\tld.param.b32 \t%r14, [matmul_kernel_param_7];\n\tld.param.b32 \t%r13, [matmul_kernel_param_6];\n\tld.param.b64 \t%rd3, [matmul_kernel_param_1];\n\tld.param.b64 \t%rd2, [matmul_kernel_param_0];\n\tshr.s32 \t%r38, %r37, 31;\n\tshr.u32 \t%r39, %r38, 28;\n\tadd.s32 \t%r40, %r37, %r39;\n\tshr.s32 \t%r116, %r40, 4;\n\t.loc\t1 337 33 // generate_examples.py:337:33\n\tshl.b32 \t%r41, %r14, 4;\n\t.loc\t1 322 68 // generate_examples.py:322:68\n\trem.s32 \t%r42, %r7, %r12;\n\t.loc\t1 325 48 // generate_examples.py:325:48\n\tmad.lo.s32 \t%r43, %r14, %r2, %r42;\n\t.loc\t1 325 18 // generate_examples.py:325:18\n\tmad.wide.s32 \t%rd10, %r43, 2, %rd3;\n\t.loc\t1 321 68 // generate_examples.py:321:68\n\trem.s32 \t%r44, %r4, %r11;\n\t.loc\t1 324 49 // generate_examples.py:324:49\n\tmad.lo.s32 \t%r45, %r44, %r13, %r6;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd11, %r45, 2, %rd2;\n\t.loc\t1 321 68 // generate_examples.py:321:68\n\trem.s32 \t%r46, %r3, %r11;\n\t.loc\t1 324 49 // generate_examples.py:324:49\n\tmad.lo.s32 \t%r47, %r46, %r13, %r6;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd12, %r47, 2, %rd2;\n\tshl.b32 \t%r135, %r1, 4;\n\tand.b32 \t%r48, %r135, 368;\n\tand.b32 \t%r133, %r1, 8;\n\tbfe.s32 \t%r49, %r1, 3, 1;\n\tand.b32 \t%r50, %r49, 144;\n\txor.b32 \t%r51, %r50, %r48;\n\tadd.s32 \t%r71, %r114, %r51;\n\tadd.s32 \t%r72, %r71, 512;\n\tadd.s32 \t%r77, %r71, 1024;\n\tshl.b32 \t%r52, %r1, 5;\n\tand.b32 \t%r53, %r52, 352;\n\tand.b32 \t%r134, %r1, 4;\n\tbfe.s32 \t%r54, %r1, 2, 1;\n\tand.b32 \t%r55, %r54, 144;\n\tand.b32 \t%r56, %r1, 16;\n\tor.b32 \t%r57, %r55, %r53;\n\txor.b32 \t%r58, %r57, %r56;\n\tadd.s32 \t%r8, %r114, %r58;\n\tadd.s32 \t%r9, %r8, 512;\n\txor.b32 \t%r59, %r55, %r56;\n\tadd.s32 \t%r60, %r114, %r53;\n\tadd.s32 \t%r61, %r60, %r59;\n\tadd.s32 \t%r10, %r61, 1024;\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tmul.wide.s32 \t%rd1, %r41, 2;\n\tmov.b32 \t%r117, 0f00000000;\n\tmov.b32 \t%r118, %r117;\n\tmov.b32 \t%r119, %r117;\n\tmov.b32 \t%r120, %r117;\n\tmov.b32 \t%r121, %r117;\n\tmov.b32 \t%r122, %r117;\n\tmov.b32 \t%r123, %r117;\n\tmov.b32 \t%r124, %r117;\n\tmov.b32 \t%r125, %r117;\n\tmov.b32 \t%r126, %r117;\n\tmov.b32 \t%r127, %r117;\n\tmov.b32 \t%r128, %r117;\n\tmov.b32 \t%r129, %r117;\n\tmov.b32 \t%r130, %r117;\n\tmov.b32 \t%r131, %r117;\n\tmov.b32 \t%r132, %r117;\n$L__BB0_3: // =>This Inner Loop Header: Depth=1\n\t.loc\t1 330 43 // generate_examples.py:330:43\n\tsetp.lt.s32 \t%p2, %r6, %r115;\n\tmov.b32 \t%r66, 0;\n\t.loc\t1 330 12 // generate_examples.py:330:12\n\t// begin inline asm\n\tmov.u32 %r62, %r66;\n\tmov.u32 %r63, %r66;\n\tmov.u32 %r64, %r66;\n\tmov.u32 %r65, %r66;\n\t@%p2 ld.global.v4.b32 { %r62, %r63, %r64, %r65 }, [ %rd12 + 0 ];\n\t// end inline asm\n\t// begin inline asm\n\tmov.u32 %r67, %r66;\n\tmov.u32 %r68, %r66;\n\tmov.u32 %r69, %r66;\n\tmov.u32 %r70, %r66;\n\t@%p2 ld.global.v4.b32 { %r67, %r68, %r69, %r70 }, [ %rd11 + 0 ];\n\t// end inline asm\n\tbar.sync \t0;\n\t// begin inline asm\n\tst.shared.v4.b32 [ %r71 + 0 ], { %r62, %r63, %r64, %r65 };\n\t// end inline asm\n\t// begin inline asm\n\tst.shared.v4.b32 [ %r72 + 0 ], { %r67, %r68, %r69, %r70 };\n\t// end inline asm\n\t.loc\t1 333 43 // generate_examples.py:333:43\n\tsetp.lt.s32 \t%p3, %r2, %r115;\n\t.loc\t1 333 12 // generate_examples.py:333:12\n\t// begin inline asm\n\tmov.u32 %r73, %r66;\n\tmov.u32 %r74, %r66;\n\tmov.u32 %r75, %r66;\n\tmov.u32 %r76, %r66;\n\t@%p3 ld.global.v4.b32 { %r73, %r74, %r75, %r76 }, [ %rd10 + 0 ];\n\t// end inline asm\n\t// begin inline asm\n\tst.shared.v4.b32 [ %r77 + 0 ], { %r73, %r74, %r75, %r76 };\n\t// end inline asm\n\t.loc\t1 330 12 // generate_examples.py:330:12\n\tbar.sync \t0;\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r78, %r79, %r80, %r81}, [%r8];\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r86, %r87, %r88, %r89}, [%r9];\n\t.loc\t1 333 12 // generate_examples.py:333:12\n\tldmatrix.sync.aligned.m8n8.x4.trans.shared.b16 {%r82, %r83, %r84, %r85}, [%r10];\n\t.loc\t1 335 39 // generate_examples.py:335:39\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r117, %r118, %r119, %r120 }, { %r78, %r79, %r80, %r81 }, { %r82, %r83 }, { %r117, %r118, %r119, %r120 };\n\t// end inline asm\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r121, %r122, %r123, %r124 }, { %r78, %r79, %r80, %r81 }, { %r84, %r85 }, { %r121, %r122, %r123, %r124 };\n\t// end inline asm\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r125, %r126, %r127, %r128 }, { %r86, %r87, %r88, %r89 }, { %r82, %r83 }, { %r125, %r126, %r127, %r128 };\n\t// end inline asm\n\t// begin inline asm\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r129, %r130, %r131, %r132 }, { %r86, %r87, %r88, %r89 }, { %r84, %r85 }, { %r129, %r130, %r131, %r132 };\n\t// end inline asm\n\t.loc\t1 336 18 // generate_examples.py:336:18\n\tadd.s64 \t%rd12, %rd12, 32;\n\tadd.s64 \t%rd11, %rd11, 32;\n\t.loc\t1 328 22 // generate_examples.py:328:22\n\tadd.s64 \t%rd10, %rd10, %rd1;\n\tadd.s32 \t%r116, %r116, -1;\n\tadd.s32 \t%r115, %r115, -16;\n\tsetp.ne.b32 \t%p4, %r116, 0;\n\t@%p4 bra \t$L__BB0_3;\n// %bb.4: // %._crit_edge.loopexit\n\t.loc\t1 338 29 // generate_examples.py:338:29\n\tcvt.rn.f16x2.f32 \t%r143, %r132, %r131;\n\tcvt.rn.f16x2.f32 \t%r142, %r130, %r129;\n\tcvt.rn.f16x2.f32 \t%r141, %r128, %r127;\n\tcvt.rn.f16x2.f32 \t%r140, %r126, %r125;\n\tcvt.rn.f16x2.f32 \t%r139, %r124, %r123;\n\tcvt.rn.f16x2.f32 \t%r138, %r122, %r121;\n\tcvt.rn.f16x2.f32 \t%r137, %r120, %r119;\n\tcvt.rn.f16x2.f32 \t%r136, %r118, %r117;\n\tbra.uni \t$L__BB0_5;\n$L__BB0_1: // %.._crit_edge_crit_edge\n\t.loc\t1 344 21 // generate_examples.py:344:21\n\tshl.b32 \t%r135, %r1, 4;\n\tand.b32 \t%r134, %r1, 4;\n\tand.b32 \t%r133, %r1, 8;\n\tmov.b32 \t%r136, 0;\n\tmov.b32 \t%r137, %r136;\n\tmov.b32 \t%r138, %r136;\n\tmov.b32 \t%r139, %r136;\n\tmov.b32 \t%r140, %r136;\n\tmov.b32 \t%r141, %r136;\n\tmov.b32 \t%r142, %r136;\n\tmov.b32 \t%r143, %r136;\n$L__BB0_5: // %._crit_edge\n\t.loc\t1 342 29 // generate_examples.py:342:29\n\tmul.lo.s32 \t%r98, %r3, %r15;\n\tmul.lo.s32 \t%r99, %r15, %r4;\n\t.loc\t1 342 17 // generate_examples.py:342:17\n\tmad.wide.s32 \t%rd7, %r98, 2, %rd4;\n\tmad.wide.s32 \t%rd8, %r99, 2, %rd4;\n\t.loc\t1 342 48 // generate_examples.py:342:48\n\tmul.wide.s32 \t%rd9, %r7, 2;\n\tadd.s64 \t%rd5, %rd7, %rd9;\n\tadd.s64 \t%rd6, %rd8, %rd9;\n\t.loc\t1 343 33 // generate_examples.py:343:33\n\tsetp.lt.s32 \t%p7, %r3, %r11;\n\tsetp.lt.s32 \t%p8, %r4, %r11;\n\t.loc\t1 343 58 // generate_examples.py:343:58\n\tsetp.lt.s32 \t%p9, %r7, %r12;\n\t.loc\t1 343 39 // generate_examples.py:343:39\n\tand.pred \t%p5, %p7, %p9;\n\tand.pred \t%p6, %p8, %p9;\n\t.loc\t1 344 21 // generate_examples.py:344:21\n\tbar.sync \t0;\n\tand.b32 \t%r100, %r135, 176;\n\tsetp.eq.b32 \t%p10, %r134, 0;\n\tselp.b32 \t%r101, 0, 320, %p10;\n\tshl.b32 \t%r102, %r1, 2;\n\tand.b32 \t%r103, %r102, 64;\n\tor.b32 \t%r104, %r101, %r100;\n\txor.b32 \t%r105, %r104, %r103;\n\tadd.s32 \t%r106, %r114, %r105;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r106], {%r136, %r137, %r138, %r139};\n\tbar.warp.sync \t-1;\n\tshl.b32 \t%r107, %r1, 3;\n\tand.b32 \t%r108, %r107, 176;\n\tshl.b32 \t%r109, %r5, 6;\n\tsetp.eq.b32 \t%p11, %r133, 0;\n\tselp.b32 \t%r110, 0, 320, %p11;\n\tor.b32 \t%r111, %r108, %r109;\n\txor.b32 \t%r112, %r111, %r110;\n\tadd.s32 \t%r113, %r114, %r112;\n\tld.shared.v4.b32 \t{%r90, %r91, %r92, %r93}, [%r113];\n\tbar.warp.sync \t-1;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r106], {%r140, %r141, %r142, %r143};\n\tbar.warp.sync \t-1;\n\tld.shared.v4.b32 \t{%r94, %r95, %r96, %r97}, [%r113];\n\t// begin inline asm\n\t@%p5 st.global.v4.b32 [ %rd5 + 0 ], { %r90, %r91, %r92, %r93 };\n\t// end inline asm\n\t// begin inline asm\n\t@%p6 st.global.v4.b32 [ %rd6 + 0 ], { %r94, %r95, %r96, %r97 };\n\t// end inline asm\n\t.loc\t1 344 4 // generate_examples.py:344:4\n\tret;\n$L__tmp6:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.file\t2 \"/python/lib/python3.14/site-packages/triton/language/standard.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 1 // DW_CHILDREN_yes\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 2 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 0 // DW_CHILDREN_no\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 32 // DW_AT_inline\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 3 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 1 // DW_CHILDREN_yes\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 4 // Abbreviation Code\n.b8 29 // DW_TAG_inlined_subroutine\n.b8 0 // DW_CHILDREN_no\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 88 // DW_AT_call_file\n.b8 11 // DW_FORM_data1\n.b8 89 // DW_AT_call_line\n.b8 5 // DW_FORM_data2\n.b8 87 // DW_AT_call_column\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 245 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0xee DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 45\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 45\n.b8 114\n.b8 101\n.b8 103\n.b8 101\n.b8 110\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n.b8 2 // Abbrev [2] 0x87:0x10 DW_TAG_subprogram\n.b8 109 // DW_AT_name\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n.b8 1 // DW_AT_inline\n.b8 3 // Abbrev [3] 0x97:0x61 DW_TAG_subprogram\n.b64 $L__func_begin0 // DW_AT_low_pc\n.b64 $L__func_end0 // DW_AT_high_pc\n.b32 135 // DW_AT_abstract_origin\n.b8 4 // Abbrev [4] 0xac:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp1 // DW_AT_low_pc\n.b64 $L__tmp2 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 56 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xc5:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp2 // DW_AT_low_pc\n.b64 $L__tmp3 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 57 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xde:0x19 DW_TAG_inlined_subroutine\n.b32 135 // DW_AT_abstract_origin\n.b64 $L__tmp4 // DW_AT_low_pc\n.b64 $L__tmp5 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 72 // DW_AT_call_line\n.b8 1\n.b8 33 // DW_AT_call_column\n.b8 0 // End Of Children Mark\n.b8 0 // End Of Children Mark\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","matmul_kernel.json":"{\"hash\": \"f7336a625a0c6f924e5fee4b7063c21567b390bb49fc8cc4fd07cd7d06898f5e\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 1, \"num_ctas\": 1, \"num_stages\": 1, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.7.0\", \"tensordesc_meta\": [], \"shared\": 1536, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"matmul_kernel\"}","matmul_kernel.sass":"Function:matmul_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*0010*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 311\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*0020*/ S2R R7, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 96\n /*0030*/ UMOV UR4, 0x400 ;\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0040*/ ULDC.64 UR6, c[0x0][0x208] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 92\n /*0050*/ LDC R58, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 96\n /*0060*/ S2UR UR5, SR_CgaCtaId ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 53\n /*0070*/ VIADD R0, R9, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0080*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 92\n /*0090*/ VIADD R58, R58, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 57\n /*00a0*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*00b0*/ IABS R10, R7 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*00c0*/ SHF.R.S32.HI R4, RZ, 0x4, R3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 96\n /*00d0*/ ULEA UR4, UR5, UR4, 0x18 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*00e0*/ IABS R5, R4.reuse ;\n /*00f0*/ IABS R12, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 39\n /*0100*/ ULDC UR5, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0110*/ I2F.RP R0, R5 ;\n /*0120*/ MUFU.RCP R0, R0 ;\n /*0130*/ VIADD R2, R0, 0xffffffe ;\n /*0140*/ IMAD.MOV R0, RZ, RZ, -R12 ;\n /*0150*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0160*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0170*/ IMAD.MOV R6, RZ, RZ, -R3 ;\n /*0180*/ IMAD R11, R6, R5, RZ ;\n /*0190*/ IMAD.MOV.U32 R6, RZ, RZ, R10 ;\n /*01a0*/ IMAD.HI.U32 R3, R3, R11, R2 ;\n /*01b0*/ IMAD.HI.U32 R3, R3, R6, RZ ;\n /*01c0*/ IMAD R0, R3, R0, R6 ;\n /*01d0*/ ISETP.GT.U32.AND P1, PT, R5, R0, PT ;\n /*01e0*/ @!P1 IMAD.IADD R0, R0, 0x1, -R5 ;\n /*01f0*/ @!P1 VIADD R3, R3, 0x1 ;\n /*0200*/ ISETP.NE.AND P1, PT, R4, RZ, PT ;\n /*0210*/ ISETP.GE.U32.AND P0, PT, R0, R5, PT ;\n /*0220*/ LOP3.LUT R0, R7, R4, RZ, 0x3c, !PT ;\n /*0230*/ ISETP.GE.AND P2, PT, R0, RZ, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*0240*/ VIADD R0, R8, 0x1f ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0250*/ @P0 VIADD R3, R3, 0x1 ;\n /*0260*/ IMAD.MOV.U32 R12, RZ, RZ, R3 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 47\n /*0270*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*0280*/ @!P2 IMAD.MOV R12, RZ, RZ, -R12 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43\n\t//## File \".nv_debug_ptx_txt\", line 49\n /*0290*/ LEA.HI R3, R3, R0, RZ, 0x5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 61\n /*02a0*/ @!P1 LOP3.LUT R12, RZ, R4, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*02b0*/ ISETP.GE.AND P2, PT, R7, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*02c0*/ LEA.HI.SX32 R3, R3, -R12, 0x1b ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*02d0*/ IMAD.MOV R5, RZ, RZ, -R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*02e0*/ VIMNMX R15, R3, 0x1, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*02f0*/ IMAD R4, R4, R5, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0300*/ IABS R11, R15.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0310*/ IABS R14, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0320*/ I2F.RP R0, R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0330*/ LOP3.LUT R4, R4, R15, RZ, 0x3c, !PT ;\n /*0340*/ ISETP.GE.AND P4, PT, R4, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0350*/ MUFU.RCP R0, R0 ;\n /*0360*/ VIADD R2, R0, 0xffffffe ;\n /*0370*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0380*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0390*/ IMAD.MOV R10, RZ, RZ, -R3 ;\n /*03a0*/ IMAD R5, R10, R11, RZ ;\n /*03b0*/ IABS R10, R15 ;\n /*03c0*/ IMAD.HI.U32 R3, R3, R5, R2 ;\n /*03d0*/ IMAD.MOV R13, RZ, RZ, -R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*03e0*/ IMAD.MOV.U32 R10, RZ, RZ, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*03f0*/ IMAD.HI.U32 R0, R3, R6, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0400*/ IMAD.HI.U32 R5, R3, R10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0410*/ IMAD R2, R0, R13.reuse, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0420*/ IMAD R3, R5, R13, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0430*/ S2R R0, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0440*/ ISETP.GT.U32.AND P0, PT, R11.reuse, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0450*/ ISETP.GT.U32.AND P3, PT, R11, R3, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0460*/ @!P0 IMAD.IADD R2, R2, 0x1, -R11.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0470*/ @!P3 IMAD.IADD R3, R3, 0x1, -R11 ;\n /*0480*/ @!P3 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0490*/ ISETP.GT.U32.AND P1, PT, R11, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*04a0*/ ISETP.GE.U32.AND P0, PT, R3, R11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*04b0*/ LOP3.LUT R3, RZ, R15, RZ, 0x33, !PT ;\n /*04c0*/ @!P1 IMAD.IADD R2, R2, 0x1, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*04d0*/ @P0 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*04e0*/ ISETP.NE.AND P0, PT, R15, RZ, PT ;\n /*04f0*/ @!P2 IMAD.MOV R2, RZ, RZ, -R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0500*/ @!P4 IMAD.MOV R5, RZ, RZ, -R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*0510*/ SEL R2, R3.reuse, R2, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0520*/ SEL R7, R3, R5, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 95\n /*0530*/ ISETP.GT.AND P0, PT, R58, 0xf, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0540*/ IMAD.IADD R6, R12, 0x1, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0550*/ SHF.R.U32.HI R3, RZ, 0x1, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 86\n /*0560*/ LOP3.LUT R2, R0, 0x1, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0570*/ IMAD.SHL.U32 R6, R6, 0x20, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0580*/ SGXT.U32 R3, R3, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 87\n /*0590*/ IMAD.SHL.U32 R4, R2, 0x8, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*05a0*/ LOP3.LUT R5, R6, R3, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 89\n /*05b0*/ IMAD R6, R7, 0x10, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 82\n /*05c0*/ LOP3.LUT R7, R5, 0x10, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 97\n /*05d0*/ @P0 BRA `(.L_x_0) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 250\n /*05e0*/ IMAD.SHL.U32 R48, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 251\n /*05f0*/ LOP3.LUT R49, R0.reuse, 0x4, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 260\n /*0600*/ CS2R R12, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 252\n /*0610*/ LOP3.LUT R52, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 260\n /*0620*/ CS2R R14, SRZ ;\n /*0630*/ CS2R R20, SRZ ;\n /*0640*/ CS2R R22, SRZ ;\n /*0650*/ BRA `(.L_x_1) ;\n.L_x_0:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0660*/ IABS R17, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0670*/ LDC R60, c[0x0][0x238] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0680*/ IABS R16, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0690*/ ULDC UR10, c[0x0][0x234] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*06a0*/ I2F.RP R14, R17 ;\n /*06b0*/ ISETP.NE.AND P3, PT, R9, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*06c0*/ ULDC.64 UR8, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 132\n /*06d0*/ SHF.R.S32.HI R23, RZ, 0x3, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*06e0*/ ULDC.64 UR12, c[0x0][0x210] ;\n\t//## File \".nv_debug_ptx_txt\", line 129\n /*06f0*/ IMAD.SHL.U32 R48, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 131\n /*0700*/ LOP3.LUT R52, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0710*/ I2F.RP R15, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 132\n /*0720*/ SGXT R23, R23, 0x1 ;\n\t//## File \".nv_debug_ptx_txt\", line 140\n /*0730*/ LOP3.LUT R49, R0, 0x4, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 133\n /*0740*/ LOP3.LUT R53, R23, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0750*/ CS2R R22, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0760*/ MUFU.RCP R14, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 134\n /*0770*/ LOP3.LUT R53, R53, 0x170, R48, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0780*/ MUFU.RCP R15, R15 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0790*/ VIADD R10, R14, 0xffffffe ;\n /*07a0*/ IABS R14, R6 ;\n /*07b0*/ F2I.FTZ.U32.TRUNC.NTZ R11, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*07c0*/ VIADD R12, R15, 0xffffffe ;\n /*07d0*/ F2I.FTZ.U32.TRUNC.NTZ R13, R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*07e0*/ IMAD.MOV.U32 R10, RZ, RZ, RZ ;\n /*07f0*/ IMAD.MOV R18, RZ, RZ, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0800*/ IMAD.MOV.U32 R12, RZ, RZ, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0810*/ IMAD R19, R18, R17, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0820*/ IMAD.MOV R21, RZ, RZ, -R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0830*/ IMAD.HI.U32 R11, R11, R19, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0840*/ IABS R10, R7 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0850*/ IABS R19, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0860*/ IMAD R15, R21, R16, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0870*/ CS2R R20, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0880*/ IMAD.HI.U32 R11, R11, R14, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0890*/ IMAD.HI.U32 R12, R13, R15, R12 ;\n /*08a0*/ IMAD.MOV.U32 R13, RZ, RZ, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*08b0*/ IMAD.MOV R11, RZ, RZ, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*08c0*/ IMAD.HI.U32 R10, R12, R13, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*08d0*/ IMAD.HI.U32 R12, R12, R19, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*08e0*/ IMAD.MOV R15, RZ, RZ, -R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*08f0*/ IMAD.MOV R18, RZ, RZ, -R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0900*/ IMAD R12, R16.reuse, R15, R13 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0910*/ IMAD R13, R16.reuse, R18, R19 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0920*/ CS2R R18, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0930*/ IMAD R10, R17, R11, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0940*/ ISETP.GT.U32.AND P1, PT, R16.reuse, R12, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0950*/ ISETP.GT.U32.AND P2, PT, R16, R13, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0960*/ ISETP.GT.U32.AND P0, PT, R17, R10, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 105\n /*0970*/ SHF.R.S32.HI R11, RZ, 0x1f, R58 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 141\n /*0980*/ SHF.R.S32.HI R14, RZ, 0x2, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 107\n /*0990*/ LEA.HI R58, R11, R58, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*09a0*/ LOP3.LUT R11, RZ, R8, RZ, 0x33, !PT ;\n /*09b0*/ @!P1 IMAD.IADD R12, R12, 0x1, -R16.reuse ;\n /*09c0*/ ISETP.GE.AND P1, PT, R7, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*09d0*/ @!P2 IMAD.IADD R13, R13, 0x1, -R16 ;\n /*09e0*/ ISETP.GE.AND P2, PT, R5, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*09f0*/ @!P0 IMAD.IADD R10, R10, 0x1, -R17 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0a00*/ ISETP.GT.U32.AND P5, PT, R16, R12, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0a10*/ ISETP.GT.U32.AND P6, PT, R16, R13, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0a20*/ ISETP.GT.U32.AND P4, PT, R17, R10, PT ;\n /*0a30*/ ISETP.GE.AND P0, PT, R6, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 108\n /*0a40*/ SHF.R.S32.HI R58, RZ, 0x4, R58 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0a50*/ @!P5 IMAD.IADD R12, R12, 0x1, -R16.reuse ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0a60*/ @!P6 IMAD.IADD R13, R13, 0x1, -R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0a70*/ @!P4 IMAD.IADD R10, R10, 0x1, -R17 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0a80*/ ISETP.NE.AND P4, PT, R8, RZ, PT ;\n /*0a90*/ @!P1 IMAD.MOV R12, RZ, RZ, -R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0aa0*/ CS2R R16, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0ab0*/ @!P2 IMAD.MOV R13, RZ, RZ, -R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0ac0*/ @!P0 IMAD.MOV R10, RZ, RZ, -R10 ;\n /*0ad0*/ @!P3 LOP3.LUT R10, RZ, R9, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 138\n /*0ae0*/ IMAD.SHL.U32 R8, R0, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0af0*/ SEL R9, R11, R12, !P4 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0b00*/ SEL R11, R11, R13, !P4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0b10*/ IMAD R10, R3, R60, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 141\n /*0b20*/ SGXT R12, R14, 0x1 ;\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0b30*/ IMAD R9, R9, UR10, R4.reuse ;\n\t//## File \".nv_debug_ptx_txt\", line 139\n /*0b40*/ LOP3.LUT R8, R8, 0x160, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0b50*/ IMAD R11, R11, UR10, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 142\n /*0b60*/ LOP3.LUT R13, R12, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0b70*/ CS2R R14, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*0b80*/ LEA R54, P1, R9, UR12, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 337\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0b90*/ IMAD.SHL.U32 R60, R60, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 148\n /*0ba0*/ LOP3.LUT R55, R13, 0x10, R0, 0x78, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 128\n /*0bb0*/ LEA R56, P2, R11, UR12, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0bc0*/ LEA R38, P0, R10, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 144\n /*0bd0*/ LOP3.LUT R57, R13, R8, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0be0*/ CS2R R12, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 150\n /*0bf0*/ IADD3 R55, R55, UR4, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*0c00*/ LEA.HI.X.SX32 R59, R9, UR13, 0x1, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0c10*/ CS2R R8, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 128\n /*0c20*/ LEA.HI.X.SX32 R61, R11, UR13, 0x1, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0c30*/ LEA.HI.X.SX32 R39, R10, UR9, 0x1, P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 169\n /*0c40*/ CS2R R10, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 145\n /*0c50*/ LOP3.LUT R57, R57, 0x10, R0, 0x78, !PT ;\n.L_x_2:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 172\n /*0c60*/ ISETP.GE.AND P1, PT, R4, UR5, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 180\n /*0c70*/ CS2R R24, SRZ ;\n /*0c80*/ CS2R R26, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 187\n /*0c90*/ CS2R R28, SRZ ;\n /*0ca0*/ CS2R R30, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 197\n /*0cb0*/ ISETP.GE.AND P0, PT, R3, UR5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 180\n /*0cc0*/ @!P1 IMAD.MOV.U32 R36, RZ, RZ, R56 ;\n /*0cd0*/ @!P1 IMAD.MOV.U32 R37, RZ, RZ, R61 ;\n\t//## File \".nv_debug_ptx_txt\", line 187\n /*0ce0*/ @!P1 IMAD.MOV.U32 R50, RZ, RZ, R54 ;\n /*0cf0*/ @!P1 IMAD.MOV.U32 R51, RZ, RZ, R59 ;\n\t//## File \".nv_debug_ptx_txt\", line 180\n /*0d00*/ @!P1 LDG.E.128 R24, desc[UR6][R36.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 204\n /*0d10*/ CS2R R32, SRZ ;\n /*0d20*/ CS2R R34, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 187\n /*0d30*/ @!P1 LDG.E.128 R28, desc[UR6][R50.64] ;\n\t//## File \".nv_debug_ptx_txt\", line 189\n /*0d40*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n /*0d50*/ IMAD.MOV.U32 R50, RZ, RZ, R38 ;\n /*0d60*/ IMAD.MOV.U32 R51, RZ, RZ, R39 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 204\n /*0d70*/ @!P0 LDG.E.128 R32, desc[UR6][R50.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 233\n /*0d80*/ VIADD R58, R58, 0xffffffff ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 229\n /*0d90*/ IADD3 R56, P1, R56, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 234\n /*0da0*/ UIADD3 UR5, UR5, -0x10, URZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 230\n /*0db0*/ IADD3 R54, P2, R54, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0dc0*/ ISETP.NE.U32.AND P0, PT, R58, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 229\n /*0dd0*/ IMAD.X R61, RZ, RZ, R61, P1 ;\n\t//## File \".nv_debug_ptx_txt\", line 230\n /*0de0*/ IMAD.X R59, RZ, RZ, R59, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 191\n /*0df0*/ STS.128 [R53+UR4], R24 ;\n\t//## File \".nv_debug_ptx_txt\", line 194\n /*0e00*/ STS.128 [R53+UR4+0x200], R28 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 207\n /*0e10*/ STS.128 [R53+UR4+0x400], R32 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 210\n /*0e20*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 211\n /*0e30*/ LDSM.16.M88.4 R36, [R57+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 214\n /*0e40*/ LDSM.16.MT88.4 R40, [R55+0x400] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 212\n /*0e50*/ LDSM.16.M88.4 R44, [R57+UR4+0x200] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 217\n /*0e60*/ HMMA.16816.F32 R8, R36.reuse, R40, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0e70*/ HMMA.16816.F32 R12, R36, R42, R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 223\n /*0e80*/ HMMA.16816.F32 R16, R44, R40, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 232\n /*0e90*/ IMAD.WIDE R38, R60, 0x2, R50 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 226\n /*0ea0*/ HMMA.16816.F32 R20, R44, R42, R20 ;\n /*0eb0*/ NOP ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 236\n /*0ec0*/ @P0 BRA `(.L_x_2) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 338\n\t//## File \".nv_debug_ptx_txt\", line 239\n /*0ed0*/ F2FP.F16.F32.PACK_AB R23, R23, R22 ;\n\t//## File \".nv_debug_ptx_txt\", line 243\n /*0ee0*/ F2FP.F16.F32.PACK_AB R15, R15, R14 ;\n\t//## File \".nv_debug_ptx_txt\", line 240\n /*0ef0*/ F2FP.F16.F32.PACK_AB R22, R21, R20 ;\n\t//## File \".nv_debug_ptx_txt\", line 244\n /*0f00*/ F2FP.F16.F32.PACK_AB R14, R13, R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 241\n /*0f10*/ F2FP.F16.F32.PACK_AB R21, R19, R18 ;\n\t//## File \".nv_debug_ptx_txt\", line 242\n /*0f20*/ F2FP.F16.F32.PACK_AB R20, R17, R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 245\n /*0f30*/ F2FP.F16.F32.PACK_AB R13, R11, R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 246\n /*0f40*/ F2FP.F16.F32.PACK_AB R12, R9, R8 ;\n.L_x_1:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 281\n /*0f50*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 283\n /*0f60*/ ISETP.NE.U32.AND P0, PT, R49, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 285\n /*0f70*/ IMAD.SHL.U32 R4, R0.reuse, 0x4, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 292\n /*0f80*/ IMAD.SHL.U32 R0, R0, 0x8, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 284\n /*0f90*/ SEL R3, RZ, 0x140, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 263\n /*0fa0*/ ULDC UR5, c[0x0][0x23c] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 295\n /*0fb0*/ ISETP.NE.U32.AND P0, PT, R52, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 276\n /*0fc0*/ ULDC.64 UR10, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 287\n /*0fd0*/ LOP3.LUT R3, R3, 0xb0, R48, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 266\n /*0fe0*/ ULDC.64 UR8, c[0x0][0x220] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 293\n /*0ff0*/ LOP3.LUT R9, R0, 0xb0, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 264\n /*1000*/ IMAD R8, R7, UR5, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 288\n /*1010*/ LOP3.LUT R3, R3, 0x40, R4, 0x78, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 296\n /*1020*/ SEL R0, RZ, 0x140, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 297\n /*1030*/ IMAD R11, R2, 0x40, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 276\n /*1040*/ ISETP.GE.AND P0, PT, R6, UR11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 289\n /*1050*/ VIADD R9, R3, UR4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 267\n /*1060*/ LEA R4, P3, R8, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 298\n /*1070*/ LOP3.LUT R11, R11, R0, RZ, 0x3c, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 263\n /*1080*/ IMAD R0, R5.reuse, UR5, RZ ;\n /*1090*/ ISETP.LT.AND P1, PT, R5, UR10, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 290\n /*10a0*/ STSM.16.M88.4 [R9], R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 291\n /*10b0*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 300\n /*10c0*/ LDS.128 R16, [R11+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 266\n /*10d0*/ LEA R2, P2, R0.reuse, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 301\n /*10e0*/ NOP ;\n /*10f0*/ ISETP.LT.AND P0, PT, R7, UR10, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 302\n /*1100*/ STSM.16.M88.4 [R9], R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 266\n /*1110*/ LEA.HI.X.SX32 R3, R0, UR9, 0x1, P2 ;\n\t//## File \".nv_debug_ptx_txt\", line 267\n /*1120*/ LEA.HI.X.SX32 R5, R8, UR9, 0x1, P3 ;\n\t//## File \".nv_debug_ptx_txt\", line 270\n /*1130*/ IMAD.WIDE R2, R6, 0x2, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 303\n /*1140*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 306\n /*1150*/ @P1 STG.E.128 desc[UR6][R2.64], R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 309\n /*1160*/ @!P0 EXIT ;\n\t//## File \".nv_debug_ptx_txt\", line 304\n /*1170*/ LDS.128 R8, [R11+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 271\n /*1180*/ IMAD.WIDE R4, R6, 0x2, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 309\n /*1190*/ STG.E.128 desc[UR6][R4.64], R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 312\n /*11a0*/ EXIT ;\n.L_x_3:\n /*11b0*/ BRA `(.L_x_3);\n /*11c0*/ NOP;\n /*11d0*/ NOP;\n /*11e0*/ NOP;\n /*11f0*/ NOP;\n /*1200*/ NOP;\n /*1210*/ NOP;\n /*1220*/ NOP;\n /*1230*/ NOP;\n /*1240*/ NOP;\n /*1250*/ NOP;\n /*1260*/ NOP;\n /*1270*/ NOP;\n.L_x_4:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":266,"end_line":344,"code":" @triton.autotune(\n configs=[\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 16,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 32,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n ],\n key=[\"M\", \"N\", \"K\"],\n )\n @triton.jit\n def matmul_kernel(\n a,\n b,\n c,\n M,\n N,\n K,\n stride_am,\n stride_ak,\n stride_bk,\n stride_bn,\n stride_cm,\n stride_cn,\n BLOCK_SIZE_M: tl.constexpr,\n BLOCK_SIZE_N: tl.constexpr,\n BLOCK_SIZE_K: tl.constexpr,\n GROUP_SIZE_M: tl.constexpr,\n ACTIVATION: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n num_pid_m = tl.cdiv(M, BLOCK_SIZE_M)\n num_pid_n = tl.cdiv(N, BLOCK_SIZE_N)\n num_pid_in_group = GROUP_SIZE_M * num_pid_n\n group_id = pid // num_pid_in_group\n first_pid_m = group_id * GROUP_SIZE_M\n group_size = min(num_pid_m - first_pid_m, GROUP_SIZE_M)\n pid_m = first_pid_m + (pid % group_size)\n pid_n = (pid % num_pid_in_group) // group_size\n\n offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M\n offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N\n offs_k = tl.arange(0, BLOCK_SIZE_K)\n a_ptrs = a + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)\n b_ptrs = b + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)\n\n accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)\n for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):\n a_block = tl.load(\n a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0\n )\n b_block = tl.load(\n b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0\n )\n accumulator += tl.dot(a_block, b_block)\n a_ptrs += BLOCK_SIZE_K * stride_ak\n b_ptrs += BLOCK_SIZE_K * stride_bk\n c_block = accumulator.to(tl.float16)\n\n offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)\n offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)\n c_ptrs = c + stride_cm * offs_cm[:, None] + stride_cn * offs_cn[None, :]\n c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)\n tl.store(c_ptrs, c_block, mask=c_mask)\n"}}} -{"event_type":"compilation","pid":1724463,"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":429,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op(x, y, z, scale_factor=1.0, activation=\"none\").sum()"},{"line":404,"name":"fused_op","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":739,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":884,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:23.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"1aa7bd5d4058894489843d4e8c2bfc6c480457536a3cc8e94bc4553e36fb837e","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"fused_op_kernel","num_ctas":1,"num_stages":3,"num_warps":4,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":0,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[],"(6,)":[],"(7,)":[]},"src_cache_key":"f2e5ae6c41d3bfc26af60eada8fff38a0b318cffe77df20b32d117346110ff07","src_constants":{"(6,)":"none","(7,)":8},"times":{"ir_initialization":1602,"lowering_stages":[],"store_results":0}},"file_path":{"fused_op_kernel.source":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.source","fused_op_kernel.ttir":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.ttir","fused_op_kernel.ttgir":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.ttgir","fused_op_kernel.llir":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.llir","fused_op_kernel.ptx":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.ptx","fused_op_kernel.cubin":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.cubin","fused_op_kernel.json":"/home/user/.triton/cache/DKT32XKALCEUJCMEHVHIYK74NREAIV2TNI6MR2KLYRKT4NX3QN7A/fused_op_kernel.json"},"file_content":{"fused_op_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:0)\n#loc19 = loc(\"a_ptr\"(#loc))\n#loc20 = loc(\"b_ptr\"(#loc))\n#loc21 = loc(\"c_ptr\"(#loc))\n#loc22 = loc(\"output_ptr\"(#loc))\n#loc23 = loc(\"n_elements\"(#loc))\n#loc24 = loc(\"scale_factor\"(#loc))\nmodule {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc25)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc26)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32> loc(#loc27)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32> loc(#loc28)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32> loc(#loc28)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32> loc(#loc29)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32> loc(#loc29)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc30)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc30)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr> loc(#loc31)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc32)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc32)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr> loc(#loc33)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc34)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc34)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr> loc(#loc35)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32> loc(#loc36)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32> loc(#loc37)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32> loc(#loc37)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32> loc(#loc38)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc16)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc16)\n tt.store %1, %result_12, %mask_3 : tensor<8x!tt.ptr> loc(#loc17)\n tt.return loc(#loc18)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:24)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:20)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:46)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:33)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:24)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:16)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:24)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:16)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:24)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:16)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:21)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:36)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:26)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:35)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:4)\n#loc25 = loc(\"pid\"(#loc2))\n#loc26 = loc(\"offsets\"(#loc3))\n#loc27 = loc(\"offsets\"(#loc4))\n#loc28 = loc(\"offsets\"(#loc5))\n#loc29 = loc(\"mask\"(#loc6))\n#loc30 = loc(\"a\"(#loc7))\n#loc31 = loc(\"a\"(#loc8))\n#loc32 = loc(\"b\"(#loc9))\n#loc33 = loc(\"b\"(#loc10))\n#loc34 = loc(\"c\"(#loc11))\n#loc35 = loc(\"c\"(#loc12))\n#loc36 = loc(\"result\"(#loc13))\n#loc37 = loc(\"result\"(#loc14))\n#loc38 = loc(\"result\"(#loc15))\n","fused_op_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:0)\n#loc19 = loc(\"a_ptr\"(#loc))\n#loc20 = loc(\"b_ptr\"(#loc))\n#loc21 = loc(\"c_ptr\"(#loc))\n#loc22 = loc(\"output_ptr\"(#loc))\n#loc23 = loc(\"n_elements\"(#loc))\n#loc24 = loc(\"scale_factor\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 4 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc25)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc26)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32, #blocked> loc(#loc27)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32, #blocked> loc(#loc28)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32, #blocked> loc(#loc28)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32, #blocked> loc(#loc29)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32, #blocked> loc(#loc29)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc30)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc30)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc31)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc32)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc32)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc33)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc34)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc34)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc35)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32, #blocked> loc(#loc36)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32, #blocked> loc(#loc37)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32, #blocked> loc(#loc37)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32, #blocked> loc(#loc38)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc16)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc16)\n tt.store %1, %result_12, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc17)\n tt.return loc(#loc18)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:24)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:20)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:46)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:33)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:24)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:16)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:24)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:16)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:24)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:16)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:21)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:36)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:26)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:35)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:4)\n#loc25 = loc(\"pid\"(#loc2))\n#loc26 = loc(\"offsets\"(#loc3))\n#loc27 = loc(\"offsets\"(#loc4))\n#loc28 = loc(\"offsets\"(#loc5))\n#loc29 = loc(\"mask\"(#loc6))\n#loc30 = loc(\"a\"(#loc7))\n#loc31 = loc(\"a\"(#loc8))\n#loc32 = loc(\"b\"(#loc9))\n#loc33 = loc(\"b\"(#loc10))\n#loc34 = loc(\"c\"(#loc11))\n#loc35 = loc(\"c\"(#loc12))\n#loc36 = loc(\"result\"(#loc13))\n#loc37 = loc(\"result\"(#loc14))\n#loc38 = loc(\"result\"(#loc15))\n","fused_op_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @fused_op_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, ptr addrspace(1) %3, i32 %4, float %5, ptr addrspace(1) readnone captures(none) %6, ptr addrspace(1) readnone captures(none) %7) local_unnamed_addr #0 !dbg !4 {\n %9 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %10 = shl i32 %9, 3, !dbg !13\n %11 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !14\n %12 = and i32 %11, 7, !dbg !14\n %13 = or disjoint i32 %10, %12, !dbg !15\n %14 = icmp slt i32 %13, %4, !dbg !16\n %15 = sext i32 %13 to i64, !dbg !17\n %16 = getelementptr float, ptr addrspace(1) %0, i64 %15, !dbg !17\n %17 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %16, i1 %14) #2, !dbg !18\n %18 = bitcast i32 %17 to float, !dbg !18\n %19 = getelementptr float, ptr addrspace(1) %1, i64 %15, !dbg !19\n %20 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %19, i1 %14) #2, !dbg !20\n %21 = bitcast i32 %20 to float, !dbg !20\n %22 = getelementptr float, ptr addrspace(1) %2, i64 %15, !dbg !21\n %23 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %22, i1 %14) #2, !dbg !22\n %24 = bitcast i32 %23 to float, !dbg !22\n %25 = fmul float %18, %21, !dbg !23\n %26 = fmul float %5, %25, !dbg !24\n %27 = fadd float %26, %24, !dbg !25\n %28 = getelementptr float, ptr addrspace(1) %3, i64 %15, !dbg !26\n %29 = and i32 %11, 120, !dbg !27\n %30 = icmp eq i32 %29, 0, !dbg !27\n %31 = bitcast float %27 to i32, !dbg !27\n %32 = and i1 %30, %14, !dbg !27\n tail call void asm sideeffect \"@$2 st.global.b32 [ $1 + 0 ], { $0 };\", \"r,l,b\"(i32 %31, ptr addrspace(1) %28, i1 %32) #2, !dbg !27\n ret void, !dbg !28\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"128\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"fused_op_kernel\", linkageName: \"fused_op_kernel\", scope: !1, file: !1, line: 347, type: !5, scopeLine: 347, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !7, !9, !8, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"float\", size: 32, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 357, column: 24, scope: !4)\n!13 = !DILocation(line: 358, column: 20, scope: !4)\n!14 = !DILocation(line: 358, column: 46, scope: !4)\n!15 = !DILocation(line: 358, column: 33, scope: !4)\n!16 = !DILocation(line: 359, column: 21, scope: !4)\n!17 = !DILocation(line: 361, column: 24, scope: !4)\n!18 = !DILocation(line: 361, column: 16, scope: !4)\n!19 = !DILocation(line: 362, column: 24, scope: !4)\n!20 = !DILocation(line: 362, column: 16, scope: !4)\n!21 = !DILocation(line: 363, column: 24, scope: !4)\n!22 = !DILocation(line: 363, column: 16, scope: !4)\n!23 = !DILocation(line: 365, column: 17, scope: !4)\n!24 = !DILocation(line: 365, column: 21, scope: !4)\n!25 = !DILocation(line: 365, column: 36, scope: !4)\n!26 = !DILocation(line: 369, column: 26, scope: !4)\n!27 = !DILocation(line: 369, column: 35, scope: !4)\n!28 = !DILocation(line: 369, column: 4, scope: !4)\n","fused_op_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.7\n.target sm_90a\n.address_size 64\n\n\t// .globl\tfused_op_kernel // -- Begin function fused_op_kernel\n // @fused_op_kernel\n.visible .entry fused_op_kernel(\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_2,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_3,\n\t.param .u32 fused_op_kernel_param_4,\n\t.param .f32 fused_op_kernel_param_5,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_6,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_7\n)\n.reqntid 128\n{\n\t.reg .pred \t%p<4>;\n\t.reg .b32 \t%r<14>;\n\t.reg .b64 \t%rd<10>;\n\t.loc\t1 347 0 // generate_examples.py:347:0\n$L__func_begin0:\n\t.loc\t1 347 0 // generate_examples.py:347:0\n\n// %bb.0:\n\tld.param.b64 \t%rd5, [fused_op_kernel_param_0];\n\tld.param.b64 \t%rd6, [fused_op_kernel_param_1];\n$L__tmp0:\n\t.loc\t1 357 24 // generate_examples.py:357:24\n\tmov.u32 \t%r5, %ctaid.x;\n\t.loc\t1 358 20 // generate_examples.py:358:20\n\tshl.b32 \t%r6, %r5, 3;\n\tld.param.b64 \t%rd7, [fused_op_kernel_param_2];\n\tld.param.b64 \t%rd8, [fused_op_kernel_param_3];\n\t.loc\t1 358 46 // generate_examples.py:358:46\n\tmov.u32 \t%r7, %tid.x;\n\tand.b32 \t%r8, %r7, 7;\n\tld.param.b32 \t%r9, [fused_op_kernel_param_4];\n\t.loc\t1 358 33 // generate_examples.py:358:33\n\tor.b32 \t%r10, %r6, %r8;\n\tld.param.b32 \t%r11, [fused_op_kernel_param_5];\n\t.loc\t1 359 21 // generate_examples.py:359:21\n\tsetp.lt.s32 \t%p1, %r10, %r9;\n\t.loc\t1 361 24 // generate_examples.py:361:24\n\tmul.wide.s32 \t%rd9, %r10, 4;\n\tadd.s64 \t%rd1, %rd5, %rd9;\n\t.loc\t1 361 16 // generate_examples.py:361:16\n\t// begin inline asm\n\tmov.u32 %r1, 0x0;\n\t@%p1 ld.global.b32 { %r1 }, [ %rd1 + 0 ];\n\t// end inline asm\n\t.loc\t1 362 24 // generate_examples.py:362:24\n\tadd.s64 \t%rd2, %rd6, %rd9;\n\t.loc\t1 362 16 // generate_examples.py:362:16\n\t// begin inline asm\n\tmov.u32 %r2, 0x0;\n\t@%p1 ld.global.b32 { %r2 }, [ %rd2 + 0 ];\n\t// end inline asm\n\t.loc\t1 363 24 // generate_examples.py:363:24\n\tadd.s64 \t%rd3, %rd7, %rd9;\n\t.loc\t1 363 16 // generate_examples.py:363:16\n\t// begin inline asm\n\tmov.u32 %r3, 0x0;\n\t@%p1 ld.global.b32 { %r3 }, [ %rd3 + 0 ];\n\t// end inline asm\n\t.loc\t1 365 17 // generate_examples.py:365:17\n\tmul.f32 \t%r12, %r1, %r2;\n\t.loc\t1 365 36 // generate_examples.py:365:36\n\tfma.rn.f32 \t%r4, %r11, %r12, %r3;\n\t.loc\t1 369 26 // generate_examples.py:369:26\n\tadd.s64 \t%rd4, %rd8, %rd9;\n\t.loc\t1 369 35 // generate_examples.py:369:35\n\tand.b32 \t%r13, %r7, 120;\n\tsetp.eq.b32 \t%p3, %r13, 0;\n\tand.pred \t%p2, %p3, %p1;\n\t// begin inline asm\n\t@%p2 st.global.b32 [ %rd4 + 0 ], { %r4 };\n\t// end inline asm\n\t.loc\t1 369 4 // generate_examples.py:369:4\n\tret;\n$L__tmp1:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 0 // DW_CHILDREN_no\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 131 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0x7c DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 45\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 45\n.b8 114\n.b8 101\n.b8 103\n.b8 101\n.b8 110\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","fused_op_kernel.json":"{\"hash\": \"1aa7bd5d4058894489843d4e8c2bfc6c480457536a3cc8e94bc4553e36fb837e\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 4, \"num_ctas\": 1, \"num_stages\": 3, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.7.0\", \"tensordesc_meta\": [], \"shared\": 0, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"fused_op_kernel\"}","fused_op_kernel.sass":"Function:fused_op_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 41\n /*0010*/ S2R R12, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*0020*/ LDC.64 R2, c[0x0][0x210] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0030*/ ULDC UR6, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 62\n /*0040*/ MOV R13, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 357\n\t//## File \".nv_debug_ptx_txt\", line 35\n /*0050*/ S2R R11, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*0060*/ LDC.64 R4, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0070*/ LDC.64 R6, c[0x0][0x220] ;\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0080*/ HFMA2.MMA R10, -RZ, RZ, 0, 0 ;\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0090*/ ULDC.64 UR4, c[0x0][0x208] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*00a0*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*00b0*/ LOP3.LUT R0, R12, 0x7, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*00c0*/ LEA R11, R11, R0, 0x3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*00d0*/ HFMA2.MMA R0, -RZ, RZ, 0, 0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*00e0*/ ISETP.GE.AND P0, PT, R11.reuse, UR6, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*00f0*/ IMAD.WIDE R2, R11, 0x4, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*0100*/ IMAD.WIDE R4, R11, 0x4, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0110*/ IMAD.WIDE R6, R11, 0x4, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0120*/ @!P0 LDG.E R0, desc[UR4][R2.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 62\n /*0130*/ @!P0 LDG.E R13, desc[UR4][R4.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0140*/ @!P0 LDG.E R10, desc[UR4][R6.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0150*/ LOP3.LUT P0, RZ, R12, 0x78, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0160*/ IMAD.WIDE R8, R11, 0x4, R8 ;\n /*0170*/ ISETP.LT.AND P0, PT, R11, UR6, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 365\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0180*/ ULDC UR6, c[0x0][0x234] ;\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*0190*/ FMUL R13, R13, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*01a0*/ FFMA R13, R13, UR6, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 82\n /*01b0*/ @!P0 EXIT ;\n /*01c0*/ STG.E desc[UR4][R8.64], R13 ;\n\t//## File \".nv_debug_ptx_txt\", line 85\n /*01d0*/ EXIT ;\n.L_x_0:\n /*01e0*/ BRA `(.L_x_0);\n /*01f0*/ NOP;\n /*0200*/ NOP;\n /*0210*/ NOP;\n /*0220*/ NOP;\n /*0230*/ NOP;\n /*0240*/ NOP;\n /*0250*/ NOP;\n /*0260*/ NOP;\n /*0270*/ NOP;\n.L_x_1:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":346,"end_line":369,"code":" @triton.jit\n def fused_op_kernel(\n a_ptr,\n b_ptr,\n c_ptr,\n output_ptr,\n n_elements,\n scale_factor: float,\n ACTIVATION: tl.constexpr,\n BLOCK_SIZE: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)\n mask = offsets < n_elements\n\n a = tl.load(a_ptr + offsets, mask=mask)\n b = tl.load(b_ptr + offsets, mask=mask)\n c = tl.load(c_ptr + offsets, mask=mask)\n\n result = a * b * scale_factor + c\n if ACTIVATION == \"relu\":\n result = tl.where(result > 0, result, 0.0)\n\n tl.store(output_ptr + offsets, result, mask=mask)\n"}}} -{"event_type":"compilation","pid":1724463,"stack":[{"line":198,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":431,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op(x, y, z, scale_factor=1.0, activation=\"relu\").sum()"},{"line":404,"name":"fused_op","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op_kernel[grid]("},{"line":370,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":739,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":884,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-21T21:13:23.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"64906c37b60403702b7090fe8d7fb463d9694159865d6fa84065c0c42669be02","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"fused_op_kernel","num_ctas":1,"num_stages":3,"num_warps":4,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":0,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.7.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[],"(6,)":[],"(7,)":[]},"src_cache_key":"f2e5ae6c41d3bfc26af60eada8fff38a0b318cffe77df20b32d117346110ff07","src_constants":{"(6,)":"relu","(7,)":8},"times":{"ir_initialization":1263,"lowering_stages":[],"store_results":0}},"file_path":{"fused_op_kernel.source":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.source","fused_op_kernel.ttir":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.ttir","fused_op_kernel.ttgir":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.ttgir","fused_op_kernel.llir":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.llir","fused_op_kernel.ptx":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.ptx","fused_op_kernel.cubin":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.cubin","fused_op_kernel.json":"/home/user/.triton/cache/MSIGYN5WAQBXAK3QSD7I275UMPMWSQKZQZOW7KCAMXAMIJTJXYBA/fused_op_kernel.json"},"file_content":{"fused_op_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:0)\n#loc21 = loc(\"a_ptr\"(#loc))\n#loc22 = loc(\"b_ptr\"(#loc))\n#loc23 = loc(\"c_ptr\"(#loc))\n#loc24 = loc(\"output_ptr\"(#loc))\n#loc25 = loc(\"n_elements\"(#loc))\n#loc26 = loc(\"scale_factor\"(#loc))\nmodule {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<8xf32> loc(#loc1)\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc27)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc28)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32> loc(#loc29)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32> loc(#loc30)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32> loc(#loc30)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32> loc(#loc31)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32> loc(#loc31)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc32)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc32)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr> loc(#loc33)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc34)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc34)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr> loc(#loc35)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc36)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc36)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr> loc(#loc37)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32> loc(#loc38)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32> loc(#loc39)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32> loc(#loc39)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32> loc(#loc40)\n %result_13 = arith.cmpf ogt, %result_12, %cst : tensor<8xf32> loc(#loc41)\n %result_14 = arith.select %result_13, %result_12, %cst : tensor<8xi1>, tensor<8xf32> loc(#loc42)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc18)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc18)\n tt.store %1, %result_14, %mask_3 : tensor<8x!tt.ptr> loc(#loc19)\n tt.return loc(#loc20)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:24)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:20)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:46)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:33)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:24)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:16)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:24)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:16)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:24)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:16)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:21)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:36)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:35)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:46)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:26)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:35)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:4)\n#loc27 = loc(\"pid\"(#loc2))\n#loc28 = loc(\"offsets\"(#loc3))\n#loc29 = loc(\"offsets\"(#loc4))\n#loc30 = loc(\"offsets\"(#loc5))\n#loc31 = loc(\"mask\"(#loc6))\n#loc32 = loc(\"a\"(#loc7))\n#loc33 = loc(\"a\"(#loc8))\n#loc34 = loc(\"b\"(#loc9))\n#loc35 = loc(\"b\"(#loc10))\n#loc36 = loc(\"c\"(#loc11))\n#loc37 = loc(\"c\"(#loc12))\n#loc38 = loc(\"result\"(#loc13))\n#loc39 = loc(\"result\"(#loc14))\n#loc40 = loc(\"result\"(#loc15))\n#loc41 = loc(\"result\"(#loc16))\n#loc42 = loc(\"result\"(#loc17))\n","fused_op_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:0)\n#loc21 = loc(\"a_ptr\"(#loc))\n#loc22 = loc(\"b_ptr\"(#loc))\n#loc23 = loc(\"c_ptr\"(#loc))\n#loc24 = loc(\"output_ptr\"(#loc))\n#loc25 = loc(\"n_elements\"(#loc))\n#loc26 = loc(\"scale_factor\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 4 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %cst = arith.constant dense<0.000000e+00> : tensor<8xf32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc27)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc28)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32, #blocked> loc(#loc29)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32, #blocked> loc(#loc30)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32, #blocked> loc(#loc30)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32, #blocked> loc(#loc31)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32, #blocked> loc(#loc31)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc32)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc32)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc33)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc34)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc34)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc35)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc36)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc36)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc37)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32, #blocked> loc(#loc38)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32, #blocked> loc(#loc39)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32, #blocked> loc(#loc39)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32, #blocked> loc(#loc40)\n %result_13 = arith.cmpf ogt, %result_12, %cst : tensor<8xf32, #blocked> loc(#loc41)\n %result_14 = arith.select %result_13, %result_12, %cst : tensor<8xi1, #blocked>, tensor<8xf32, #blocked> loc(#loc42)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc18)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc18)\n tt.store %1, %result_14, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc19)\n tt.return loc(#loc20)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:24)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:20)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:46)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:33)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:24)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:16)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:24)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:16)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:24)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:16)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:21)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:36)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:35)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:46)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:26)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:35)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:4)\n#loc27 = loc(\"pid\"(#loc2))\n#loc28 = loc(\"offsets\"(#loc3))\n#loc29 = loc(\"offsets\"(#loc4))\n#loc30 = loc(\"offsets\"(#loc5))\n#loc31 = loc(\"mask\"(#loc6))\n#loc32 = loc(\"a\"(#loc7))\n#loc33 = loc(\"a\"(#loc8))\n#loc34 = loc(\"b\"(#loc9))\n#loc35 = loc(\"b\"(#loc10))\n#loc36 = loc(\"c\"(#loc11))\n#loc37 = loc(\"c\"(#loc12))\n#loc38 = loc(\"result\"(#loc13))\n#loc39 = loc(\"result\"(#loc14))\n#loc40 = loc(\"result\"(#loc15))\n#loc41 = loc(\"result\"(#loc16))\n#loc42 = loc(\"result\"(#loc17))\n","fused_op_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @fused_op_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, ptr addrspace(1) %3, i32 %4, float %5, ptr addrspace(1) readnone captures(none) %6, ptr addrspace(1) readnone captures(none) %7) local_unnamed_addr #0 !dbg !4 {\n %9 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %10 = shl i32 %9, 3, !dbg !13\n %11 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !14\n %12 = and i32 %11, 7, !dbg !14\n %13 = or disjoint i32 %10, %12, !dbg !15\n %14 = icmp slt i32 %13, %4, !dbg !16\n %15 = sext i32 %13 to i64, !dbg !17\n %16 = getelementptr float, ptr addrspace(1) %0, i64 %15, !dbg !17\n %17 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %16, i1 %14) #2, !dbg !18\n %18 = bitcast i32 %17 to float, !dbg !18\n %19 = getelementptr float, ptr addrspace(1) %1, i64 %15, !dbg !19\n %20 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %19, i1 %14) #2, !dbg !20\n %21 = bitcast i32 %20 to float, !dbg !20\n %22 = getelementptr float, ptr addrspace(1) %2, i64 %15, !dbg !21\n %23 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %22, i1 %14) #2, !dbg !22\n %24 = bitcast i32 %23 to float, !dbg !22\n %25 = fmul float %18, %21, !dbg !23\n %26 = fmul float %5, %25, !dbg !24\n %27 = fadd float %26, %24, !dbg !25\n %28 = fcmp ogt float %27, 0.000000e+00, !dbg !26\n %29 = select i1 %28, float %27, float 0.000000e+00, !dbg !27\n %30 = getelementptr float, ptr addrspace(1) %3, i64 %15, !dbg !28\n %31 = and i32 %11, 120, !dbg !29\n %32 = icmp eq i32 %31, 0, !dbg !29\n %33 = bitcast float %29 to i32, !dbg !29\n %34 = and i1 %32, %14, !dbg !29\n tail call void asm sideeffect \"@$2 st.global.b32 [ $1 + 0 ], { $0 };\", \"r,l,b\"(i32 %33, ptr addrspace(1) %30, i1 %34) #2, !dbg !29\n ret void, !dbg !30\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"128\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"fused_op_kernel\", linkageName: \"fused_op_kernel\", scope: !1, file: !1, line: 347, type: !5, scopeLine: 347, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !7, !9, !8, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"float\", size: 32, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 357, column: 24, scope: !4)\n!13 = !DILocation(line: 358, column: 20, scope: !4)\n!14 = !DILocation(line: 358, column: 46, scope: !4)\n!15 = !DILocation(line: 358, column: 33, scope: !4)\n!16 = !DILocation(line: 359, column: 21, scope: !4)\n!17 = !DILocation(line: 361, column: 24, scope: !4)\n!18 = !DILocation(line: 361, column: 16, scope: !4)\n!19 = !DILocation(line: 362, column: 24, scope: !4)\n!20 = !DILocation(line: 362, column: 16, scope: !4)\n!21 = !DILocation(line: 363, column: 24, scope: !4)\n!22 = !DILocation(line: 363, column: 16, scope: !4)\n!23 = !DILocation(line: 365, column: 17, scope: !4)\n!24 = !DILocation(line: 365, column: 21, scope: !4)\n!25 = !DILocation(line: 365, column: 36, scope: !4)\n!26 = !DILocation(line: 367, column: 35, scope: !4)\n!27 = !DILocation(line: 367, column: 46, scope: !4)\n!28 = !DILocation(line: 369, column: 26, scope: !4)\n!29 = !DILocation(line: 369, column: 35, scope: !4)\n!30 = !DILocation(line: 369, column: 4, scope: !4)\n","fused_op_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.7\n.target sm_90a\n.address_size 64\n\n\t// .globl\tfused_op_kernel // -- Begin function fused_op_kernel\n // @fused_op_kernel\n.visible .entry fused_op_kernel(\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_2,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_3,\n\t.param .u32 fused_op_kernel_param_4,\n\t.param .f32 fused_op_kernel_param_5,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_6,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_7\n)\n.reqntid 128\n{\n\t.reg .pred \t%p<4>;\n\t.reg .b32 \t%r<15>;\n\t.reg .b64 \t%rd<10>;\n\t.loc\t1 347 0 // generate_examples.py:347:0\n$L__func_begin0:\n\t.loc\t1 347 0 // generate_examples.py:347:0\n\n// %bb.0:\n\tld.param.b64 \t%rd5, [fused_op_kernel_param_0];\n\tld.param.b64 \t%rd6, [fused_op_kernel_param_1];\n$L__tmp0:\n\t.loc\t1 357 24 // generate_examples.py:357:24\n\tmov.u32 \t%r5, %ctaid.x;\n\t.loc\t1 358 20 // generate_examples.py:358:20\n\tshl.b32 \t%r6, %r5, 3;\n\tld.param.b64 \t%rd7, [fused_op_kernel_param_2];\n\tld.param.b64 \t%rd8, [fused_op_kernel_param_3];\n\t.loc\t1 358 46 // generate_examples.py:358:46\n\tmov.u32 \t%r7, %tid.x;\n\tand.b32 \t%r8, %r7, 7;\n\tld.param.b32 \t%r9, [fused_op_kernel_param_4];\n\t.loc\t1 358 33 // generate_examples.py:358:33\n\tor.b32 \t%r10, %r6, %r8;\n\tld.param.b32 \t%r11, [fused_op_kernel_param_5];\n\t.loc\t1 359 21 // generate_examples.py:359:21\n\tsetp.lt.s32 \t%p1, %r10, %r9;\n\t.loc\t1 361 24 // generate_examples.py:361:24\n\tmul.wide.s32 \t%rd9, %r10, 4;\n\tadd.s64 \t%rd1, %rd5, %rd9;\n\t.loc\t1 361 16 // generate_examples.py:361:16\n\t// begin inline asm\n\tmov.u32 %r1, 0x0;\n\t@%p1 ld.global.b32 { %r1 }, [ %rd1 + 0 ];\n\t// end inline asm\n\t.loc\t1 362 24 // generate_examples.py:362:24\n\tadd.s64 \t%rd2, %rd6, %rd9;\n\t.loc\t1 362 16 // generate_examples.py:362:16\n\t// begin inline asm\n\tmov.u32 %r2, 0x0;\n\t@%p1 ld.global.b32 { %r2 }, [ %rd2 + 0 ];\n\t// end inline asm\n\t.loc\t1 363 24 // generate_examples.py:363:24\n\tadd.s64 \t%rd3, %rd7, %rd9;\n\t.loc\t1 363 16 // generate_examples.py:363:16\n\t// begin inline asm\n\tmov.u32 %r3, 0x0;\n\t@%p1 ld.global.b32 { %r3 }, [ %rd3 + 0 ];\n\t// end inline asm\n\t.loc\t1 365 17 // generate_examples.py:365:17\n\tmul.f32 \t%r12, %r1, %r2;\n\t.loc\t1 365 36 // generate_examples.py:365:36\n\tfma.rn.f32 \t%r13, %r11, %r12, %r3;\n\t.loc\t1 367 46 // generate_examples.py:367:46\n\tmax.f32 \t%r4, %r13, 0f00000000;\n\t.loc\t1 369 26 // generate_examples.py:369:26\n\tadd.s64 \t%rd4, %rd8, %rd9;\n\t.loc\t1 369 35 // generate_examples.py:369:35\n\tand.b32 \t%r14, %r7, 120;\n\tsetp.eq.b32 \t%p3, %r14, 0;\n\tand.pred \t%p2, %p3, %p1;\n\t// begin inline asm\n\t@%p2 st.global.b32 [ %rd4 + 0 ], { %r4 };\n\t// end inline asm\n\t.loc\t1 369 4 // generate_examples.py:369:4\n\tret;\n$L__tmp1:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 0 // DW_CHILDREN_no\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 131 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0x7c DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 45\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 45\n.b8 114\n.b8 101\n.b8 103\n.b8 101\n.b8 110\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","fused_op_kernel.json":"{\"hash\": \"64906c37b60403702b7090fe8d7fb463d9694159865d6fa84065c0c42669be02\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 4, \"num_ctas\": 1, \"num_stages\": 3, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.7.0\", \"tensordesc_meta\": [], \"shared\": 0, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"fused_op_kernel\"}","fused_op_kernel.sass":"Function:fused_op_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 41\n /*0010*/ S2R R12, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*0020*/ LDC.64 R2, c[0x0][0x210] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0030*/ ULDC UR6, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 62\n /*0040*/ MOV R13, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 357\n\t//## File \".nv_debug_ptx_txt\", line 35\n /*0050*/ S2R R11, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*0060*/ LDC.64 R4, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0070*/ LDC.64 R6, c[0x0][0x220] ;\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0080*/ HFMA2.MMA R10, -RZ, RZ, 0, 0 ;\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0090*/ ULDC.64 UR4, c[0x0][0x208] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*00a0*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*00b0*/ LOP3.LUT R0, R12, 0x7, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*00c0*/ LEA R11, R11, R0, 0x3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*00d0*/ HFMA2.MMA R0, -RZ, RZ, 0, 0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*00e0*/ ISETP.GE.AND P0, PT, R11.reuse, UR6, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*00f0*/ IMAD.WIDE R2, R11, 0x4, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 58\n /*0100*/ IMAD.WIDE R4, R11, 0x4, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0110*/ IMAD.WIDE R6, R11, 0x4, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0120*/ @!P0 LDG.E R0, desc[UR4][R2.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 62\n /*0130*/ @!P0 LDG.E R13, desc[UR4][R4.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0140*/ @!P0 LDG.E R10, desc[UR4][R6.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0150*/ LOP3.LUT P0, RZ, R12, 0x78, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0160*/ IMAD.WIDE R2, R11, 0x4, R8 ;\n /*0170*/ ISETP.LT.AND P0, PT, R11, UR6, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 365\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0180*/ ULDC UR6, c[0x0][0x234] ;\n\t//## File \".nv_debug_ptx_txt\", line 72\n /*0190*/ FMUL R13, R13, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*01a0*/ FFMA R10, R13, UR6, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 367\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*01b0*/ FMNMX R9, RZ, R10, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 84\n /*01c0*/ @!P0 EXIT ;\n /*01d0*/ STG.E desc[UR4][R2.64], R9 ;\n\t//## File \".nv_debug_ptx_txt\", line 87\n /*01e0*/ EXIT ;\n.L_x_0:\n /*01f0*/ BRA `(.L_x_0);\n /*0200*/ NOP;\n /*0210*/ NOP;\n /*0220*/ NOP;\n /*0230*/ NOP;\n /*0240*/ NOP;\n /*0250*/ NOP;\n /*0260*/ NOP;\n /*0270*/ NOP;\n.L_x_1:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":346,"end_line":369,"code":" @triton.jit\n def fused_op_kernel(\n a_ptr,\n b_ptr,\n c_ptr,\n output_ptr,\n n_elements,\n scale_factor: float,\n ACTIVATION: tl.constexpr,\n BLOCK_SIZE: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)\n mask = offsets < n_elements\n\n a = tl.load(a_ptr + offsets, mask=mask)\n b = tl.load(b_ptr + offsets, mask=mask)\n c = tl.load(c_ptr + offsets, mask=mask)\n\n result = a * b * scale_factor + c\n if ACTIVATION == \"relu\":\n result = tl.where(result > 0, result, 0.0)\n\n tl.store(output_ptr + offsets, result, mask=mask)\n"}}} +{"event_type":"compilation","pid":4104992,"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":272,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":757,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":902,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[["tt.divisibility",16]],"(5,)":[["tt.divisibility",16]],"(6,)":[["tt.divisibility",16]],"(7,)":[],"(8,)":[["tt.divisibility",16]],"(9,)":[],"(10,)":[["tt.divisibility",16]],"(11,)":[],"(12,)":[],"(13,)":[],"(14,)":[],"(15,)":[],"(16,)":[]},"src_cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","src_constants":{"(7,)":1,"(9,)":1,"(11,)":1,"(12,)":16,"(13,)":16,"(14,)":16,"(15,)":1,"(16,)":null},"times":{"ir_initialization":578768,"lowering_stages":[],"store_results":0}},"file_path":{"matmul_kernel.source":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.source","matmul_kernel.ttir":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.ttir","matmul_kernel.ttgir":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.ttgir","matmul_kernel.llir":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.llir","matmul_kernel.ptx":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.ptx","matmul_kernel.cubin":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.cubin","matmul_kernel.json":"/home/user/.triton/cache/FNNRJHU5LLSRMH4YTBEIFLIRCDN72CXDAANQ6EB3VLT6YZBHIZGA/matmul_kernel.json"},"file_content":{"matmul_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:5)\n#loc46 = loc(\"a\"(#loc))\n#loc47 = loc(\"b\"(#loc))\n#loc48 = loc(\"c\"(#loc))\n#loc49 = loc(\"M\"(#loc))\n#loc50 = loc(\"N\"(#loc))\n#loc51 = loc(\"K\"(#loc))\n#loc52 = loc(\"stride_am\"(#loc))\n#loc53 = loc(\"stride_bk\"(#loc))\n#loc54 = loc(\"stride_cm\"(#loc))\nmodule {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf16> loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc2)\n %cst_0 = arith.constant dense<16> : tensor<16x16xi32> loc(#loc1)\n %cst_1 = arith.constant dense<0.000000e+00> : tensor<16x16xf32> loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc55)\n %num_pid_m = arith.addi %M, %c15_i32 : i32 loc(#loc97)\n %num_pid_m_2 = arith.divsi %num_pid_m, %c16_i32 : i32 loc(#loc98)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc99)\n %num_pid_n_3 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc100)\n %group_id = arith.divsi %pid, %num_pid_n_3 : i32 loc(#loc58)\n %group_size = arith.subi %num_pid_m_2, %group_id : i32 loc(#loc59)\n %group_size_4 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc60)\n %pid_m = arith.remsi %pid, %group_size_4 : i32 loc(#loc61)\n %pid_m_5 = arith.addi %group_id, %pid_m : i32 loc(#loc62)\n %pid_n = arith.remsi %pid, %num_pid_n_3 : i32 loc(#loc63)\n %pid_n_6 = arith.divsi %pid_n, %group_size_4 : i32 loc(#loc64)\n %offs_am = arith.muli %pid_m_5, %c16_i32 : i32 loc(#loc65)\n %offs_am_7 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32> loc(#loc66)\n %offs_am_8 = tt.splat %offs_am : i32 -> tensor<16xi32> loc(#loc65)\n %offs_am_9 = arith.addi %offs_am_8, %offs_am_7 : tensor<16xi32> loc(#loc65)\n %offs_am_10 = tt.splat %M : i32 -> tensor<16xi32> loc(#loc67)\n %offs_am_11 = arith.remsi %offs_am_9, %offs_am_10 : tensor<16xi32> loc(#loc67)\n %offs_bn = arith.muli %pid_n_6, %c16_i32 : i32 loc(#loc68)\n %offs_bn_12 = tt.splat %offs_bn : i32 -> tensor<16xi32> loc(#loc68)\n %offs_bn_13 = arith.addi %offs_bn_12, %offs_am_7 : tensor<16xi32> loc(#loc68)\n %offs_bn_14 = tt.splat %N : i32 -> tensor<16xi32> loc(#loc69)\n %offs_bn_15 = arith.remsi %offs_bn_13, %offs_bn_14 : tensor<16xi32> loc(#loc69)\n %a_ptrs = tt.expand_dims %offs_am_11 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc70)\n %a_ptrs_16 = tt.splat %stride_am : i32 -> tensor<16x1xi32> loc(#loc70)\n %a_ptrs_17 = arith.muli %a_ptrs, %a_ptrs_16 : tensor<16x1xi32> loc(#loc70)\n %a_ptrs_18 = tt.expand_dims %offs_am_7 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc71)\n %a_ptrs_19 = tt.broadcast %a_ptrs_17 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc70)\n %a_ptrs_20 = tt.broadcast %a_ptrs_18 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc70)\n %a_ptrs_21 = arith.addi %a_ptrs_19, %a_ptrs_20 : tensor<16x16xi32> loc(#loc70)\n %a_ptrs_22 = tt.splat %a : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc72)\n %a_ptrs_23 = tt.addptr %a_ptrs_22, %a_ptrs_21 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc72)\n %b_ptrs = tt.expand_dims %offs_am_7 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc73)\n %b_ptrs_24 = tt.splat %stride_bk : i32 -> tensor<16x1xi32> loc(#loc73)\n %b_ptrs_25 = arith.muli %b_ptrs, %b_ptrs_24 : tensor<16x1xi32> loc(#loc73)\n %b_ptrs_26 = tt.expand_dims %offs_bn_15 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc74)\n %b_ptrs_27 = tt.broadcast %b_ptrs_25 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc73)\n %b_ptrs_28 = tt.broadcast %b_ptrs_26 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc73)\n %b_ptrs_29 = arith.addi %b_ptrs_27, %b_ptrs_28 : tensor<16x16xi32> loc(#loc73)\n %b_ptrs_30 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc75)\n %b_ptrs_31 = tt.addptr %b_ptrs_30, %b_ptrs_29 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc75)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc76)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc77)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%a_ptrs_46 = %a_ptrs_23, %b_ptrs_47 = %b_ptrs_31, %accumulator_48 = %cst_1) -> (tensor<16x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<16x16xf32>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc79)\n %a_block_49 = arith.subi %K, %a_block : i32 loc(#loc80)\n %a_block_50 = tt.splat %a_block_49 : i32 -> tensor<1x16xi32> loc(#loc81)\n %a_block_51 = arith.cmpi slt, %a_ptrs_18, %a_block_50 : tensor<1x16xi32> loc(#loc81)\n %a_block_52 = tt.broadcast %a_block_51 : tensor<1x16xi1> -> tensor<16x16xi1> loc(#loc82)\n %a_block_53 = tt.load %a_ptrs_46, %a_block_52, %cst : tensor<16x16x!tt.ptr> loc(#loc82)\n %b_block = tt.splat %a_block_49 : i32 -> tensor<16x1xi32> loc(#loc83)\n %b_block_54 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32> loc(#loc83)\n %b_block_55 = tt.broadcast %b_block_54 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc84)\n %b_block_56 = tt.load %b_ptrs_47, %b_block_55, %cst : tensor<16x16x!tt.ptr> loc(#loc84)\n %accumulator_57 = tt.dot %a_block_53, %b_block_56, %accumulator_48, inputPrecision = tf32 : tensor<16x16xf16> * tensor<16x16xf16> -> tensor<16x16xf32> loc(#loc85)\n %a_ptrs_58 = tt.addptr %a_ptrs_46, %cst_0 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc86)\n %b_ptrs_59 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc87)\n %b_ptrs_60 = tt.splat %b_ptrs_59 : i32 -> tensor<16x16xi32> loc(#loc88)\n %b_ptrs_61 = tt.addptr %b_ptrs_47, %b_ptrs_60 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc88)\n scf.yield %a_ptrs_58, %b_ptrs_61, %accumulator_57 : tensor<16x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<16x16xf32> loc(#loc2)\n } loc(#loc102)\n %c_block = arith.truncf %accumulator#2 : tensor<16x16xf32> to tensor<16x16xf16> loc(#loc89)\n %c_ptrs = tt.expand_dims %offs_am_9 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc90)\n %c_ptrs_32 = tt.splat %stride_cm : i32 -> tensor<16x1xi32> loc(#loc91)\n %c_ptrs_33 = arith.muli %c_ptrs_32, %c_ptrs : tensor<16x1xi32> loc(#loc91)\n %c_ptrs_34 = tt.splat %c : !tt.ptr -> tensor<16x1x!tt.ptr> loc(#loc92)\n %c_ptrs_35 = tt.addptr %c_ptrs_34, %c_ptrs_33 : tensor<16x1x!tt.ptr>, tensor<16x1xi32> loc(#loc92)\n %c_ptrs_36 = tt.expand_dims %offs_bn_13 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc93)\n %c_ptrs_37 = tt.broadcast %c_ptrs_35 : tensor<16x1x!tt.ptr> -> tensor<16x16x!tt.ptr> loc(#loc92)\n %c_ptrs_38 = tt.broadcast %c_ptrs_36 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc92)\n %c_ptrs_39 = tt.addptr %c_ptrs_37, %c_ptrs_38 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc92)\n %c_mask = tt.splat %M : i32 -> tensor<16x1xi32> loc(#loc94)\n %c_mask_40 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<16x1xi32> loc(#loc94)\n %c_mask_41 = tt.splat %N : i32 -> tensor<1x16xi32> loc(#loc95)\n %c_mask_42 = arith.cmpi slt, %c_ptrs_36, %c_mask_41 : tensor<1x16xi32> loc(#loc95)\n %c_mask_43 = tt.broadcast %c_mask_40 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc96)\n %c_mask_44 = tt.broadcast %c_mask_42 : tensor<1x16xi1> -> tensor<16x16xi1> loc(#loc96)\n %c_mask_45 = arith.andi %c_mask_43, %c_mask_44 : tensor<16x16xi1> loc(#loc96)\n tt.store %c_ptrs_39, %c_block, %c_mask_45 : tensor<16x16x!tt.ptr> loc(#loc45)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:9)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:15)\n#loc4 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:13)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:21)\n#loc6 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:12)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:21)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:20)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:26)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:22)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:32)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:17)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:18)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:17)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:20)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:43)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:19)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:20)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:19)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:23)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:54)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:23)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:53)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:27)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:52)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:48)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:30)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":329:23)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:30)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":332:23)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:28)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:13)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:23)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:13)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:19)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:34)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:22)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:18)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:65)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:19)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:44)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:18)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:9)\n#loc55 = loc(\"pid\"(#loc3))\n#loc56 = loc(\"num_pid_m\"(#loc5))\n#loc57 = loc(\"num_pid_n\"(#loc7))\n#loc58 = loc(\"group_id\"(#loc8))\n#loc59 = loc(\"group_size\"(#loc9))\n#loc60 = loc(\"group_size\"(#loc10))\n#loc61 = loc(\"pid_m\"(#loc11))\n#loc62 = loc(\"pid_m\"(#loc12))\n#loc63 = loc(\"pid_n\"(#loc13))\n#loc64 = loc(\"pid_n\"(#loc14))\n#loc65 = loc(\"offs_am\"(#loc15))\n#loc66 = loc(\"offs_am\"(#loc16))\n#loc67 = loc(\"offs_am\"(#loc17))\n#loc68 = loc(\"offs_bn\"(#loc18))\n#loc69 = loc(\"offs_bn\"(#loc19))\n#loc70 = loc(\"a_ptrs\"(#loc20))\n#loc71 = loc(\"a_ptrs\"(#loc21))\n#loc72 = loc(\"a_ptrs\"(#loc22))\n#loc73 = loc(\"b_ptrs\"(#loc23))\n#loc74 = loc(\"b_ptrs\"(#loc24))\n#loc75 = loc(\"b_ptrs\"(#loc25))\n#loc76 = loc(callsite(#loc4 at #loc26))\n#loc77 = loc(callsite(#loc6 at #loc26))\n#loc78 = loc(\"a_ptrs\"(#loc2))\n#loc79 = loc(\"a_block\"(#loc27))\n#loc80 = loc(\"a_block\"(#loc28))\n#loc81 = loc(\"a_block\"(#loc29))\n#loc82 = loc(\"a_block\"(#loc30))\n#loc83 = loc(\"b_block\"(#loc31))\n#loc84 = loc(\"b_block\"(#loc32))\n#loc85 = loc(\"accumulator\"(#loc33))\n#loc86 = loc(\"a_ptrs\"(#loc34))\n#loc87 = loc(\"b_ptrs\"(#loc35))\n#loc88 = loc(\"b_ptrs\"(#loc36))\n#loc89 = loc(\"c_block\"(#loc37))\n#loc90 = loc(\"c_ptrs\"(#loc38))\n#loc91 = loc(\"c_ptrs\"(#loc39))\n#loc92 = loc(\"c_ptrs\"(#loc40))\n#loc93 = loc(\"c_ptrs\"(#loc41))\n#loc94 = loc(\"c_mask\"(#loc42))\n#loc95 = loc(\"c_mask\"(#loc43))\n#loc96 = loc(\"c_mask\"(#loc44))\n#loc97 = loc(callsite(#loc4 at #loc56))\n#loc98 = loc(callsite(#loc6 at #loc56))\n#loc99 = loc(callsite(#loc4 at #loc57))\n#loc100 = loc(callsite(#loc6 at #loc57))\n#loc101 = loc(\"b_ptrs\"(#loc78))\n#loc102 = loc(\"accumulator\"(#loc101))\n","matmul_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1, 8], threadsPerWarp = [16, 2], warpsPerCTA = [1, 1], order = [1, 0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:5)\n#mma = #ttg.nvidia_mma<{versionMajor = 2, versionMinor = 0, warpsPerCTA = [1, 1], instrShape = [16, 8]}>\n#shared = #ttg.swizzled_shared<{vec = 8, perPhase = 4, maxPhase = 2, order = [1, 0]}>\n#smem = #ttg.shared_memory\n#loc46 = loc(\"a\"(#loc))\n#loc47 = loc(\"b\"(#loc))\n#loc48 = loc(\"c\"(#loc))\n#loc49 = loc(\"M\"(#loc))\n#loc50 = loc(\"N\"(#loc))\n#loc51 = loc(\"K\"(#loc))\n#loc52 = loc(\"stride_am\"(#loc))\n#loc53 = loc(\"stride_bk\"(#loc))\n#loc54 = loc(\"stride_cm\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 1 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf32, #mma> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #blocked> loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc1)\n %cst_1 = arith.constant dense<16> : tensor<16x16xi32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc55)\n %num_pid_m = arith.addi %M, %c15_i32 : i32 loc(#loc97)\n %num_pid_m_2 = arith.divsi %num_pid_m, %c16_i32 : i32 loc(#loc98)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc99)\n %num_pid_n_3 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc100)\n %group_id = arith.divsi %pid, %num_pid_n_3 : i32 loc(#loc58)\n %group_size = arith.subi %num_pid_m_2, %group_id : i32 loc(#loc59)\n %group_size_4 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc60)\n %pid_m = arith.remsi %pid, %group_size_4 : i32 loc(#loc61)\n %pid_m_5 = arith.addi %group_id, %pid_m : i32 loc(#loc62)\n %pid_n = arith.remsi %pid, %num_pid_n_3 : i32 loc(#loc63)\n %pid_n_6 = arith.divsi %pid_n, %group_size_4 : i32 loc(#loc64)\n %offs_am = arith.muli %pid_m_5, %c16_i32 : i32 loc(#loc65)\n %offs_am_7 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc66)\n %offs_am_8 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc66)\n %offs_am_9 = tt.splat %offs_am : i32 -> tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc65)\n %offs_am_10 = arith.addi %offs_am_9, %offs_am_7 : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc65)\n %offs_am_11 = tt.splat %M : i32 -> tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc67)\n %offs_am_12 = arith.remsi %offs_am_10, %offs_am_11 : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc67)\n %offs_bn = arith.muli %pid_n_6, %c16_i32 : i32 loc(#loc68)\n %offs_bn_13 = tt.splat %offs_bn : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc68)\n %offs_bn_14 = arith.addi %offs_bn_13, %offs_am_8 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc68)\n %offs_bn_15 = tt.splat %N : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc69)\n %offs_bn_16 = arith.remsi %offs_bn_14, %offs_bn_15 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc69)\n %a_ptrs = tt.expand_dims %offs_am_12 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc70)\n %a_ptrs_17 = tt.splat %stride_am : i32 -> tensor<16x1xi32, #blocked> loc(#loc70)\n %a_ptrs_18 = arith.muli %a_ptrs, %a_ptrs_17 : tensor<16x1xi32, #blocked> loc(#loc70)\n %a_ptrs_19 = tt.expand_dims %offs_am_8 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc71)\n %a_ptrs_20 = tt.broadcast %a_ptrs_18 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc70)\n %a_ptrs_21 = tt.broadcast %a_ptrs_19 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc70)\n %a_ptrs_22 = arith.addi %a_ptrs_20, %a_ptrs_21 : tensor<16x16xi32, #blocked> loc(#loc70)\n %a_ptrs_23 = tt.splat %a : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc72)\n %a_ptrs_24 = tt.addptr %a_ptrs_23, %a_ptrs_22 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc72)\n %b_ptrs = tt.expand_dims %offs_am_7 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc73)\n %b_ptrs_25 = tt.splat %stride_bk : i32 -> tensor<16x1xi32, #blocked> loc(#loc73)\n %b_ptrs_26 = arith.muli %b_ptrs, %b_ptrs_25 : tensor<16x1xi32, #blocked> loc(#loc73)\n %b_ptrs_27 = tt.expand_dims %offs_bn_16 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc74)\n %b_ptrs_28 = tt.broadcast %b_ptrs_26 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc73)\n %b_ptrs_29 = tt.broadcast %b_ptrs_27 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc73)\n %b_ptrs_30 = arith.addi %b_ptrs_28, %b_ptrs_29 : tensor<16x16xi32, #blocked> loc(#loc73)\n %b_ptrs_31 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc75)\n %b_ptrs_32 = tt.addptr %b_ptrs_31, %b_ptrs_30 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc75)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc76)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc77)\n %b_ptrs_33 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc78)\n %b_ptrs_34 = tt.splat %b_ptrs_33 : i32 -> tensor<16x16xi32, #blocked> loc(#loc79)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%accumulator_49 = %cst, %a_ptrs_50 = %a_ptrs_24, %b_ptrs_51 = %b_ptrs_32) -> (tensor<16x16xf32, #mma>, tensor<16x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc81)\n %a_block_52 = arith.subi %K, %a_block : i32 loc(#loc82)\n %a_block_53 = tt.splat %a_block_52 : i32 -> tensor<1x16xi32, #blocked> loc(#loc83)\n %a_block_54 = arith.cmpi slt, %a_ptrs_19, %a_block_53 : tensor<1x16xi32, #blocked> loc(#loc83)\n %a_block_55 = tt.broadcast %a_block_54 : tensor<1x16xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc84)\n %a_block_56 = tt.load %a_ptrs_50, %a_block_55, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc84)\n %a_block_57 = ttg.local_alloc %a_block_56 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc84)\n %b_block = tt.splat %a_block_52 : i32 -> tensor<16x1xi32, #blocked> loc(#loc85)\n %b_block_58 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32, #blocked> loc(#loc85)\n %b_block_59 = tt.broadcast %b_block_58 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc86)\n %b_block_60 = tt.load %b_ptrs_51, %b_block_59, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc86)\n %b_block_61 = ttg.local_alloc %b_block_60 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc86)\n %a_block_62 = ttg.local_load %a_block_57 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> loc(#loc84)\n %b_block_63 = ttg.local_load %b_block_61 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> loc(#loc86)\n %accumulator_64 = tt.dot %a_block_62, %b_block_63, %accumulator_49, inputPrecision = tf32 : tensor<16x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> * tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> -> tensor<16x16xf32, #mma> loc(#loc87)\n %a_ptrs_65 = tt.addptr %a_ptrs_50, %cst_1 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc88)\n %b_ptrs_66 = tt.addptr %b_ptrs_51, %b_ptrs_34 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc79)\n scf.yield %accumulator_64, %a_ptrs_65, %b_ptrs_66 : tensor<16x16xf32, #mma>, tensor<16x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked> loc(#loc28)\n } loc(#loc102)\n %c_block = arith.truncf %accumulator#0 : tensor<16x16xf32, #mma> to tensor<16x16xf16, #mma> loc(#loc89)\n %c_ptrs = tt.expand_dims %offs_am_10 {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc90)\n %c_ptrs_35 = tt.splat %stride_cm : i32 -> tensor<16x1xi32, #blocked> loc(#loc91)\n %c_ptrs_36 = arith.muli %c_ptrs_35, %c_ptrs : tensor<16x1xi32, #blocked> loc(#loc91)\n %c_ptrs_37 = tt.splat %c : !tt.ptr -> tensor<16x1x!tt.ptr, #blocked> loc(#loc92)\n %c_ptrs_38 = tt.addptr %c_ptrs_37, %c_ptrs_36 : tensor<16x1x!tt.ptr, #blocked>, tensor<16x1xi32, #blocked> loc(#loc92)\n %c_ptrs_39 = tt.expand_dims %offs_bn_14 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc93)\n %c_ptrs_40 = tt.broadcast %c_ptrs_38 : tensor<16x1x!tt.ptr, #blocked> -> tensor<16x16x!tt.ptr, #blocked> loc(#loc92)\n %c_ptrs_41 = tt.broadcast %c_ptrs_39 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc92)\n %c_ptrs_42 = tt.addptr %c_ptrs_40, %c_ptrs_41 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc92)\n %c_mask = tt.splat %M : i32 -> tensor<16x1xi32, #blocked> loc(#loc94)\n %c_mask_43 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<16x1xi32, #blocked> loc(#loc94)\n %c_mask_44 = tt.splat %N : i32 -> tensor<1x16xi32, #blocked> loc(#loc95)\n %c_mask_45 = arith.cmpi slt, %c_ptrs_39, %c_mask_44 : tensor<1x16xi32, #blocked> loc(#loc95)\n %c_mask_46 = tt.broadcast %c_mask_43 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc96)\n %c_mask_47 = tt.broadcast %c_mask_45 : tensor<1x16xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc96)\n %c_mask_48 = arith.andi %c_mask_46, %c_mask_47 : tensor<16x16xi1, #blocked> loc(#loc96)\n %2 = ttg.convert_layout %c_block : tensor<16x16xf16, #mma> -> tensor<16x16xf16, #blocked> loc(#loc45)\n tt.store %c_ptrs_42, %2, %c_mask_48 : tensor<16x16x!tt.ptr, #blocked> loc(#loc45)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:15)\n#loc3 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:13)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:21)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:12)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:20)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:26)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:22)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:32)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:17)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:20)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:43)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:19)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:20)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:19)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:23)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:54)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:23)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:53)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:27)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:23)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:13)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:9)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:52)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:48)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:30)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":329:23)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:30)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":332:23)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:28)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:13)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:19)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:34)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:22)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:18)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:65)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:19)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:44)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:18)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:9)\n#loc55 = loc(\"pid\"(#loc2))\n#loc56 = loc(\"num_pid_m\"(#loc4))\n#loc57 = loc(\"num_pid_n\"(#loc6))\n#loc58 = loc(\"group_id\"(#loc7))\n#loc59 = loc(\"group_size\"(#loc8))\n#loc60 = loc(\"group_size\"(#loc9))\n#loc61 = loc(\"pid_m\"(#loc10))\n#loc62 = loc(\"pid_m\"(#loc11))\n#loc63 = loc(\"pid_n\"(#loc12))\n#loc64 = loc(\"pid_n\"(#loc13))\n#loc65 = loc(\"offs_am\"(#loc14))\n#loc66 = loc(\"offs_am\"(#loc15))\n#loc67 = loc(\"offs_am\"(#loc16))\n#loc68 = loc(\"offs_bn\"(#loc17))\n#loc69 = loc(\"offs_bn\"(#loc18))\n#loc70 = loc(\"a_ptrs\"(#loc19))\n#loc71 = loc(\"a_ptrs\"(#loc20))\n#loc72 = loc(\"a_ptrs\"(#loc21))\n#loc73 = loc(\"b_ptrs\"(#loc22))\n#loc74 = loc(\"b_ptrs\"(#loc23))\n#loc75 = loc(\"b_ptrs\"(#loc24))\n#loc76 = loc(callsite(#loc3 at #loc25))\n#loc77 = loc(callsite(#loc5 at #loc25))\n#loc78 = loc(\"b_ptrs\"(#loc26))\n#loc79 = loc(\"b_ptrs\"(#loc27))\n#loc80 = loc(\"a_ptrs\"(#loc28))\n#loc81 = loc(\"a_block\"(#loc29))\n#loc82 = loc(\"a_block\"(#loc30))\n#loc83 = loc(\"a_block\"(#loc31))\n#loc84 = loc(\"a_block\"(#loc32))\n#loc85 = loc(\"b_block\"(#loc33))\n#loc86 = loc(\"b_block\"(#loc34))\n#loc87 = loc(\"accumulator\"(#loc35))\n#loc88 = loc(\"a_ptrs\"(#loc36))\n#loc89 = loc(\"c_block\"(#loc37))\n#loc90 = loc(\"c_ptrs\"(#loc38))\n#loc91 = loc(\"c_ptrs\"(#loc39))\n#loc92 = loc(\"c_ptrs\"(#loc40))\n#loc93 = loc(\"c_ptrs\"(#loc41))\n#loc94 = loc(\"c_mask\"(#loc42))\n#loc95 = loc(\"c_mask\"(#loc43))\n#loc96 = loc(\"c_mask\"(#loc44))\n#loc97 = loc(callsite(#loc3 at #loc56))\n#loc98 = loc(callsite(#loc5 at #loc56))\n#loc99 = loc(callsite(#loc3 at #loc57))\n#loc100 = loc(callsite(#loc5 at #loc57))\n#loc101 = loc(\"b_ptrs\"(#loc80))\n#loc102 = loc(\"accumulator\"(#loc101))\n","matmul_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n@global_smem = external addrspace(3) global [0 x i8], align 16\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @matmul_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr addrspace(1) readnone captures(none) %9, ptr addrspace(1) readnone captures(none) %10) local_unnamed_addr #0 !dbg !4 {\n %12 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %13 = add i32 %3, 15, !dbg !13\n %14 = sdiv i32 %13, 16, !dbg !18\n %15 = add i32 %4, 15, !dbg !19\n %16 = sdiv i32 %15, 16, !dbg !21\n %.frozen = freeze i32 %16, !dbg !22\n %17 = sdiv i32 %12, %.frozen, !dbg !22\n %18 = sub i32 %14, %17, !dbg !23\n %19 = tail call i32 @llvm.smin.i32(i32 %18, i32 1), !dbg !24\n %20 = srem i32 %12, %19, !dbg !25\n %21 = add i32 %20, %17, !dbg !26\n %22 = mul i32 %17, %.frozen, !dbg !27\n %.decomposed = sub i32 %12, %22, !dbg !27\n %23 = sdiv i32 %.decomposed, %19, !dbg !28\n %24 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !29\n %25 = lshr i32 %24, 1, !dbg !29\n %26 = and i32 %24, 1, !dbg !29\n %27 = and i32 %25, 15, !dbg !29\n %28 = shl nuw nsw i32 %26, 3, !dbg !29\n %29 = insertelement <2 x i32> poison, i32 %23, i64 0, !dbg !30\n %30 = insertelement <2 x i32> %29, i32 %21, i64 1, !dbg !30\n %31 = shl <2 x i32> %30, splat (i32 4), !dbg !30\n %32 = insertelement <2 x i32> poison, i32 %28, i64 0, !dbg !30\n %33 = insertelement <2 x i32> %32, i32 %27, i64 1, !dbg !30\n %34 = or disjoint <2 x i32> %31, %33, !dbg !30\n %35 = add i32 %5, 15, !dbg !31\n %36 = sdiv i32 %35, 16, !dbg !33\n %37 = icmp sgt i32 %35, 15, !dbg !34\n br i1 %37, label %.lr.ph, label %.._crit_edge_crit_edge, !dbg !34\n\n.._crit_edge_crit_edge: ; preds = %11\n %.pre = shl nuw nsw i32 %24, 4, !dbg !35\n %.pre65 = and i32 %24, 4, !dbg !35\n %.pre67 = and i32 %24, 8, !dbg !35\n br label %._crit_edge, !dbg !34\n\n.lr.ph: ; preds = %11\n %38 = shl i32 %7, 4, !dbg !36\n %39 = mul i32 %7, %27, !dbg !37\n %40 = insertelement <2 x i32> poison, i32 %4, i64 0, !dbg !38\n %41 = insertelement <2 x i32> %40, i32 %3, i64 1, !dbg !38\n %42 = srem <2 x i32> %34, %41, !dbg !38\n %43 = extractelement <2 x i32> %42, i64 0, !dbg !37\n %44 = add i32 %43, %39, !dbg !37\n %45 = sext i32 %44 to i64, !dbg !39\n %46 = getelementptr [2 x i8], ptr addrspace(1) %1, i64 %45, !dbg !39\n %47 = extractelement <2 x i32> %42, i64 1, !dbg !40\n %48 = mul i32 %47, %6, !dbg !40\n %49 = add i32 %48, %28, !dbg !40\n %50 = sext i32 %49 to i64, !dbg !41\n %51 = getelementptr [2 x i8], ptr addrspace(1) %0, i64 %50, !dbg !41\n %52 = shl nuw nsw i32 %24, 4\n %53 = and i32 %52, 368\n %54 = and i32 %24, 8\n %55 = icmp eq i32 %54, 0\n %56 = select i1 %55, i32 0, i32 144\n %57 = xor i32 %56, %53\n %58 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %57\n %59 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 512), i32 %57\n %60 = shl nuw nsw i32 %24, 5\n %61 = and i32 %60, 352\n %62 = and i32 %24, 4\n %63 = icmp eq i32 %62, 0\n %64 = select i1 %63, i32 0, i32 144\n %65 = and i32 %24, 16\n %66 = xor i32 %64, %65\n %67 = or disjoint i32 %66, %61\n %68 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %67\n %69 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 512), i32 %67\n %70 = sext i32 %38 to i64\n br label %71, !dbg !34\n\n71: ; preds = %.lr.ph, %71\n %.pn3163 = phi ptr addrspace(1) [ %46, %.lr.ph ], [ %116, %71 ]\n %.pn1562 = phi ptr addrspace(1) [ %51, %.lr.ph ], [ %115, %71 ]\n %72 = phi float [ 0.000000e+00, %.lr.ph ], [ %106, %71 ]\n %73 = phi float [ 0.000000e+00, %.lr.ph ], [ %107, %71 ]\n %74 = phi float [ 0.000000e+00, %.lr.ph ], [ %108, %71 ]\n %75 = phi float [ 0.000000e+00, %.lr.ph ], [ %109, %71 ]\n %76 = phi float [ 0.000000e+00, %.lr.ph ], [ %111, %71 ]\n %77 = phi float [ 0.000000e+00, %.lr.ph ], [ %112, %71 ]\n %78 = phi float [ 0.000000e+00, %.lr.ph ], [ %113, %71 ]\n %79 = phi float [ 0.000000e+00, %.lr.ph ], [ %114, %71 ]\n %80 = phi i32 [ 0, %.lr.ph ], [ %117, %71 ]\n %81 = shl i32 %80, 4, !dbg !42\n %82 = sub i32 %5, %81, !dbg !43\n %83 = icmp slt i32 %28, %82, !dbg !44\n %84 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn1562, i1 %83) #6, !dbg !45\n %85 = extractvalue { i32, i32, i32, i32 } %84, 0, !dbg !45\n %86 = extractvalue { i32, i32, i32, i32 } %84, 1, !dbg !45\n %87 = extractvalue { i32, i32, i32, i32 } %84, 2, !dbg !45\n %88 = extractvalue { i32, i32, i32, i32 } %84, 3, !dbg !45\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !45\n tail call void asm sideeffect \"st.shared::cta.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %58, i32 %85, i32 %86, i32 %87, i32 %88) #6, !dbg !45\n %89 = icmp slt i32 %27, %82, !dbg !46\n %90 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn3163, i1 %89) #6, !dbg !47\n %91 = extractvalue { i32, i32, i32, i32 } %90, 0, !dbg !47\n %92 = extractvalue { i32, i32, i32, i32 } %90, 1, !dbg !47\n %93 = extractvalue { i32, i32, i32, i32 } %90, 2, !dbg !47\n %94 = extractvalue { i32, i32, i32, i32 } %90, 3, !dbg !47\n tail call void asm sideeffect \"st.shared::cta.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %59, i32 %91, i32 %92, i32 %93, i32 %94) #6, !dbg !47\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !45\n %95 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %68), !dbg !45\n %96 = extractvalue { i32, i32, i32, i32 } %95, 0, !dbg !45\n %97 = extractvalue { i32, i32, i32, i32 } %95, 1, !dbg !45\n %98 = extractvalue { i32, i32, i32, i32 } %95, 2, !dbg !45\n %99 = extractvalue { i32, i32, i32, i32 } %95, 3, !dbg !45\n %100 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) %69), !dbg !47\n %101 = extractvalue { i32, i32, i32, i32 } %100, 0, !dbg !47\n %102 = extractvalue { i32, i32, i32, i32 } %100, 1, !dbg !47\n %103 = extractvalue { i32, i32, i32, i32 } %100, 2, !dbg !47\n %104 = extractvalue { i32, i32, i32, i32 } %100, 3, !dbg !47\n %105 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %72, float %73, float %74, float %75, i32 %96, i32 %97, i32 %98, i32 %99, i32 %101, i32 %102) #6, !dbg !48\n %106 = extractvalue { float, float, float, float } %105, 0, !dbg !48\n %107 = extractvalue { float, float, float, float } %105, 1, !dbg !48\n %108 = extractvalue { float, float, float, float } %105, 2, !dbg !48\n %109 = extractvalue { float, float, float, float } %105, 3, !dbg !48\n %110 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %76, float %77, float %78, float %79, i32 %96, i32 %97, i32 %98, i32 %99, i32 %103, i32 %104) #6, !dbg !48\n %111 = extractvalue { float, float, float, float } %110, 0, !dbg !48\n %112 = extractvalue { float, float, float, float } %110, 1, !dbg !48\n %113 = extractvalue { float, float, float, float } %110, 2, !dbg !48\n %114 = extractvalue { float, float, float, float } %110, 3, !dbg !48\n %115 = getelementptr i8, ptr addrspace(1) %.pn1562, i64 32, !dbg !49\n %116 = getelementptr [2 x i8], ptr addrspace(1) %.pn3163, i64 %70, !dbg !50\n %117 = add nuw nsw i32 %80, 1, !dbg !34\n %exitcond.not = icmp eq i32 %117, %36, !dbg !34\n br i1 %exitcond.not, label %._crit_edge.loopexit, label %71, !dbg !34\n\n._crit_edge.loopexit: ; preds = %71\n %118 = insertelement <8 x float> poison, float %106, i64 0, !dbg !51\n %119 = insertelement <8 x float> %118, float %107, i64 1, !dbg !51\n %120 = insertelement <8 x float> %119, float %108, i64 2, !dbg !51\n %121 = insertelement <8 x float> %120, float %109, i64 3, !dbg !51\n %122 = insertelement <8 x float> %121, float %111, i64 4, !dbg !51\n %123 = insertelement <8 x float> %122, float %112, i64 5, !dbg !51\n %124 = insertelement <8 x float> %123, float %113, i64 6, !dbg !51\n %125 = insertelement <8 x float> %124, float %114, i64 7, !dbg !51\n %126 = fptrunc <8 x float> %125 to <8 x half>, !dbg !51\n %127 = bitcast <8 x half> %126 to <4 x i32>, !dbg !35\n br label %._crit_edge, !dbg !51\n\n._crit_edge: ; preds = %._crit_edge.loopexit, %.._crit_edge_crit_edge\n %.pre-phi68 = phi i32 [ %.pre67, %.._crit_edge_crit_edge ], [ %54, %._crit_edge.loopexit ], !dbg !35\n %.pre-phi66 = phi i32 [ %.pre65, %.._crit_edge_crit_edge ], [ %62, %._crit_edge.loopexit ], !dbg !35\n %.pre-phi = phi i32 [ %.pre, %.._crit_edge_crit_edge ], [ %52, %._crit_edge.loopexit ], !dbg !35\n %.bc82 = phi <4 x i32> [ zeroinitializer, %.._crit_edge_crit_edge ], [ %127, %._crit_edge.loopexit ], !dbg !52\n %128 = extractelement <2 x i32> %34, i64 1, !dbg !53\n %129 = mul i32 %128, %8, !dbg !53\n %130 = sext i32 %129 to i64, !dbg !54\n %131 = getelementptr [2 x i8], ptr addrspace(1) %2, i64 %130, !dbg !54\n %132 = extractelement <2 x i32> %34, i64 0, !dbg !54\n %133 = sext i32 %132 to i64, !dbg !54\n %134 = getelementptr [2 x i8], ptr addrspace(1) %131, i64 %133, !dbg !54\n %135 = icmp slt i32 %128, %3, !dbg !55\n %136 = icmp slt i32 %132, %4, !dbg !56\n %137 = and i1 %135, %136, !dbg !57\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !35\n %138 = and i32 %.pre-phi, 176, !dbg !35\n %139 = icmp eq i32 %.pre-phi66, 0, !dbg !35\n %140 = select i1 %139, i32 0, i32 320, !dbg !35\n %141 = shl nuw nsw i32 %24, 2, !dbg !35\n %142 = and i32 %141, 64, !dbg !35\n %143 = or disjoint i32 %140, %138, !dbg !35\n %144 = xor i32 %143, %142, !dbg !35\n %145 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %144, !dbg !35\n %.extract77 = extractelement <4 x i32> %.bc82, i64 0, !dbg !35\n %.extract79 = extractelement <4 x i32> %.bc82, i64 1, !dbg !35\n %.extract81 = extractelement <4 x i32> %.bc82, i64 2, !dbg !35\n %.extract83 = extractelement <4 x i32> %.bc82, i64 3, !dbg !35\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %145, i32 %.extract77, i32 %.extract79, i32 %.extract81, i32 %.extract83), !dbg !35\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !35\n %146 = shl nuw nsw i32 %24, 3, !dbg !35\n %147 = and i32 %146, 176, !dbg !35\n %148 = shl nuw nsw i32 %26, 6, !dbg !35\n %149 = icmp eq i32 %.pre-phi68, 0, !dbg !35\n %150 = select i1 %149, i32 0, i32 320, !dbg !35\n %151 = or disjoint i32 %147, %148, !dbg !35\n %152 = xor i32 %151, %150, !dbg !35\n %153 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %152, !dbg !35\n %.extract = load i32, ptr addrspace(3) %153, align 16, !dbg !35\n %154 = getelementptr inbounds nuw i8, ptr addrspace(3) %153, i32 4, !dbg !35\n %.extract57 = load i32, ptr addrspace(3) %154, align 4, !dbg !35\n %155 = getelementptr inbounds nuw i8, ptr addrspace(3) %153, i32 8, !dbg !35\n %.extract59 = load i32, ptr addrspace(3) %155, align 8, !dbg !35\n %156 = getelementptr inbounds nuw i8, ptr addrspace(3) %153, i32 12, !dbg !35\n %.extract61 = load i32, ptr addrspace(3) %156, align 4, !dbg !35\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract, i32 %.extract57, i32 %.extract59, i32 %.extract61, ptr addrspace(1) %134, i1 %137) #6, !dbg !35\n ret void, !dbg !58\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.smin.i32(i32, i32) #2\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.barrier.cta.sync.aligned.all(i32) #3\n\n; Function Attrs: convergent nocallback nounwind memory(argmem: write)\ndeclare void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) writeonly captures(none), i32, i32, i32, i32) #4\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.bar.warp.sync(i32) #3\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"32\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #3 = { convergent nocallback nounwind }\nattributes #4 = { convergent nocallback nounwind memory(argmem: write) }\nattributes #5 = { convergent nocallback nofree nounwind memory(argmem: read) }\nattributes #6 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"matmul_kernel\", linkageName: \"matmul_kernel\", scope: !1, file: !1, line: 292, type: !5, scopeLine: 292, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !9, !9, !9, !9, !9, !9, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"half\", size: 16, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 311, column: 15, scope: !4)\n!13 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !16)\n!14 = distinct !DILexicalBlockFile(scope: !4, file: !15, discriminator: 0)\n!15 = !DIFile(filename: \"standard.py\", directory: \"/python/lib/python3.14/site-packages/triton/language\")\n!16 = !DILocation(line: 312, column: 21, scope: !17)\n!17 = distinct !DILexicalBlockFile(scope: !4, file: !1, discriminator: 0)\n!18 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !16)\n!19 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !20)\n!20 = !DILocation(line: 313, column: 21, scope: !17)\n!21 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !20)\n!22 = !DILocation(line: 315, column: 20, scope: !4)\n!23 = !DILocation(line: 317, column: 26, scope: !4)\n!24 = !DILocation(line: 317, column: 22, scope: !4)\n!25 = !DILocation(line: 318, column: 32, scope: !4)\n!26 = !DILocation(line: 318, column: 17, scope: !4)\n!27 = !DILocation(line: 319, column: 18, scope: !4)\n!28 = !DILocation(line: 319, column: 17, scope: !4)\n!29 = !DILocation(line: 321, column: 43, scope: !4)\n!30 = !DILocation(line: 322, column: 20, scope: !4)\n!31 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !32)\n!32 = !DILocation(line: 328, column: 27, scope: !17)\n!33 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !32)\n!34 = !DILocation(line: 328, column: 9, scope: !4)\n!35 = !DILocation(line: 344, column: 9, scope: !4)\n!36 = !DILocation(line: 337, column: 23, scope: !4)\n!37 = !DILocation(line: 325, column: 23, scope: !4)\n!38 = !DILocation(line: 322, column: 19, scope: !4)\n!39 = !DILocation(line: 325, column: 18, scope: !4)\n!40 = !DILocation(line: 324, column: 23, scope: !4)\n!41 = !DILocation(line: 324, column: 18, scope: !4)\n!42 = !DILocation(line: 330, column: 52, scope: !4)\n!43 = !DILocation(line: 330, column: 48, scope: !4)\n!44 = !DILocation(line: 330, column: 30, scope: !4)\n!45 = !DILocation(line: 329, column: 23, scope: !4)\n!46 = !DILocation(line: 333, column: 30, scope: !4)\n!47 = !DILocation(line: 332, column: 23, scope: !4)\n!48 = !DILocation(line: 335, column: 28, scope: !4)\n!49 = !DILocation(line: 336, column: 13, scope: !4)\n!50 = !DILocation(line: 337, column: 13, scope: !4)\n!51 = !DILocation(line: 338, column: 19, scope: !4)\n!52 = !DILocation(line: 327, column: 23, scope: !4)\n!53 = !DILocation(line: 342, column: 22, scope: !4)\n!54 = !DILocation(line: 342, column: 18, scope: !4)\n!55 = !DILocation(line: 343, column: 19, scope: !4)\n!56 = !DILocation(line: 343, column: 44, scope: !4)\n!57 = !DILocation(line: 343, column: 18, scope: !4)\n!58 = !DILocation(line: 292, column: 5, scope: !4)\n","matmul_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.8\n.target sm_90a\n.address_size 64\n\n\t// .globl\tmatmul_kernel // -- Begin function matmul_kernel\n.extern .shared .align 16 .b8 global_smem[];\n // @matmul_kernel\n.visible .entry matmul_kernel(\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_2,\n\t.param .u32 matmul_kernel_param_3,\n\t.param .u32 matmul_kernel_param_4,\n\t.param .u32 matmul_kernel_param_5,\n\t.param .u32 matmul_kernel_param_6,\n\t.param .u32 matmul_kernel_param_7,\n\t.param .u32 matmul_kernel_param_8,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_9,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_10\n)\n.reqntid 32\n{\n\t.reg .pred \t%p<10>;\n\t.reg .b32 \t%r<111>;\n\t.reg .b64 \t%rd<9>;\n\t.loc\t1 292 0 // generate_examples.py:292:0\n$L__func_begin0:\n\t.loc\t1 292 0 // generate_examples.py:292:0\n\n// %bb.0:\n\tld.param.b32 \t%r13, [matmul_kernel_param_8];\n\tld.param.b32 \t%r94, [matmul_kernel_param_5];\n\tld.param.b32 \t%r10, [matmul_kernel_param_4];\n\tld.param.b32 \t%r9, [matmul_kernel_param_3];\n\tld.param.b64 \t%rd4, [matmul_kernel_param_2];\n$L__tmp0:\n\t.loc\t1 311 15 // generate_examples.py:311:15\n\tmov.u32 \t%r14, %ctaid.x;\n$L__tmp1:\n\t.loc\t1 312 21 // generate_examples.py:312:21\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 312 21 // standard.py:43:13\n\tadd.s32 \t%r15, %r9, 15;\n\t.loc\t2 43 12, function_name $L__info_string0, inlined_at 1 312 21 // standard.py:43:12\n\tshr.s32 \t%r16, %r15, 31;\n\tshr.u32 \t%r17, %r16, 28;\n\tadd.s32 \t%r18, %r15, %r17;\n\tshr.s32 \t%r19, %r18, 4;\n$L__tmp2:\n\t.loc\t1 313 21 // generate_examples.py:313:21\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 313 21 // standard.py:43:13\n\tadd.s32 \t%r20, %r10, 15;\n\t.loc\t2 43 12, function_name $L__info_string0, inlined_at 1 313 21 // standard.py:43:12\n\tshr.s32 \t%r21, %r20, 31;\n\tshr.u32 \t%r22, %r21, 28;\n\tadd.s32 \t%r23, %r20, %r22;\n\tshr.s32 \t%r24, %r23, 4;\n$L__tmp3:\n\t.loc\t1 315 20 // generate_examples.py:315:20\n\tdiv.s32 \t%r25, %r14, %r24;\n\t.loc\t1 317 26 // generate_examples.py:317:26\n\tsub.s32 \t%r26, %r19, %r25;\n\t.loc\t1 317 22 // generate_examples.py:317:22\n\tmin.s32 \t%r27, %r26, 1;\n\t.loc\t1 318 32 // generate_examples.py:318:32\n\trem.s32 \t%r28, %r14, %r27;\n\t.loc\t1 318 17 // generate_examples.py:318:17\n\tadd.s32 \t%r29, %r28, %r25;\n\t.loc\t1 319 18 // generate_examples.py:319:18\n\tmul.lo.s32 \t%r30, %r25, %r24;\n\tsub.s32 \t%r31, %r14, %r30;\n\t.loc\t1 319 17 // generate_examples.py:319:17\n\tdiv.s32 \t%r32, %r31, %r27;\n\t.loc\t1 321 43 // generate_examples.py:321:43\n\tmov.u32 \t%r1, %tid.x;\n\tand.b32 \t%r2, %r1, 1;\n\tbfe.u32 \t%r3, %r1, 1, 4;\n\tshl.b32 \t%r4, %r2, 3;\n\t.loc\t1 322 20 // generate_examples.py:322:20\n\tshl.b32 \t%r33, %r32, 4;\n\tshl.b32 \t%r34, %r29, 4;\n\tor.b32 \t%r5, %r33, %r4;\n\tor.b32 \t%r6, %r34, %r3;\n$L__tmp4:\n\t.loc\t1 328 27 // generate_examples.py:328:27\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 328 27 // standard.py:43:13\n\tadd.s32 \t%r35, %r94, 15;\n$L__tmp5:\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tsetp.gt.s32 \t%p1, %r35, 15;\n\tmov.b32 \t%r93, global_smem;\n\t@!%p1 bra \t$L__BB0_1;\n// %bb.2: // %.lr.ph\n\t.loc\t1 0 9 // generate_examples.py:0:9\n\tld.param.b32 \t%r12, [matmul_kernel_param_7];\n\tld.param.b32 \t%r11, [matmul_kernel_param_6];\n\tld.param.b64 \t%rd3, [matmul_kernel_param_1];\n\tld.param.b64 \t%rd2, [matmul_kernel_param_0];\n\tshr.s32 \t%r36, %r35, 31;\n\tshr.u32 \t%r37, %r36, 28;\n\tadd.s32 \t%r38, %r35, %r37;\n\tshr.s32 \t%r95, %r38, 4;\n\t.loc\t1 337 23 // generate_examples.py:337:23\n\tshl.b32 \t%r39, %r12, 4;\n\t.loc\t1 322 19 // generate_examples.py:322:19\n\trem.s32 \t%r40, %r6, %r9;\n\trem.s32 \t%r41, %r5, %r10;\n\t.loc\t1 325 23 // generate_examples.py:325:23\n\tmad.lo.s32 \t%r42, %r12, %r3, %r41;\n\t.loc\t1 325 18 // generate_examples.py:325:18\n\tmad.wide.s32 \t%rd7, %r42, 2, %rd3;\n\t.loc\t1 324 23 // generate_examples.py:324:23\n\tmad.lo.s32 \t%r43, %r40, %r11, %r4;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd8, %r43, 2, %rd2;\n\tshl.b32 \t%r106, %r1, 4;\n\tand.b32 \t%r44, %r106, 368;\n\tand.b32 \t%r104, %r1, 8;\n\tbfe.s32 \t%r45, %r1, 3, 1;\n\tand.b32 \t%r46, %r45, 144;\n\txor.b32 \t%r47, %r46, %r44;\n\tadd.s32 \t%r60, %r93, %r47;\n\tadd.s32 \t%r65, %r60, 512;\n\tshl.b32 \t%r48, %r1, 5;\n\tand.b32 \t%r49, %r48, 352;\n\tand.b32 \t%r105, %r1, 4;\n\tbfe.s32 \t%r50, %r1, 2, 1;\n\tand.b32 \t%r51, %r50, 144;\n\tand.b32 \t%r52, %r1, 16;\n\txor.b32 \t%r53, %r51, %r52;\n\tor.b32 \t%r54, %r53, %r49;\n\tadd.s32 \t%r7, %r93, %r54;\n\tadd.s32 \t%r8, %r7, 512;\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tmul.wide.s32 \t%rd1, %r39, 2;\n\tmov.b32 \t%r96, 0f00000000;\n\tmov.b32 \t%r97, %r96;\n\tmov.b32 \t%r98, %r96;\n\tmov.b32 \t%r99, %r96;\n\tmov.b32 \t%r100, %r96;\n\tmov.b32 \t%r101, %r96;\n\tmov.b32 \t%r102, %r96;\n\tmov.b32 \t%r103, %r96;\n$L__BB0_3: // =>This Inner Loop Header: Depth=1\n\t.loc\t1 330 30 // generate_examples.py:330:30\n\tsetp.lt.s32 \t%p2, %r4, %r94;\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tmov.b32 \t%r59, 0;\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tmov.u32 %r55, %r59;\n\t.loc\t1 330 23 // generate_examples.py:330:23\n\tmov.u32 %r56, %r59;\n\t.loc\t1 331 23 // generate_examples.py:331:23\n\tmov.u32 %r57, %r59;\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tmov.u32 %r58, %r59;\n\t@%p2 ld.global.v4.b32 { %r55, %r56, %r57, %r58 }, [ %rd8 + 0 ];\n\n\t// end inline asm\n\tbar.sync \t0;\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tst.shared::cta.v4.b32 [ %r60 + 0 ], { %r55, %r56, %r57, %r58 };\n\n\t// end inline asm\n\t.loc\t1 333 30 // generate_examples.py:333:30\n\tsetp.lt.s32 \t%p3, %r3, %r94;\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\t// begin inline asm\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tmov.u32 %r61, %r59;\n\t.loc\t1 333 23 // generate_examples.py:333:23\n\tmov.u32 %r62, %r59;\n\t.loc\t1 334 23 // generate_examples.py:334:23\n\tmov.u32 %r63, %r59;\n\t.loc\t1 335 23 // generate_examples.py:335:23\n\tmov.u32 %r64, %r59;\n\t@%p3 ld.global.v4.b32 { %r61, %r62, %r63, %r64 }, [ %rd7 + 0 ];\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tst.shared::cta.v4.b32 [ %r65 + 0 ], { %r61, %r62, %r63, %r64 };\n\n\t// end inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tbar.sync \t0;\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r66, %r67, %r68, %r69}, [%r7];\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tldmatrix.sync.aligned.m8n8.x4.trans.shared.b16 {%r70, %r71, %r72, %r73}, [%r8];\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r96, %r97, %r98, %r99 }, { %r66, %r67, %r68, %r69 }, { %r70, %r71 }, { %r96, %r97, %r98, %r99 };\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r100, %r101, %r102, %r103 }, { %r66, %r67, %r68, %r69 }, { %r72, %r73 }, { %r100, %r101, %r102, %r103 };\n\n\t// end inline asm\n\t.loc\t1 336 13 // generate_examples.py:336:13\n\tadd.s64 \t%rd8, %rd8, 32;\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tadd.s64 \t%rd7, %rd7, %rd1;\n\tadd.s32 \t%r95, %r95, -1;\n\tadd.s32 \t%r94, %r94, -16;\n\tsetp.ne.b32 \t%p4, %r95, 0;\n\t@%p4 bra \t$L__BB0_3;\n// %bb.4: // %._crit_edge.loopexit\n\t.loc\t1 338 19 // generate_examples.py:338:19\n\tcvt.rn.f16x2.f32 \t%r110, %r103, %r102;\n\tcvt.rn.f16x2.f32 \t%r109, %r101, %r100;\n\tcvt.rn.f16x2.f32 \t%r108, %r99, %r98;\n\tcvt.rn.f16x2.f32 \t%r107, %r97, %r96;\n\tbra.uni \t$L__BB0_5;\n$L__BB0_1: // %.._crit_edge_crit_edge\n\t.loc\t1 344 9 // generate_examples.py:344:9\n\tshl.b32 \t%r106, %r1, 4;\n\tand.b32 \t%r105, %r1, 4;\n\tand.b32 \t%r104, %r1, 8;\n\tmov.b32 \t%r107, 0;\n\tmov.b32 \t%r108, %r107;\n\tmov.b32 \t%r109, %r107;\n\tmov.b32 \t%r110, %r107;\n$L__BB0_5: // %._crit_edge\n\t.loc\t1 342 22 // generate_examples.py:342:22\n\tmul.lo.s32 \t%r78, %r6, %r13;\n\t.loc\t1 342 18 // generate_examples.py:342:18\n\tmad.wide.s32 \t%rd6, %r78, 2, %rd4;\n\tmad.wide.s32 \t%rd5, %r5, 2, %rd6;\n\t.loc\t1 343 19 // generate_examples.py:343:19\n\tsetp.lt.s32 \t%p6, %r6, %r9;\n\t.loc\t1 343 44 // generate_examples.py:343:44\n\tsetp.lt.s32 \t%p7, %r5, %r10;\n\t.loc\t1 343 18 // generate_examples.py:343:18\n\tand.pred \t%p5, %p6, %p7;\n\t.loc\t1 344 9 // generate_examples.py:344:9\n\tbar.sync \t0;\n\tand.b32 \t%r79, %r106, 176;\n\tsetp.eq.b32 \t%p8, %r105, 0;\n\tselp.b32 \t%r80, 0, 320, %p8;\n\tshl.b32 \t%r81, %r1, 2;\n\tand.b32 \t%r82, %r81, 64;\n\tor.b32 \t%r83, %r80, %r79;\n\txor.b32 \t%r84, %r83, %r82;\n\tadd.s32 \t%r85, %r93, %r84;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r85], {%r107, %r108, %r109, %r110};\n\tbar.warp.sync \t-1;\n\tshl.b32 \t%r86, %r1, 3;\n\tand.b32 \t%r87, %r86, 176;\n\tshl.b32 \t%r88, %r2, 6;\n\tsetp.eq.b32 \t%p9, %r104, 0;\n\tselp.b32 \t%r89, 0, 320, %p9;\n\tor.b32 \t%r90, %r87, %r88;\n\txor.b32 \t%r91, %r90, %r89;\n\tadd.s32 \t%r92, %r93, %r91;\n\tld.shared.v4.b32 \t{%r74, %r75, %r76, %r77}, [%r92];\n\t// begin inline asm\n\t@%p5 st.global.v4.b32 [ %rd5 + 0 ], { %r74, %r75, %r76, %r77 };\n\n\t// end inline asm\n\t.loc\t1 292 5 // generate_examples.py:292:5\n\tret;\n$L__tmp6:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.file\t2 \"/python/lib/python3.14/site-packages/triton/language/standard.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 1 // DW_CHILDREN_yes\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 2 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 0 // DW_CHILDREN_no\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 32 // DW_AT_inline\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 3 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 1 // DW_CHILDREN_yes\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 4 // Abbreviation Code\n.b8 29 // DW_TAG_inlined_subroutine\n.b8 0 // DW_CHILDREN_no\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 88 // DW_AT_call_file\n.b8 11 // DW_FORM_data1\n.b8 89 // DW_AT_call_line\n.b8 5 // DW_FORM_data2\n.b8 87 // DW_AT_call_column\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 227 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0xdc DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n.b8 2 // Abbrev [2] 0x75:0x10 DW_TAG_subprogram\n.b8 109 // DW_AT_name\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n.b8 1 // DW_AT_inline\n.b8 3 // Abbrev [3] 0x85:0x61 DW_TAG_subprogram\n.b64 $L__func_begin0 // DW_AT_low_pc\n.b64 $L__func_end0 // DW_AT_high_pc\n.b32 117 // DW_AT_abstract_origin\n.b8 4 // Abbrev [4] 0x9a:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp1 // DW_AT_low_pc\n.b64 $L__tmp2 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 56 // DW_AT_call_line\n.b8 1\n.b8 21 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xb3:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp2 // DW_AT_low_pc\n.b64 $L__tmp3 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 57 // DW_AT_call_line\n.b8 1\n.b8 21 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xcc:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp4 // DW_AT_low_pc\n.b64 $L__tmp5 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 72 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 0 // End Of Children Mark\n.b8 0 // End Of Children Mark\n\t}\n\t.section\t.debug_str\n\t{\n$L__info_string0:\n.b8 109 // string offset=0 ; matmul_kernel\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","matmul_kernel.json":"{\"hash\": \"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 1, \"num_ctas\": 1, \"num_stages\": 1, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.8.0\", \"tensordesc_meta\": [], \"shared\": 1024, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"matmul_kernel\"}","matmul_kernel.sass":"Function:matmul_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 46\n /*0010*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 311\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*0020*/ S2R R7, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0030*/ UMOV UR4, 0x400 ;\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0040*/ ULDC.64 UR6, c[0x0][0x208] ;\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0050*/ S2UR UR5, SR_CgaCtaId ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0060*/ VIADD R0, R9, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 57\n /*0070*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 94\n /*0080*/ ULEA UR4, UR5, UR4, 0x18 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \".nv_debug_ptx_txt\", line 59\n /*0090*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*00a0*/ IABS R10, R7 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*00b0*/ SHF.R.S32.HI R4, RZ, 0x4, R3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*00c0*/ IABS R5, R4.reuse ;\n /*00d0*/ IABS R12, R4 ;\n /*00e0*/ I2F.RP R0, R5 ;\n /*00f0*/ MUFU.RCP R0, R0 ;\n /*0100*/ VIADD R2, R0, 0xffffffe ;\n /*0110*/ IMAD.MOV R0, RZ, RZ, -R12 ;\n /*0120*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0130*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0140*/ IMAD.MOV R6, RZ, RZ, -R3 ;\n /*0150*/ IMAD R11, R6, R5, RZ ;\n /*0160*/ IMAD.MOV.U32 R6, RZ, RZ, R10 ;\n /*0170*/ IMAD.HI.U32 R3, R3, R11, R2 ;\n /*0180*/ IMAD.HI.U32 R3, R3, R6, RZ ;\n /*0190*/ IMAD R0, R3, R0, R6 ;\n /*01a0*/ ISETP.GT.U32.AND P1, PT, R5, R0, PT ;\n /*01b0*/ @!P1 IMAD.IADD R0, R0, 0x1, -R5 ;\n /*01c0*/ @!P1 VIADD R3, R3, 0x1 ;\n /*01d0*/ ISETP.NE.AND P1, PT, R4, RZ, PT ;\n /*01e0*/ ISETP.GE.U32.AND P0, PT, R0, R5, PT ;\n /*01f0*/ LOP3.LUT R0, R7, R4, RZ, 0x3c, !PT ;\n /*0200*/ ISETP.GE.AND P2, PT, R0, RZ, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 46\n /*0210*/ VIADD R0, R8, 0xf ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0220*/ @P0 VIADD R3, R3, 0x1 ;\n /*0230*/ IMAD.MOV.U32 R12, RZ, RZ, R3 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0240*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0250*/ @!P2 IMAD.MOV R12, RZ, RZ, -R12 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 50\n /*0260*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0270*/ @!P1 LOP3.LUT R12, RZ, R4, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0280*/ LEA.HI.SX32 R3, R3, -R12, 0x1c ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0290*/ IMAD.MOV R5, RZ, RZ, -R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*02a0*/ VIMNMX R15, R3, 0x1, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*02b0*/ IMAD R4, R4, R5, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*02c0*/ IABS R11, R15.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*02d0*/ IABS R14, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*02e0*/ I2F.RP R0, R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*02f0*/ LOP3.LUT R4, R4, R15, RZ, 0x3c, !PT ;\n /*0300*/ ISETP.GE.AND P2, PT, R4, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0310*/ MUFU.RCP R0, R0 ;\n /*0320*/ VIADD R2, R0, 0xffffffe ;\n /*0330*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0340*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0350*/ IMAD.MOV R10, RZ, RZ, -R3 ;\n /*0360*/ IMAD R5, R10, R11, RZ ;\n /*0370*/ IABS R10, R15 ;\n /*0380*/ IMAD.HI.U32 R3, R3, R5, R2 ;\n /*0390*/ IMAD.MOV R13, RZ, RZ, -R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*03a0*/ IMAD.MOV.U32 R10, RZ, RZ, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*03b0*/ IMAD.HI.U32 R0, R3, R6, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*03c0*/ IMAD.HI.U32 R5, R3, R10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*03d0*/ IMAD R2, R0, R13.reuse, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*03e0*/ IMAD R3, R5, R13, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*03f0*/ S2R R0, SR_TID.X ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 90\n /*0400*/ LDC R10, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0410*/ ISETP.GT.U32.AND P1, PT, R11.reuse, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0420*/ ISETP.GT.U32.AND P0, PT, R11, R3, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0430*/ @!P1 IMAD.IADD R2, R2, 0x1, -R11.reuse ;\n /*0440*/ ISETP.GE.AND P1, PT, R7, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0450*/ @!P0 IMAD.IADD R3, R3, 0x1, -R11 ;\n /*0460*/ @!P0 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0470*/ ISETP.GT.U32.AND P4, PT, R11, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0480*/ ISETP.GE.U32.AND P3, PT, R3, R11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0490*/ ISETP.NE.AND P0, PT, R15, RZ, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 90\n /*04a0*/ VIADD R10, R10, 0xf ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*04b0*/ LOP3.LUT R3, RZ, R15, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 80\n /*04c0*/ SHF.R.U32.HI R13, RZ, 0x1, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*04d0*/ @!P4 IMAD.IADD R2, R2, 0x1, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*04e0*/ @P3 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 80\n /*04f0*/ SGXT.U32 R13, R13, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0500*/ @!P1 IMAD.MOV R2, RZ, RZ, -R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0510*/ @!P2 IMAD.MOV R5, RZ, RZ, -R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0520*/ SEL R2, R3.reuse, R2, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0530*/ SEL R3, R3, R5, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 93\n /*0540*/ ISETP.GT.AND P0, PT, R10, 0xf, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 71\n /*0550*/ IMAD.IADD R4, R12, 0x1, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0560*/ LOP3.LUT R2, R0, 0x1, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 84\n /*0570*/ IMAD.SHL.U32 R4, R4, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0580*/ IMAD.SHL.U32 R14, R2, 0x8, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 85\n /*0590*/ IMAD R12, R3, 0x10, R14 ;\n\t//## File \".nv_debug_ptx_txt\", line 86\n /*05a0*/ LOP3.LUT R3, R4, R13, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 95\n /*05b0*/ @!P0 BRA `(.L_x_0) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*05c0*/ IABS R17, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 337\n\t//## File \".nv_debug_ptx_txt\", line 107\n /*05d0*/ LDC R39, c[0x0][0x238] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*05e0*/ IABS R16, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*05f0*/ ULDC UR5, c[0x0][0x234] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0600*/ I2F.RP R11, R17 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0610*/ ISETP.GE.AND P2, PT, R12, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0620*/ ULDC.64 UR8, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0630*/ ISETP.NE.AND P4, PT, R9, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0640*/ ULDC.64 UR10, c[0x0][0x210] ;\n\t//## File \".nv_debug_ptx_txt\", line 119\n /*0650*/ IMAD.SHL.U32 R37, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 121\n /*0660*/ LOP3.LUT R38, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0670*/ I2F.RP R15, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 129\n /*0680*/ LOP3.LUT R40, R0, 0x4, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0690*/ MUFU.RCP R11, R11 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*06a0*/ MUFU.RCP R15, R15 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*06b0*/ VIADD R4, R11, 0xffffffe ;\n /*06c0*/ F2I.FTZ.U32.TRUNC.NTZ R5, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*06d0*/ VIADD R6, R15, 0xffffffe ;\n /*06e0*/ IABS R15, R12 ;\n /*06f0*/ F2I.FTZ.U32.TRUNC.NTZ R7, R6 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0700*/ IMAD.MOV.U32 R4, RZ, RZ, RZ ;\n /*0710*/ IMAD.MOV R18, RZ, RZ, -R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0720*/ IMAD.MOV.U32 R6, RZ, RZ, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0730*/ IMAD R19, R18, R17, RZ ;\n /*0740*/ IABS R18, R3 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0750*/ IMAD.MOV R21, RZ, RZ, -R7 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0760*/ IMAD.HI.U32 R4, R5, R19, R4 ;\n /*0770*/ IMAD.MOV.U32 R5, RZ, RZ, R18 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0780*/ IMAD R11, R21, R16, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0790*/ IMAD.HI.U32 R4, R4, R5, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*07a0*/ IMAD.HI.U32 R6, R7, R11, R6 ;\n /*07b0*/ IMAD.MOV.U32 R7, RZ, RZ, R15 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*07c0*/ IMAD.MOV R4, RZ, RZ, -R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*07d0*/ IMAD.HI.U32 R6, R6, R7, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*07e0*/ IMAD R4, R17, R4, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*07f0*/ IMAD.MOV R6, RZ, RZ, -R6 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0800*/ ISETP.GT.U32.AND P0, PT, R17, R4, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0810*/ IMAD R5, R16, R6, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 130\n /*0820*/ SHF.R.S32.HI R6, RZ, 0x2, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 127\n /*0830*/ IMAD.SHL.U32 R7, R0, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0840*/ ISETP.GT.U32.AND P1, PT, R16, R5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 130\n /*0850*/ SGXT R6, R6, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0860*/ @!P0 IMAD.IADD R4, R4, 0x1, -R17 ;\n /*0870*/ ISETP.GT.U32.AND P3, PT, R17, R4, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0880*/ @!P1 IMAD.IADD R5, R5, 0x1, -R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0890*/ ISETP.GE.AND P1, PT, R3, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*08a0*/ ISETP.GT.U32.AND P0, PT, R16, R5, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*08b0*/ @!P3 IMAD.IADD R4, R4, 0x1, -R17 ;\n /*08c0*/ ISETP.NE.AND P3, PT, R8, RZ, PT ;\n /*08d0*/ IMAD.MOV.U32 R11, RZ, RZ, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*08e0*/ @!P0 IMAD.IADD R5, R5, 0x1, -R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*08f0*/ @!P1 IMAD.MOV R11, RZ, RZ, -R11 ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0900*/ IMAD.MOV.U32 R4, RZ, RZ, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 102\n /*0910*/ SHF.R.S32.HI R5, RZ, 0x1f, R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0920*/ @!P3 LOP3.LUT R11, RZ, R8, RZ, 0x33, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*0930*/ @!P2 IMAD.MOV R4, RZ, RZ, -R4 ;\n /*0940*/ @!P4 LOP3.LUT R4, RZ, R9, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 131\n /*0950*/ LOP3.LUT R9, R6, 0x90, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0960*/ IMAD R6, R11, UR5, R14 ;\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*0970*/ SHF.R.S32.HI R11, RZ, 0x3, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0980*/ IMAD R4, R13, R39, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 133\n /*0990*/ LOP3.LUT R8, R9, 0x10, R0, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 337\n\t//## File \".nv_debug_ptx_txt\", line 107\n /*09a0*/ IMAD.SHL.U32 R39, R39, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*09b0*/ SGXT R11, R11, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 39\n /*09c0*/ ULDC UR5, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*09d0*/ LEA R36, P1, R6, UR10, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*09e0*/ LEA R24, P0, R4, UR8, 0x1 ;\n\t//## File \".nv_debug_ptx_txt\", line 104\n /*09f0*/ LEA.HI R15, R5, R10, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 123\n /*0a00*/ LOP3.LUT R16, R11, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 146\n /*0a10*/ CS2R R10, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 134\n /*0a20*/ LOP3.LUT R35, R8, 0x160, R7, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 146\n /*0a30*/ CS2R R8, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0a40*/ LEA.HI.X.SX32 R41, R6, UR11, 0x1, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 146\n /*0a50*/ CS2R R6, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0a60*/ LEA.HI.X.SX32 R25, R4, UR9, 0x1, P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 146\n /*0a70*/ CS2R R4, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 105\n /*0a80*/ SHF.R.S32.HI R15, RZ, 0x4, R15 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0a90*/ LOP3.LUT R34, R16, 0x170, R37, 0x78, !PT ;\n.L_x_1:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 149\n /*0aa0*/ ISETP.GE.AND P0, PT, R14, UR5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 161\n /*0ab0*/ CS2R R16, SRZ ;\n /*0ac0*/ CS2R R18, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0ad0*/ ISETP.GE.AND P1, PT, R13, UR5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 182\n /*0ae0*/ CS2R R20, SRZ ;\n /*0af0*/ CS2R R22, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 161\n /*0b00*/ @!P0 IMAD.MOV.U32 R32, RZ, RZ, R36 ;\n /*0b10*/ @!P0 IMAD.MOV.U32 R33, RZ, RZ, R41 ;\n /*0b20*/ @!P0 LDG.E.128 R16, desc[UR6][R32.64] ;\n\t//## File \".nv_debug_ptx_txt\", line 164\n /*0b30*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n /*0b40*/ IMAD.MOV.U32 R32, RZ, RZ, R24 ;\n /*0b50*/ IMAD.MOV.U32 R33, RZ, RZ, R25 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 182\n /*0b60*/ @!P1 LDG.E.128 R20, desc[UR6][R32.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 210\n /*0b70*/ VIADD R15, R15, 0xffffffff ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 207\n /*0b80*/ IADD3 R36, P1, R36, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 211\n /*0b90*/ UIADD3 UR5, UR5, -0x10, URZ ;\n\t//## File \".nv_debug_ptx_txt\", line 212\n /*0ba0*/ ISETP.NE.U32.AND P0, PT, R15, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 207\n /*0bb0*/ IMAD.X R41, RZ, RZ, R41, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 329\n\t//## File \".nv_debug_ptx_txt\", line 167\n /*0bc0*/ STS.128 [R34+UR4], R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 187\n /*0bd0*/ STS.128 [R34+UR4+0x200], R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 329\n\t//## File \".nv_debug_ptx_txt\", line 191\n /*0be0*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 192\n /*0bf0*/ LDSM.16.M88.4 R24, [R35+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 194\n /*0c00*/ LDSM.16.MT88.4 R28, [R35+UR4+0x200] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 198\n /*0c10*/ HMMA.16816.F32 R4, R24.reuse, R28, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 203\n /*0c20*/ HMMA.16816.F32 R8, R24, R30, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 209\n /*0c30*/ IMAD.WIDE R24, R39, 0x2, R32 ;\n /*0c40*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 213\n /*0c50*/ @P0 BRA `(.L_x_1) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 338\n\t//## File \".nv_debug_ptx_txt\", line 216\n /*0c60*/ F2FP.F16.F32.PACK_AB R11, R11, R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 217\n /*0c70*/ F2FP.F16.F32.PACK_AB R10, R9, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 218\n /*0c80*/ F2FP.F16.F32.PACK_AB R9, R7, R6 ;\n\t//## File \".nv_debug_ptx_txt\", line 219\n /*0c90*/ F2FP.F16.F32.PACK_AB R8, R5, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 220\n /*0ca0*/ BRA `(.L_x_2) ;\n.L_x_0:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 223\n /*0cb0*/ IMAD.SHL.U32 R37, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 224\n /*0cc0*/ LOP3.LUT R40, R0.reuse, 0x4, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 229\n /*0cd0*/ CS2R R8, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 225\n /*0ce0*/ LOP3.LUT R38, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 229\n /*0cf0*/ CS2R R10, SRZ ;\n.L_x_2:\n\t//## File \".nv_debug_ptx_txt\", line 243\n /*0d00*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 245\n /*0d10*/ ISETP.NE.U32.AND P0, PT, R40, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 254\n /*0d20*/ IMAD.SHL.U32 R5, R0, 0x8, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 257\n /*0d30*/ ISETP.NE.U32.AND P1, PT, R38, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 247\n /*0d40*/ IMAD.SHL.U32 R0, R0, 0x4, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 246\n /*0d50*/ SEL R4, RZ, 0x140, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 239\n /*0d60*/ ULDC.64 UR10, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 255\n /*0d70*/ LOP3.LUT R5, R5, 0xb0, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 232\n /*0d80*/ ULDC UR5, c[0x0][0x23c] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 249\n /*0d90*/ LOP3.LUT R37, R4, 0xb0, R37, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0da0*/ ULDC.64 UR8, c[0x0][0x220] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 239\n /*0db0*/ ISETP.GE.AND P0, PT, R12, UR11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 259\n /*0dc0*/ IMAD R13, R2, 0x40, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 250\n /*0dd0*/ LOP3.LUT R37, R37, 0x40, R0, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 232\n /*0de0*/ IMAD R0, R3.reuse, UR5, RZ ;\n /*0df0*/ ISETP.LT.AND P0, PT, R3, UR10, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0e00*/ IMAD.SHL.U32 R5, R12, 0x2, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 258\n /*0e10*/ SEL R4, RZ, 0x140, !P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 234\n /*0e20*/ IMAD.SHL.U32 R2, R0, 0x2, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 251\n /*0e30*/ VIADD R37, R37, UR4 ;\n\t//## File \".nv_debug_ptx_txt\", line 260\n /*0e40*/ LOP3.LUT R4, R13, R4, RZ, 0x3c, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0e50*/ IMAD.HI R7, R12, 0x2, RZ ;\n /*0e60*/ IADD3 R2, P1, P2, R5, UR8, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 252\n /*0e70*/ STSM.16.M88.4 [R37], R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 234\n /*0e80*/ IMAD.HI R0, R0, 0x2, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0e90*/ IADD3.X R3, R7, UR9, R0, P1, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 253\n /*0ea0*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 264\n /*0eb0*/ @!P0 EXIT ;\n\t//## File \".nv_debug_ptx_txt\", line 262\n /*0ec0*/ LDS.128 R4, [R4+UR4] ;\n\t//## File \".nv_debug_ptx_txt\", line 264\n /*0ed0*/ STG.E.128 desc[UR6][R2.64], R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 268\n /*0ee0*/ EXIT ;\n.L_x_3:\n /*0ef0*/ BRA `(.L_x_3);\n /*0f00*/ NOP;\n /*0f10*/ NOP;\n /*0f20*/ NOP;\n /*0f30*/ NOP;\n /*0f40*/ NOP;\n /*0f50*/ NOP;\n /*0f60*/ NOP;\n /*0f70*/ NOP;\n.L_x_4:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":266,"end_line":344,"code":" @triton.autotune(\n configs=[\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 16,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 32,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n ],\n key=[\"M\", \"N\", \"K\"],\n )\n @triton.jit\n def matmul_kernel(\n a,\n b,\n c,\n M,\n N,\n K,\n stride_am,\n stride_ak,\n stride_bk,\n stride_bn,\n stride_cm,\n stride_cn,\n BLOCK_SIZE_M: tl.constexpr,\n BLOCK_SIZE_N: tl.constexpr,\n BLOCK_SIZE_K: tl.constexpr,\n GROUP_SIZE_M: tl.constexpr,\n ACTIVATION: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n num_pid_m = tl.cdiv(M, BLOCK_SIZE_M)\n num_pid_n = tl.cdiv(N, BLOCK_SIZE_N)\n num_pid_in_group = GROUP_SIZE_M * num_pid_n\n group_id = pid // num_pid_in_group\n first_pid_m = group_id * GROUP_SIZE_M\n group_size = min(num_pid_m - first_pid_m, GROUP_SIZE_M)\n pid_m = first_pid_m + (pid % group_size)\n pid_n = (pid % num_pid_in_group) // group_size\n\n offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M\n offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N\n offs_k = tl.arange(0, BLOCK_SIZE_K)\n a_ptrs = a + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)\n b_ptrs = b + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)\n\n accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)\n for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):\n a_block = tl.load(\n a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0\n )\n b_block = tl.load(\n b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0\n )\n accumulator += tl.dot(a_block, b_block)\n a_ptrs += BLOCK_SIZE_K * stride_ak\n b_ptrs += BLOCK_SIZE_K * stride_bk\n c_block = accumulator.to(tl.float16)\n\n offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)\n offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)\n c_ptrs = c + stride_cm * offs_cm[:, None] + stride_cn * offs_cn[None, :]\n c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)\n tl.store(c_ptrs, c_block, mask=c_mask)\n"}}} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":272,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":283,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":283,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":283,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":283,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":283,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":295,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":308,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":308,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":308,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"launch","pid":4104992,"name":"matmul_kernel","function":94159363288336,"stream":0,"grid":[1],"compilation_metadata":{"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2b5b149e9d5ae5161f98984882ad1110dbfd0ae3001b0f103baae7ec6427464c","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1024,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32},"extracted_args":{"a":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00000"},"b":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00200"},"c":{"type":"tensor","shape":[16,16],"dtype":"torch.float16","device":"cuda:0","stride":[16,1],"numel":256,"is_contiguous":true,"element_size":2,"storage_offset":0,"memory_usage":512,"data_ptr":"0x7fc747e00400"},"M":{"type":"int","value":16},"N":{"type":"int","value":16},"K":{"type":"int","value":16},"stride_am":{"type":"int","value":16},"stride_ak":{"type":"int","value":1},"stride_bk":{"type":"int","value":16},"stride_bn":{"type":"int","value":1},"stride_cm":{"type":"int","value":16},"stride_cn":{"type":"int","value":1},"BLOCK_SIZE_M":{"type":"int","value":16},"BLOCK_SIZE_N":{"type":"int","value":16},"BLOCK_SIZE_K":{"type":"int","value":16},"GROUP_SIZE_M":{"type":"int","value":1},"ACTIVATION":{"type":"NoneType","repr":"None"}},"extracted_inductor_args":{},"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":308,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":779,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel.run(grid_0, grid_1, grid_2, stream, kernel.function, kernel.packed_metadata, launch_metadata,"},{"line":331,"name":"__call__","filename":"/python/lib/python3.14/site-packages/triton/backends/nvidia/driver.py","loc":"self.launch(gridX, gridY, gridZ, stream, function, self.launch_cooperative_grid, self.launch_pdl,"},{"line":2027,"name":"__call__","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"launch\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"compilation","pid":4104992,"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":251,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"benchmark()"},{"line":240,"name":"benchmark","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}"},{"line":169,"name":"_bench","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"return self.do_bench(kernel_call, quantiles=(0.5, 0.2, 0.8))"},{"line":272,"name":"do_bench","filename":"/python/lib/python3.14/site-packages/triton/testing.py","loc":"fn()"},{"line":155,"name":"kernel_call","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"self.fn.run("},{"line":757,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":902,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"2645961e93d089721e51c9760195f3a7cabfac6742babb6be3a4dbc4331529eb","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"matmul_kernel","num_ctas":1,"num_stages":1,"num_warps":1,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":1536,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[["tt.divisibility",16]],"(5,)":[["tt.divisibility",16]],"(6,)":[["tt.divisibility",16]],"(7,)":[],"(8,)":[["tt.divisibility",16]],"(9,)":[],"(10,)":[["tt.divisibility",16]],"(11,)":[],"(12,)":[],"(13,)":[],"(14,)":[],"(15,)":[],"(16,)":[]},"src_cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","src_constants":{"(7,)":1,"(9,)":1,"(11,)":1,"(12,)":32,"(13,)":16,"(14,)":16,"(15,)":1,"(16,)":null},"times":{"ir_initialization":1079,"lowering_stages":[],"store_results":0}},"file_path":{"matmul_kernel.source":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.source","matmul_kernel.ttir":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.ttir","matmul_kernel.ttgir":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.ttgir","matmul_kernel.llir":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.llir","matmul_kernel.ptx":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.ptx","matmul_kernel.cubin":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.cubin","matmul_kernel.json":"/home/user/.triton/cache/EZCZMHUT2CEXEHSRZF3ADFPTU7FL7LDHIK5LW27DUTN4IMYVFHVQ/matmul_kernel.json"},"file_content":{"matmul_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:5)\n#loc47 = loc(\"a\"(#loc))\n#loc48 = loc(\"b\"(#loc))\n#loc49 = loc(\"c\"(#loc))\n#loc50 = loc(\"M\"(#loc))\n#loc51 = loc(\"N\"(#loc))\n#loc52 = loc(\"K\"(#loc))\n#loc53 = loc(\"stride_am\"(#loc))\n#loc54 = loc(\"stride_bk\"(#loc))\n#loc55 = loc(\"stride_cm\"(#loc))\nmodule {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %num_pid_m = arith.constant 31 : i32 loc(#loc99)\n %cst = arith.constant dense<0.000000e+00> : tensor<16x16xf16> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<32x16xf16> loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc3)\n %cst_1 = arith.constant dense<16> : tensor<32x16xi32> loc(#loc1)\n %cst_2 = arith.constant dense<0.000000e+00> : tensor<32x16xf32> loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c32_i32 = arith.constant 32 : i32 loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc57)\n %num_pid_m_3 = arith.addi %M, %num_pid_m : i32 loc(#loc100)\n %num_pid_m_4 = arith.divsi %num_pid_m_3, %c32_i32 : i32 loc(#loc101)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc102)\n %num_pid_n_5 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc103)\n %group_id = arith.divsi %pid, %num_pid_n_5 : i32 loc(#loc59)\n %group_size = arith.subi %num_pid_m_4, %group_id : i32 loc(#loc60)\n %group_size_6 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc61)\n %pid_m = arith.remsi %pid, %group_size_6 : i32 loc(#loc62)\n %pid_m_7 = arith.addi %group_id, %pid_m : i32 loc(#loc63)\n %pid_n = arith.remsi %pid, %num_pid_n_5 : i32 loc(#loc64)\n %pid_n_8 = arith.divsi %pid_n, %group_size_6 : i32 loc(#loc65)\n %offs_am = arith.muli %pid_m_7, %c32_i32 : i32 loc(#loc66)\n %offs_am_9 = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32> loc(#loc67)\n %offs_am_10 = tt.splat %offs_am : i32 -> tensor<32xi32> loc(#loc66)\n %offs_am_11 = arith.addi %offs_am_10, %offs_am_9 : tensor<32xi32> loc(#loc66)\n %offs_am_12 = tt.splat %M : i32 -> tensor<32xi32> loc(#loc68)\n %offs_am_13 = arith.remsi %offs_am_11, %offs_am_12 : tensor<32xi32> loc(#loc68)\n %offs_bn = arith.muli %pid_n_8, %c16_i32 : i32 loc(#loc69)\n %offs_bn_14 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32> loc(#loc70)\n %offs_bn_15 = tt.splat %offs_bn : i32 -> tensor<16xi32> loc(#loc69)\n %offs_bn_16 = arith.addi %offs_bn_15, %offs_bn_14 : tensor<16xi32> loc(#loc69)\n %offs_bn_17 = tt.splat %N : i32 -> tensor<16xi32> loc(#loc71)\n %offs_bn_18 = arith.remsi %offs_bn_16, %offs_bn_17 : tensor<16xi32> loc(#loc71)\n %a_ptrs = tt.expand_dims %offs_am_13 {axis = 1 : i32} : tensor<32xi32> -> tensor<32x1xi32> loc(#loc72)\n %a_ptrs_19 = tt.splat %stride_am : i32 -> tensor<32x1xi32> loc(#loc72)\n %a_ptrs_20 = arith.muli %a_ptrs, %a_ptrs_19 : tensor<32x1xi32> loc(#loc72)\n %a_ptrs_21 = tt.expand_dims %offs_bn_14 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc73)\n %a_ptrs_22 = tt.broadcast %a_ptrs_20 : tensor<32x1xi32> -> tensor<32x16xi32> loc(#loc72)\n %a_ptrs_23 = tt.broadcast %a_ptrs_21 : tensor<1x16xi32> -> tensor<32x16xi32> loc(#loc72)\n %a_ptrs_24 = arith.addi %a_ptrs_22, %a_ptrs_23 : tensor<32x16xi32> loc(#loc72)\n %a_ptrs_25 = tt.splat %a : !tt.ptr -> tensor<32x16x!tt.ptr> loc(#loc74)\n %a_ptrs_26 = tt.addptr %a_ptrs_25, %a_ptrs_24 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc74)\n %b_ptrs = tt.expand_dims %offs_bn_14 {axis = 1 : i32} : tensor<16xi32> -> tensor<16x1xi32> loc(#loc75)\n %b_ptrs_27 = tt.splat %stride_bk : i32 -> tensor<16x1xi32> loc(#loc75)\n %b_ptrs_28 = arith.muli %b_ptrs, %b_ptrs_27 : tensor<16x1xi32> loc(#loc75)\n %b_ptrs_29 = tt.expand_dims %offs_bn_18 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc76)\n %b_ptrs_30 = tt.broadcast %b_ptrs_28 : tensor<16x1xi32> -> tensor<16x16xi32> loc(#loc75)\n %b_ptrs_31 = tt.broadcast %b_ptrs_29 : tensor<1x16xi32> -> tensor<16x16xi32> loc(#loc75)\n %b_ptrs_32 = arith.addi %b_ptrs_30, %b_ptrs_31 : tensor<16x16xi32> loc(#loc75)\n %b_ptrs_33 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr> loc(#loc77)\n %b_ptrs_34 = tt.addptr %b_ptrs_33, %b_ptrs_32 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc77)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc78)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc79)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%a_ptrs_49 = %a_ptrs_26, %b_ptrs_50 = %b_ptrs_34, %accumulator_51 = %cst_2) -> (tensor<32x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<32x16xf32>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc81)\n %a_block_52 = arith.subi %K, %a_block : i32 loc(#loc82)\n %a_block_53 = tt.splat %a_block_52 : i32 -> tensor<1x16xi32> loc(#loc83)\n %a_block_54 = arith.cmpi slt, %a_ptrs_21, %a_block_53 : tensor<1x16xi32> loc(#loc83)\n %a_block_55 = tt.broadcast %a_block_54 : tensor<1x16xi1> -> tensor<32x16xi1> loc(#loc84)\n %a_block_56 = tt.load %a_ptrs_49, %a_block_55, %cst_0 : tensor<32x16x!tt.ptr> loc(#loc84)\n %b_block = tt.splat %a_block_52 : i32 -> tensor<16x1xi32> loc(#loc85)\n %b_block_57 = arith.cmpi slt, %b_ptrs, %b_block : tensor<16x1xi32> loc(#loc85)\n %b_block_58 = tt.broadcast %b_block_57 : tensor<16x1xi1> -> tensor<16x16xi1> loc(#loc86)\n %b_block_59 = tt.load %b_ptrs_50, %b_block_58, %cst : tensor<16x16x!tt.ptr> loc(#loc86)\n %accumulator_60 = tt.dot %a_block_56, %b_block_59, %accumulator_51, inputPrecision = tf32 : tensor<32x16xf16> * tensor<16x16xf16> -> tensor<32x16xf32> loc(#loc87)\n %a_ptrs_61 = tt.addptr %a_ptrs_49, %cst_1 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc88)\n %b_ptrs_62 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc89)\n %b_ptrs_63 = tt.splat %b_ptrs_62 : i32 -> tensor<16x16xi32> loc(#loc90)\n %b_ptrs_64 = tt.addptr %b_ptrs_50, %b_ptrs_63 : tensor<16x16x!tt.ptr>, tensor<16x16xi32> loc(#loc90)\n scf.yield %a_ptrs_61, %b_ptrs_64, %accumulator_60 : tensor<32x16x!tt.ptr>, tensor<16x16x!tt.ptr>, tensor<32x16xf32> loc(#loc3)\n } loc(#loc105)\n %c_block = arith.truncf %accumulator#2 : tensor<32x16xf32> to tensor<32x16xf16> loc(#loc91)\n %c_ptrs = tt.expand_dims %offs_am_11 {axis = 1 : i32} : tensor<32xi32> -> tensor<32x1xi32> loc(#loc92)\n %c_ptrs_35 = tt.splat %stride_cm : i32 -> tensor<32x1xi32> loc(#loc93)\n %c_ptrs_36 = arith.muli %c_ptrs_35, %c_ptrs : tensor<32x1xi32> loc(#loc93)\n %c_ptrs_37 = tt.splat %c : !tt.ptr -> tensor<32x1x!tt.ptr> loc(#loc94)\n %c_ptrs_38 = tt.addptr %c_ptrs_37, %c_ptrs_36 : tensor<32x1x!tt.ptr>, tensor<32x1xi32> loc(#loc94)\n %c_ptrs_39 = tt.expand_dims %offs_bn_16 {axis = 0 : i32} : tensor<16xi32> -> tensor<1x16xi32> loc(#loc95)\n %c_ptrs_40 = tt.broadcast %c_ptrs_38 : tensor<32x1x!tt.ptr> -> tensor<32x16x!tt.ptr> loc(#loc94)\n %c_ptrs_41 = tt.broadcast %c_ptrs_39 : tensor<1x16xi32> -> tensor<32x16xi32> loc(#loc94)\n %c_ptrs_42 = tt.addptr %c_ptrs_40, %c_ptrs_41 : tensor<32x16x!tt.ptr>, tensor<32x16xi32> loc(#loc94)\n %c_mask = tt.splat %M : i32 -> tensor<32x1xi32> loc(#loc96)\n %c_mask_43 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<32x1xi32> loc(#loc96)\n %c_mask_44 = tt.splat %N : i32 -> tensor<1x16xi32> loc(#loc97)\n %c_mask_45 = arith.cmpi slt, %c_ptrs_39, %c_mask_44 : tensor<1x16xi32> loc(#loc97)\n %c_mask_46 = tt.broadcast %c_mask_43 : tensor<32x1xi1> -> tensor<32x16xi1> loc(#loc98)\n %c_mask_47 = tt.broadcast %c_mask_45 : tensor<1x16xi1> -> tensor<32x16xi1> loc(#loc98)\n %c_mask_48 = arith.andi %c_mask_46, %c_mask_47 : tensor<32x16xi1> loc(#loc98)\n tt.store %c_ptrs_42, %c_block, %c_mask_48 : tensor<32x16x!tt.ptr> loc(#loc46)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:21)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:9)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:15)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:13)\n#loc6 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:12)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:21)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:20)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:26)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:22)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:32)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:17)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:18)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:17)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:20)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:43)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:19)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:20)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:43)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:19)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:23)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:54)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:23)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:53)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:27)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:52)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:48)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:30)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":329:23)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:30)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":332:23)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:28)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:13)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:23)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:13)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:19)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:34)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:22)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:18)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:65)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:19)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:44)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:18)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:9)\n#loc56 = loc(\"num_pid_m\"(#loc2))\n#loc57 = loc(\"pid\"(#loc4))\n#loc58 = loc(\"num_pid_n\"(#loc7))\n#loc59 = loc(\"group_id\"(#loc8))\n#loc60 = loc(\"group_size\"(#loc9))\n#loc61 = loc(\"group_size\"(#loc10))\n#loc62 = loc(\"pid_m\"(#loc11))\n#loc63 = loc(\"pid_m\"(#loc12))\n#loc64 = loc(\"pid_n\"(#loc13))\n#loc65 = loc(\"pid_n\"(#loc14))\n#loc66 = loc(\"offs_am\"(#loc15))\n#loc67 = loc(\"offs_am\"(#loc16))\n#loc68 = loc(\"offs_am\"(#loc17))\n#loc69 = loc(\"offs_bn\"(#loc18))\n#loc70 = loc(\"offs_bn\"(#loc19))\n#loc71 = loc(\"offs_bn\"(#loc20))\n#loc72 = loc(\"a_ptrs\"(#loc21))\n#loc73 = loc(\"a_ptrs\"(#loc22))\n#loc74 = loc(\"a_ptrs\"(#loc23))\n#loc75 = loc(\"b_ptrs\"(#loc24))\n#loc76 = loc(\"b_ptrs\"(#loc25))\n#loc77 = loc(\"b_ptrs\"(#loc26))\n#loc78 = loc(callsite(#loc5 at #loc27))\n#loc79 = loc(callsite(#loc6 at #loc27))\n#loc80 = loc(\"a_ptrs\"(#loc3))\n#loc81 = loc(\"a_block\"(#loc28))\n#loc82 = loc(\"a_block\"(#loc29))\n#loc83 = loc(\"a_block\"(#loc30))\n#loc84 = loc(\"a_block\"(#loc31))\n#loc85 = loc(\"b_block\"(#loc32))\n#loc86 = loc(\"b_block\"(#loc33))\n#loc87 = loc(\"accumulator\"(#loc34))\n#loc88 = loc(\"a_ptrs\"(#loc35))\n#loc89 = loc(\"b_ptrs\"(#loc36))\n#loc90 = loc(\"b_ptrs\"(#loc37))\n#loc91 = loc(\"c_block\"(#loc38))\n#loc92 = loc(\"c_ptrs\"(#loc39))\n#loc93 = loc(\"c_ptrs\"(#loc40))\n#loc94 = loc(\"c_ptrs\"(#loc41))\n#loc95 = loc(\"c_ptrs\"(#loc42))\n#loc96 = loc(\"c_mask\"(#loc43))\n#loc97 = loc(\"c_mask\"(#loc44))\n#loc98 = loc(\"c_mask\"(#loc45))\n#loc99 = loc(callsite(#loc1 at #loc56))\n#loc100 = loc(callsite(#loc5 at #loc56))\n#loc101 = loc(callsite(#loc6 at #loc56))\n#loc102 = loc(callsite(#loc5 at #loc58))\n#loc103 = loc(callsite(#loc6 at #loc58))\n#loc104 = loc(\"b_ptrs\"(#loc80))\n#loc105 = loc(\"accumulator\"(#loc104))\n","matmul_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1, 8], threadsPerWarp = [16, 2], warpsPerCTA = [1, 1], order = [1, 0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":292:5)\n#mma = #ttg.nvidia_mma<{versionMajor = 2, versionMinor = 0, warpsPerCTA = [1, 1], instrShape = [16, 8]}>\n#shared = #ttg.swizzled_shared<{vec = 8, perPhase = 4, maxPhase = 2, order = [1, 0]}>\n#smem = #ttg.shared_memory\n#loc47 = loc(\"a\"(#loc))\n#loc48 = loc(\"b\"(#loc))\n#loc49 = loc(\"c\"(#loc))\n#loc50 = loc(\"M\"(#loc))\n#loc51 = loc(\"N\"(#loc))\n#loc52 = loc(\"K\"(#loc))\n#loc53 = loc(\"stride_am\"(#loc))\n#loc54 = loc(\"stride_bk\"(#loc))\n#loc55 = loc(\"stride_cm\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 1 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @matmul_kernel(%a: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a\"(#loc)), %b: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b\"(#loc)), %c: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c\"(#loc)), %M: i32 {tt.divisibility = 16 : i32} loc(\"M\"(#loc)), %N: i32 {tt.divisibility = 16 : i32} loc(\"N\"(#loc)), %K: i32 {tt.divisibility = 16 : i32} loc(\"K\"(#loc)), %stride_am: i32 {tt.divisibility = 16 : i32} loc(\"stride_am\"(#loc)), %stride_bk: i32 {tt.divisibility = 16 : i32} loc(\"stride_bk\"(#loc)), %stride_cm: i32 {tt.divisibility = 16 : i32} loc(\"stride_cm\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<32x16xf32, #mma> loc(#loc1)\n %cst_0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #blocked> loc(#loc1)\n %cst_1 = arith.constant dense<0.000000e+00> : tensor<32x16xf16, #blocked> loc(#loc1)\n %c1_i32 = arith.constant 1 : i32 loc(#loc1)\n %c32_i32 = arith.constant 32 : i32 loc(#loc1)\n %c16_i32 = arith.constant 16 : i32 loc(#loc1)\n %c15_i32 = arith.constant 15 : i32 loc(#loc1)\n %c31_i32 = arith.constant 31 : i32 loc(#loc1)\n %c0_i32 = arith.constant 0 : i32 loc(#loc1)\n %cst_2 = arith.constant dense<16> : tensor<32x16xi32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc56)\n %num_pid_m = arith.addi %M, %c31_i32 : i32 loc(#loc99)\n %num_pid_m_3 = arith.divsi %num_pid_m, %c32_i32 : i32 loc(#loc100)\n %num_pid_n = arith.addi %N, %c15_i32 : i32 loc(#loc101)\n %num_pid_n_4 = arith.divsi %num_pid_n, %c16_i32 : i32 loc(#loc102)\n %group_id = arith.divsi %pid, %num_pid_n_4 : i32 loc(#loc59)\n %group_size = arith.subi %num_pid_m_3, %group_id : i32 loc(#loc60)\n %group_size_5 = arith.minsi %group_size, %c1_i32 : i32 loc(#loc61)\n %pid_m = arith.remsi %pid, %group_size_5 : i32 loc(#loc62)\n %pid_m_6 = arith.addi %group_id, %pid_m : i32 loc(#loc63)\n %pid_n = arith.remsi %pid, %num_pid_n_4 : i32 loc(#loc64)\n %pid_n_7 = arith.divsi %pid_n, %group_size_5 : i32 loc(#loc65)\n %offs_am = arith.muli %pid_m_6, %c32_i32 : i32 loc(#loc66)\n %offs_am_8 = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc67)\n %offs_am_9 = tt.splat %offs_am : i32 -> tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc66)\n %offs_am_10 = arith.addi %offs_am_9, %offs_am_8 : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc66)\n %offs_am_11 = tt.splat %M : i32 -> tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc68)\n %offs_am_12 = arith.remsi %offs_am_10, %offs_am_11 : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc68)\n %offs_bn = arith.muli %pid_n_7, %c16_i32 : i32 loc(#loc69)\n %offs_bn_13 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc70)\n %offs_bn_14 = tt.splat %offs_bn : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc69)\n %offs_bn_15 = arith.addi %offs_bn_14, %offs_bn_13 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc69)\n %offs_bn_16 = tt.splat %N : i32 -> tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc71)\n %offs_bn_17 = arith.remsi %offs_bn_15, %offs_bn_16 : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> loc(#loc71)\n %a_ptrs = tt.expand_dims %offs_am_12 {axis = 1 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<32x1xi32, #blocked> loc(#loc72)\n %a_ptrs_18 = tt.splat %stride_am : i32 -> tensor<32x1xi32, #blocked> loc(#loc72)\n %a_ptrs_19 = arith.muli %a_ptrs, %a_ptrs_18 : tensor<32x1xi32, #blocked> loc(#loc72)\n %a_ptrs_20 = tt.expand_dims %offs_bn_13 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc73)\n %a_ptrs_21 = tt.broadcast %a_ptrs_19 : tensor<32x1xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc72)\n %a_ptrs_22 = tt.broadcast %a_ptrs_20 : tensor<1x16xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc72)\n %a_ptrs_23 = arith.addi %a_ptrs_21, %a_ptrs_22 : tensor<32x16xi32, #blocked> loc(#loc72)\n %a_ptrs_24 = tt.splat %a : !tt.ptr -> tensor<32x16x!tt.ptr, #blocked> loc(#loc74)\n %a_ptrs_25 = tt.addptr %a_ptrs_24, %a_ptrs_23 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc74)\n %b_ptrs = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> loc(#loc75)\n %b_ptrs_26 = tt.expand_dims %b_ptrs {axis = 1 : i32} : tensor<16xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<16x1xi32, #blocked> loc(#loc75)\n %b_ptrs_27 = tt.splat %stride_bk : i32 -> tensor<16x1xi32, #blocked> loc(#loc75)\n %b_ptrs_28 = arith.muli %b_ptrs_26, %b_ptrs_27 : tensor<16x1xi32, #blocked> loc(#loc75)\n %b_ptrs_29 = tt.expand_dims %offs_bn_17 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc76)\n %b_ptrs_30 = tt.broadcast %b_ptrs_28 : tensor<16x1xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc75)\n %b_ptrs_31 = tt.broadcast %b_ptrs_29 : tensor<1x16xi32, #blocked> -> tensor<16x16xi32, #blocked> loc(#loc75)\n %b_ptrs_32 = arith.addi %b_ptrs_30, %b_ptrs_31 : tensor<16x16xi32, #blocked> loc(#loc75)\n %b_ptrs_33 = tt.splat %b : !tt.ptr -> tensor<16x16x!tt.ptr, #blocked> loc(#loc77)\n %b_ptrs_34 = tt.addptr %b_ptrs_33, %b_ptrs_32 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc77)\n %0 = arith.addi %K, %c15_i32 : i32 loc(#loc78)\n %1 = arith.divsi %0, %c16_i32 : i32 loc(#loc79)\n %b_ptrs_35 = arith.muli %stride_bk, %c16_i32 : i32 loc(#loc80)\n %b_ptrs_36 = tt.splat %b_ptrs_35 : i32 -> tensor<16x16xi32, #blocked> loc(#loc81)\n %accumulator:3 = scf.for %k = %c0_i32 to %1 step %c1_i32 iter_args(%accumulator_51 = %cst, %a_ptrs_52 = %a_ptrs_25, %b_ptrs_53 = %b_ptrs_34) -> (tensor<32x16xf32, #mma>, tensor<32x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked>) : i32 {\n %a_block = arith.muli %k, %c16_i32 : i32 loc(#loc83)\n %a_block_54 = arith.subi %K, %a_block : i32 loc(#loc84)\n %a_block_55 = tt.splat %a_block_54 : i32 -> tensor<1x16xi32, #blocked> loc(#loc85)\n %a_block_56 = arith.cmpi slt, %a_ptrs_20, %a_block_55 : tensor<1x16xi32, #blocked> loc(#loc85)\n %a_block_57 = tt.broadcast %a_block_56 : tensor<1x16xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc86)\n %a_block_58 = tt.load %a_ptrs_52, %a_block_57, %cst_1 : tensor<32x16x!tt.ptr, #blocked> loc(#loc86)\n %a_block_59 = ttg.local_alloc %a_block_58 : (tensor<32x16xf16, #blocked>) -> !ttg.memdesc<32x16xf16, #shared, #smem> loc(#loc86)\n %b_block = tt.splat %a_block_54 : i32 -> tensor<16x1xi32, #blocked> loc(#loc87)\n %b_block_60 = arith.cmpi slt, %b_ptrs_26, %b_block : tensor<16x1xi32, #blocked> loc(#loc87)\n %b_block_61 = tt.broadcast %b_block_60 : tensor<16x1xi1, #blocked> -> tensor<16x16xi1, #blocked> loc(#loc88)\n %b_block_62 = tt.load %b_ptrs_53, %b_block_61, %cst_0 : tensor<16x16x!tt.ptr, #blocked> loc(#loc88)\n %b_block_63 = ttg.local_alloc %b_block_62 : (tensor<16x16xf16, #blocked>) -> !ttg.memdesc<16x16xf16, #shared, #smem> loc(#loc88)\n %a_block_64 = ttg.local_load %a_block_59 : !ttg.memdesc<32x16xf16, #shared, #smem> -> tensor<32x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> loc(#loc86)\n %b_block_65 = ttg.local_load %b_block_63 : !ttg.memdesc<16x16xf16, #shared, #smem> -> tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> loc(#loc88)\n %accumulator_66 = tt.dot %a_block_64, %b_block_65, %accumulator_51, inputPrecision = tf32 : tensor<32x16xf16, #ttg.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>> * tensor<16x16xf16, #ttg.dot_op<{opIdx = 1, parent = #mma, kWidth = 2}>> -> tensor<32x16xf32, #mma> loc(#loc89)\n %a_ptrs_67 = tt.addptr %a_ptrs_52, %cst_2 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc90)\n %b_ptrs_68 = tt.addptr %b_ptrs_53, %b_ptrs_36 : tensor<16x16x!tt.ptr, #blocked>, tensor<16x16xi32, #blocked> loc(#loc81)\n scf.yield %accumulator_66, %a_ptrs_67, %b_ptrs_68 : tensor<32x16xf32, #mma>, tensor<32x16x!tt.ptr, #blocked>, tensor<16x16x!tt.ptr, #blocked> loc(#loc29)\n } loc(#loc104)\n %c_block = arith.truncf %accumulator#0 : tensor<32x16xf32, #mma> to tensor<32x16xf16, #mma> loc(#loc91)\n %c_ptrs = tt.expand_dims %offs_am_10 {axis = 1 : i32} : tensor<32xi32, #ttg.slice<{dim = 1, parent = #blocked}>> -> tensor<32x1xi32, #blocked> loc(#loc92)\n %c_ptrs_37 = tt.splat %stride_cm : i32 -> tensor<32x1xi32, #blocked> loc(#loc93)\n %c_ptrs_38 = arith.muli %c_ptrs_37, %c_ptrs : tensor<32x1xi32, #blocked> loc(#loc93)\n %c_ptrs_39 = tt.splat %c : !tt.ptr -> tensor<32x1x!tt.ptr, #blocked> loc(#loc94)\n %c_ptrs_40 = tt.addptr %c_ptrs_39, %c_ptrs_38 : tensor<32x1x!tt.ptr, #blocked>, tensor<32x1xi32, #blocked> loc(#loc94)\n %c_ptrs_41 = tt.expand_dims %offs_bn_15 {axis = 0 : i32} : tensor<16xi32, #ttg.slice<{dim = 0, parent = #blocked}>> -> tensor<1x16xi32, #blocked> loc(#loc95)\n %c_ptrs_42 = tt.broadcast %c_ptrs_40 : tensor<32x1x!tt.ptr, #blocked> -> tensor<32x16x!tt.ptr, #blocked> loc(#loc94)\n %c_ptrs_43 = tt.broadcast %c_ptrs_41 : tensor<1x16xi32, #blocked> -> tensor<32x16xi32, #blocked> loc(#loc94)\n %c_ptrs_44 = tt.addptr %c_ptrs_42, %c_ptrs_43 : tensor<32x16x!tt.ptr, #blocked>, tensor<32x16xi32, #blocked> loc(#loc94)\n %c_mask = tt.splat %M : i32 -> tensor<32x1xi32, #blocked> loc(#loc96)\n %c_mask_45 = arith.cmpi slt, %c_ptrs, %c_mask : tensor<32x1xi32, #blocked> loc(#loc96)\n %c_mask_46 = tt.splat %N : i32 -> tensor<1x16xi32, #blocked> loc(#loc97)\n %c_mask_47 = arith.cmpi slt, %c_ptrs_41, %c_mask_46 : tensor<1x16xi32, #blocked> loc(#loc97)\n %c_mask_48 = tt.broadcast %c_mask_45 : tensor<32x1xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc98)\n %c_mask_49 = tt.broadcast %c_mask_47 : tensor<1x16xi1, #blocked> -> tensor<32x16xi1, #blocked> loc(#loc98)\n %c_mask_50 = arith.andi %c_mask_48, %c_mask_49 : tensor<32x16xi1, #blocked> loc(#loc98)\n %2 = ttg.convert_layout %c_block : tensor<32x16xf16, #mma> -> tensor<32x16xf16, #blocked> loc(#loc46)\n tt.store %c_ptrs_44, %2, %c_mask_50 : tensor<32x16x!tt.ptr, #blocked> loc(#loc46)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":311:15)\n#loc3 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:13)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":312:21)\n#loc5 = loc(\"/python/lib/python3.14/site-packages/triton/language/standard.py\":43:12)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":313:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":315:20)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:26)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":317:22)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:32)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":318:17)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":319:17)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:20)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:43)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":321:19)\n#loc17 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:20)\n#loc18 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:43)\n#loc19 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":322:19)\n#loc20 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:23)\n#loc21 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:54)\n#loc22 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":324:18)\n#loc23 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:23)\n#loc24 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:53)\n#loc25 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":325:18)\n#loc26 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:27)\n#loc27 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:23)\n#loc28 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":337:13)\n#loc29 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":328:9)\n#loc30 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:52)\n#loc31 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:48)\n#loc32 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":330:30)\n#loc33 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":329:23)\n#loc34 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":333:30)\n#loc35 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":332:23)\n#loc36 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":335:28)\n#loc37 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":336:13)\n#loc38 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":338:19)\n#loc39 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:34)\n#loc40 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:22)\n#loc41 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:18)\n#loc42 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":342:65)\n#loc43 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:19)\n#loc44 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:44)\n#loc45 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":343:18)\n#loc46 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":344:9)\n#loc56 = loc(\"pid\"(#loc2))\n#loc57 = loc(\"num_pid_m\"(#loc4))\n#loc58 = loc(\"num_pid_n\"(#loc6))\n#loc59 = loc(\"group_id\"(#loc7))\n#loc60 = loc(\"group_size\"(#loc8))\n#loc61 = loc(\"group_size\"(#loc9))\n#loc62 = loc(\"pid_m\"(#loc10))\n#loc63 = loc(\"pid_m\"(#loc11))\n#loc64 = loc(\"pid_n\"(#loc12))\n#loc65 = loc(\"pid_n\"(#loc13))\n#loc66 = loc(\"offs_am\"(#loc14))\n#loc67 = loc(\"offs_am\"(#loc15))\n#loc68 = loc(\"offs_am\"(#loc16))\n#loc69 = loc(\"offs_bn\"(#loc17))\n#loc70 = loc(\"offs_bn\"(#loc18))\n#loc71 = loc(\"offs_bn\"(#loc19))\n#loc72 = loc(\"a_ptrs\"(#loc20))\n#loc73 = loc(\"a_ptrs\"(#loc21))\n#loc74 = loc(\"a_ptrs\"(#loc22))\n#loc75 = loc(\"b_ptrs\"(#loc23))\n#loc76 = loc(\"b_ptrs\"(#loc24))\n#loc77 = loc(\"b_ptrs\"(#loc25))\n#loc78 = loc(callsite(#loc3 at #loc26))\n#loc79 = loc(callsite(#loc5 at #loc26))\n#loc80 = loc(\"b_ptrs\"(#loc27))\n#loc81 = loc(\"b_ptrs\"(#loc28))\n#loc82 = loc(\"a_ptrs\"(#loc29))\n#loc83 = loc(\"a_block\"(#loc30))\n#loc84 = loc(\"a_block\"(#loc31))\n#loc85 = loc(\"a_block\"(#loc32))\n#loc86 = loc(\"a_block\"(#loc33))\n#loc87 = loc(\"b_block\"(#loc34))\n#loc88 = loc(\"b_block\"(#loc35))\n#loc89 = loc(\"accumulator\"(#loc36))\n#loc90 = loc(\"a_ptrs\"(#loc37))\n#loc91 = loc(\"c_block\"(#loc38))\n#loc92 = loc(\"c_ptrs\"(#loc39))\n#loc93 = loc(\"c_ptrs\"(#loc40))\n#loc94 = loc(\"c_ptrs\"(#loc41))\n#loc95 = loc(\"c_ptrs\"(#loc42))\n#loc96 = loc(\"c_mask\"(#loc43))\n#loc97 = loc(\"c_mask\"(#loc44))\n#loc98 = loc(\"c_mask\"(#loc45))\n#loc99 = loc(callsite(#loc3 at #loc57))\n#loc100 = loc(callsite(#loc5 at #loc57))\n#loc101 = loc(callsite(#loc3 at #loc58))\n#loc102 = loc(callsite(#loc5 at #loc58))\n#loc103 = loc(\"b_ptrs\"(#loc82))\n#loc104 = loc(\"accumulator\"(#loc103))\n","matmul_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n@global_smem = external addrspace(3) global [0 x i8], align 16\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @matmul_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, i32 %3, i32 %4, i32 %5, i32 %6, i32 %7, i32 %8, ptr addrspace(1) readnone captures(none) %9, ptr addrspace(1) readnone captures(none) %10) local_unnamed_addr #0 !dbg !4 {\n %12 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %13 = add i32 %3, 31, !dbg !13\n %14 = sdiv i32 %13, 32, !dbg !18\n %15 = add i32 %4, 15, !dbg !19\n %16 = sdiv i32 %15, 16, !dbg !21\n %.frozen = freeze i32 %16, !dbg !22\n %17 = sdiv i32 %12, %.frozen, !dbg !22\n %18 = sub i32 %14, %17, !dbg !23\n %19 = tail call i32 @llvm.smin.i32(i32 %18, i32 1), !dbg !24\n %20 = srem i32 %12, %19, !dbg !25\n %21 = add i32 %20, %17, !dbg !26\n %22 = mul i32 %17, %.frozen, !dbg !27\n %.decomposed = sub i32 %12, %22, !dbg !27\n %23 = sdiv i32 %.decomposed, %19, !dbg !28\n %24 = shl i32 %21, 5, !dbg !29\n %25 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !30\n %26 = lshr i32 %25, 1, !dbg !30\n %27 = and i32 %26, 15, !dbg !30\n %28 = or disjoint i32 %24, %27, !dbg !29\n %29 = or disjoint i32 %28, 16, !dbg !29\n %30 = shl nsw i32 %23, 4, !dbg !31\n %31 = and i32 %25, 1, !dbg !32\n %32 = shl nuw nsw i32 %31, 3, !dbg !32\n %33 = or disjoint i32 %30, %32, !dbg !31\n %34 = add i32 %5, 15, !dbg !33\n %35 = sdiv i32 %34, 16, !dbg !35\n %36 = icmp sgt i32 %34, 15, !dbg !36\n br i1 %36, label %.lr.ph, label %.._crit_edge_crit_edge, !dbg !36\n\n.._crit_edge_crit_edge: ; preds = %11\n %.pre = shl nuw nsw i32 %25, 4, !dbg !37\n %.pre109 = and i32 %25, 4, !dbg !37\n %.pre111 = and i32 %25, 8, !dbg !37\n br label %._crit_edge, !dbg !36\n\n.lr.ph: ; preds = %11\n %37 = shl i32 %7, 4, !dbg !38\n %38 = srem i32 %33, %4, !dbg !39\n %39 = mul i32 %7, %27, !dbg !40\n %40 = add i32 %38, %39, !dbg !40\n %41 = sext i32 %40 to i64, !dbg !41\n %42 = getelementptr [2 x i8], ptr addrspace(1) %1, i64 %41, !dbg !41\n %43 = srem i32 %29, %3, !dbg !42\n %44 = mul i32 %43, %6, !dbg !43\n %45 = add i32 %44, %32, !dbg !43\n %46 = sext i32 %45 to i64, !dbg !44\n %47 = getelementptr [2 x i8], ptr addrspace(1) %0, i64 %46, !dbg !44\n %48 = srem i32 %28, %3, !dbg !42\n %49 = mul i32 %48, %6, !dbg !43\n %50 = add i32 %49, %32, !dbg !43\n %51 = sext i32 %50 to i64, !dbg !44\n %52 = getelementptr [2 x i8], ptr addrspace(1) %0, i64 %51, !dbg !44\n %53 = shl nuw nsw i32 %25, 4\n %54 = and i32 %53, 368\n %55 = and i32 %25, 8\n %56 = icmp eq i32 %55, 0\n %57 = select i1 %56, i32 0, i32 144\n %58 = xor i32 %57, %54\n %59 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %58\n %60 = getelementptr inbounds nuw i8, ptr addrspace(3) %59, i32 512\n %61 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 1024), i32 %58\n %62 = shl nuw nsw i32 %25, 5\n %63 = and i32 %62, 352\n %64 = and i32 %25, 4\n %65 = icmp eq i32 %64, 0\n %66 = select i1 %65, i32 0, i32 144\n %67 = and i32 %25, 16\n %68 = or disjoint i32 %66, %63\n %69 = xor i32 %68, %67\n %70 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %69\n %71 = getelementptr inbounds nuw i8, ptr addrspace(3) %70, i32 512\n %72 = xor i32 %66, %67\n %73 = getelementptr inbounds nuw i8, ptr addrspace(3) getelementptr (i8, ptr addrspace(3) @global_smem, i32 1024), i32 %63\n %74 = getelementptr inbounds nuw i8, ptr addrspace(3) %73, i32 %72\n %75 = sext i32 %37 to i64\n br label %76, !dbg !36\n\n76: ; preds = %.lr.ph, %76\n %.pn47107 = phi ptr addrspace(1) [ %42, %.lr.ph ], [ %150, %76 ]\n %.pn15106 = phi ptr addrspace(1) [ %47, %.lr.ph ], [ %149, %76 ]\n %.pn31105 = phi ptr addrspace(1) [ %52, %.lr.ph ], [ %148, %76 ]\n %77 = phi float [ 0.000000e+00, %.lr.ph ], [ %129, %76 ]\n %78 = phi float [ 0.000000e+00, %.lr.ph ], [ %130, %76 ]\n %79 = phi float [ 0.000000e+00, %.lr.ph ], [ %131, %76 ]\n %80 = phi float [ 0.000000e+00, %.lr.ph ], [ %132, %76 ]\n %81 = phi float [ 0.000000e+00, %.lr.ph ], [ %134, %76 ]\n %82 = phi float [ 0.000000e+00, %.lr.ph ], [ %135, %76 ]\n %83 = phi float [ 0.000000e+00, %.lr.ph ], [ %136, %76 ]\n %84 = phi float [ 0.000000e+00, %.lr.ph ], [ %137, %76 ]\n %85 = phi float [ 0.000000e+00, %.lr.ph ], [ %139, %76 ]\n %86 = phi float [ 0.000000e+00, %.lr.ph ], [ %140, %76 ]\n %87 = phi float [ 0.000000e+00, %.lr.ph ], [ %141, %76 ]\n %88 = phi float [ 0.000000e+00, %.lr.ph ], [ %142, %76 ]\n %89 = phi float [ 0.000000e+00, %.lr.ph ], [ %144, %76 ]\n %90 = phi float [ 0.000000e+00, %.lr.ph ], [ %145, %76 ]\n %91 = phi float [ 0.000000e+00, %.lr.ph ], [ %146, %76 ]\n %92 = phi float [ 0.000000e+00, %.lr.ph ], [ %147, %76 ]\n %93 = phi i32 [ 0, %.lr.ph ], [ %151, %76 ]\n %94 = shl i32 %93, 4, !dbg !45\n %95 = sub i32 %5, %94, !dbg !46\n %96 = icmp slt i32 %32, %95, !dbg !47\n %97 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn31105, i1 %96) #6, !dbg !48\n %98 = extractvalue { i32, i32, i32, i32 } %97, 0, !dbg !48\n %99 = extractvalue { i32, i32, i32, i32 } %97, 1, !dbg !48\n %100 = extractvalue { i32, i32, i32, i32 } %97, 2, !dbg !48\n %101 = extractvalue { i32, i32, i32, i32 } %97, 3, !dbg !48\n %102 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn15106, i1 %96) #6, !dbg !48\n %103 = extractvalue { i32, i32, i32, i32 } %102, 0, !dbg !48\n %104 = extractvalue { i32, i32, i32, i32 } %102, 1, !dbg !48\n %105 = extractvalue { i32, i32, i32, i32 } %102, 2, !dbg !48\n %106 = extractvalue { i32, i32, i32, i32 } %102, 3, !dbg !48\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !48\n tail call void asm sideeffect \"st.shared::cta.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %59, i32 %98, i32 %99, i32 %100, i32 %101) #6, !dbg !48\n tail call void asm sideeffect \"st.shared::cta.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) nonnull %60, i32 %103, i32 %104, i32 %105, i32 %106) #6, !dbg !48\n %107 = icmp slt i32 %27, %95, !dbg !49\n %108 = tail call { i32, i32, i32, i32 } asm sideeffect \"mov.u32 $0, $4;\\0A\\09mov.u32 $1, $5;\\0A\\09mov.u32 $2, $6;\\0A\\09mov.u32 $3, $7;\\0A\\09@$9 ld.global.v4.b32 { $0, $1, $2, $3 }, [ $8 + 0 ];\", \"=r,=r,=r,=r,r,r,r,r,l,b\"(i32 0, i32 0, i32 0, i32 0, ptr addrspace(1) %.pn47107, i1 %107) #6, !dbg !50\n %109 = extractvalue { i32, i32, i32, i32 } %108, 0, !dbg !50\n %110 = extractvalue { i32, i32, i32, i32 } %108, 1, !dbg !50\n %111 = extractvalue { i32, i32, i32, i32 } %108, 2, !dbg !50\n %112 = extractvalue { i32, i32, i32, i32 } %108, 3, !dbg !50\n tail call void asm sideeffect \"st.shared::cta.v4.b32 [ $0 + 0 ], { $1, $2, $3, $4 };\", \"r,r,r,r,r\"(ptr addrspace(3) %61, i32 %109, i32 %110, i32 %111, i32 %112) #6, !dbg !50\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !48\n %113 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %70), !dbg !48\n %114 = extractvalue { i32, i32, i32, i32 } %113, 0, !dbg !48\n %115 = extractvalue { i32, i32, i32, i32 } %113, 1, !dbg !48\n %116 = extractvalue { i32, i32, i32, i32 } %113, 2, !dbg !48\n %117 = extractvalue { i32, i32, i32, i32 } %113, 3, !dbg !48\n %118 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) nonnull %71), !dbg !48\n %119 = extractvalue { i32, i32, i32, i32 } %118, 0, !dbg !48\n %120 = extractvalue { i32, i32, i32, i32 } %118, 1, !dbg !48\n %121 = extractvalue { i32, i32, i32, i32 } %118, 2, !dbg !48\n %122 = extractvalue { i32, i32, i32, i32 } %118, 3, !dbg !48\n %123 = tail call { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) %74), !dbg !50\n %124 = extractvalue { i32, i32, i32, i32 } %123, 0, !dbg !50\n %125 = extractvalue { i32, i32, i32, i32 } %123, 1, !dbg !50\n %126 = extractvalue { i32, i32, i32, i32 } %123, 2, !dbg !50\n %127 = extractvalue { i32, i32, i32, i32 } %123, 3, !dbg !50\n %128 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %77, float %78, float %79, float %80, i32 %114, i32 %115, i32 %116, i32 %117, i32 %124, i32 %125) #6, !dbg !51\n %129 = extractvalue { float, float, float, float } %128, 0, !dbg !51\n %130 = extractvalue { float, float, float, float } %128, 1, !dbg !51\n %131 = extractvalue { float, float, float, float } %128, 2, !dbg !51\n %132 = extractvalue { float, float, float, float } %128, 3, !dbg !51\n %133 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %81, float %82, float %83, float %84, i32 %114, i32 %115, i32 %116, i32 %117, i32 %126, i32 %127) #6, !dbg !51\n %134 = extractvalue { float, float, float, float } %133, 0, !dbg !51\n %135 = extractvalue { float, float, float, float } %133, 1, !dbg !51\n %136 = extractvalue { float, float, float, float } %133, 2, !dbg !51\n %137 = extractvalue { float, float, float, float } %133, 3, !dbg !51\n %138 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %85, float %86, float %87, float %88, i32 %119, i32 %120, i32 %121, i32 %122, i32 %124, i32 %125) #6, !dbg !51\n %139 = extractvalue { float, float, float, float } %138, 0, !dbg !51\n %140 = extractvalue { float, float, float, float } %138, 1, !dbg !51\n %141 = extractvalue { float, float, float, float } %138, 2, !dbg !51\n %142 = extractvalue { float, float, float, float } %138, 3, !dbg !51\n %143 = tail call { float, float, float, float } asm sideeffect \"mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { $0, $1, $2, $3 }, { $8, $9, $10, $11 }, { $12, $13 }, { $4, $5, $6, $7 };\", \"=f,=f,=f,=f,0,1,2,3,r,r,r,r,r,r\"(float %89, float %90, float %91, float %92, i32 %119, i32 %120, i32 %121, i32 %122, i32 %126, i32 %127) #6, !dbg !51\n %144 = extractvalue { float, float, float, float } %143, 0, !dbg !51\n %145 = extractvalue { float, float, float, float } %143, 1, !dbg !51\n %146 = extractvalue { float, float, float, float } %143, 2, !dbg !51\n %147 = extractvalue { float, float, float, float } %143, 3, !dbg !51\n %148 = getelementptr i8, ptr addrspace(1) %.pn31105, i64 32, !dbg !52\n %149 = getelementptr i8, ptr addrspace(1) %.pn15106, i64 32, !dbg !52\n %150 = getelementptr [2 x i8], ptr addrspace(1) %.pn47107, i64 %75, !dbg !53\n %151 = add nuw nsw i32 %93, 1, !dbg !36\n %exitcond.not = icmp eq i32 %151, %35, !dbg !36\n br i1 %exitcond.not, label %._crit_edge.loopexit, label %76, !dbg !36\n\n._crit_edge.loopexit: ; preds = %76\n %152 = insertelement <16 x float> poison, float %129, i64 0, !dbg !54\n %153 = insertelement <16 x float> %152, float %130, i64 1, !dbg !54\n %154 = insertelement <16 x float> %153, float %131, i64 2, !dbg !54\n %155 = insertelement <16 x float> %154, float %132, i64 3, !dbg !54\n %156 = insertelement <16 x float> %155, float %134, i64 4, !dbg !54\n %157 = insertelement <16 x float> %156, float %135, i64 5, !dbg !54\n %158 = insertelement <16 x float> %157, float %136, i64 6, !dbg !54\n %159 = insertelement <16 x float> %158, float %137, i64 7, !dbg !54\n %160 = insertelement <16 x float> %159, float %139, i64 8, !dbg !54\n %161 = insertelement <16 x float> %160, float %140, i64 9, !dbg !54\n %162 = insertelement <16 x float> %161, float %141, i64 10, !dbg !54\n %163 = insertelement <16 x float> %162, float %142, i64 11, !dbg !54\n %164 = insertelement <16 x float> %163, float %144, i64 12, !dbg !54\n %165 = insertelement <16 x float> %164, float %145, i64 13, !dbg !54\n %166 = insertelement <16 x float> %165, float %146, i64 14, !dbg !54\n %167 = insertelement <16 x float> %166, float %147, i64 15, !dbg !54\n %168 = fptrunc <16 x float> %167 to <16 x half>, !dbg !54\n %169 = bitcast <16 x half> %168 to <8 x i32>, !dbg !37\n br label %._crit_edge, !dbg !54\n\n._crit_edge: ; preds = %._crit_edge.loopexit, %.._crit_edge_crit_edge\n %.pre-phi112 = phi i32 [ %.pre111, %.._crit_edge_crit_edge ], [ %55, %._crit_edge.loopexit ], !dbg !37\n %.pre-phi110 = phi i32 [ %.pre109, %.._crit_edge_crit_edge ], [ %64, %._crit_edge.loopexit ], !dbg !37\n %.pre-phi = phi i32 [ %.pre, %.._crit_edge_crit_edge ], [ %53, %._crit_edge.loopexit ], !dbg !37\n %.bc142 = phi <8 x i32> [ zeroinitializer, %.._crit_edge_crit_edge ], [ %169, %._crit_edge.loopexit ], !dbg !55\n %170 = mul i32 %28, %8, !dbg !56\n %171 = mul i32 %8, %29, !dbg !56\n %172 = sext i32 %170 to i64, !dbg !57\n %173 = getelementptr [2 x i8], ptr addrspace(1) %2, i64 %172, !dbg !57\n %174 = sext i32 %171 to i64, !dbg !57\n %175 = getelementptr [2 x i8], ptr addrspace(1) %2, i64 %174, !dbg !57\n %176 = sext i32 %33 to i64, !dbg !57\n %177 = getelementptr [2 x i8], ptr addrspace(1) %173, i64 %176, !dbg !57\n %178 = getelementptr [2 x i8], ptr addrspace(1) %175, i64 %176, !dbg !57\n %179 = icmp slt i32 %28, %3, !dbg !58\n %180 = icmp slt i32 %29, %3, !dbg !58\n %181 = icmp slt i32 %33, %4, !dbg !59\n %182 = and i1 %179, %181, !dbg !60\n %183 = and i1 %180, %181, !dbg !60\n tail call void @llvm.nvvm.barrier.cta.sync.aligned.all(i32 0), !dbg !37\n %184 = and i32 %.pre-phi, 176, !dbg !37\n %185 = icmp eq i32 %.pre-phi110, 0, !dbg !37\n %186 = select i1 %185, i32 0, i32 320, !dbg !37\n %187 = shl nuw nsw i32 %25, 2, !dbg !37\n %188 = and i32 %187, 64, !dbg !37\n %189 = or disjoint i32 %186, %184, !dbg !37\n %190 = xor i32 %189, %188, !dbg !37\n %191 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %190, !dbg !37\n %.extract129 = extractelement <8 x i32> %.bc142, i64 0, !dbg !37\n %.extract131 = extractelement <8 x i32> %.bc142, i64 1, !dbg !37\n %.extract133 = extractelement <8 x i32> %.bc142, i64 2, !dbg !37\n %.extract135 = extractelement <8 x i32> %.bc142, i64 3, !dbg !37\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %191, i32 %.extract129, i32 %.extract131, i32 %.extract133, i32 %.extract135), !dbg !37\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !37\n %192 = shl nuw nsw i32 %25, 3, !dbg !37\n %193 = and i32 %192, 176, !dbg !37\n %194 = shl nuw nsw i32 %31, 6, !dbg !37\n %195 = icmp eq i32 %.pre-phi112, 0, !dbg !37\n %196 = select i1 %195, i32 0, i32 320, !dbg !37\n %197 = or disjoint i32 %193, %194, !dbg !37\n %198 = xor i32 %197, %196, !dbg !37\n %199 = getelementptr inbounds nuw i8, ptr addrspace(3) @global_smem, i32 %198, !dbg !37\n %200 = load <4 x i32>, ptr addrspace(3) %199, align 16, !dbg !37\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !37\n %.extract137 = extractelement <8 x i32> %.bc142, i64 4, !dbg !37\n %.extract139 = extractelement <8 x i32> %.bc142, i64 5, !dbg !37\n %.extract141 = extractelement <8 x i32> %.bc142, i64 6, !dbg !37\n %.extract143 = extractelement <8 x i32> %.bc142, i64 7, !dbg !37\n tail call void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) %191, i32 %.extract137, i32 %.extract139, i32 %.extract141, i32 %.extract143), !dbg !37\n tail call void @llvm.nvvm.bar.warp.sync(i32 -1), !dbg !37\n %201 = load <4 x i32>, ptr addrspace(3) %199, align 16, !dbg !37\n %.extract = extractelement <4 x i32> %200, i64 0, !dbg !37\n %.extract92 = extractelement <4 x i32> %200, i64 1, !dbg !37\n %.extract94 = extractelement <4 x i32> %200, i64 2, !dbg !37\n %.extract96 = extractelement <4 x i32> %200, i64 3, !dbg !37\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract, i32 %.extract92, i32 %.extract94, i32 %.extract96, ptr addrspace(1) %177, i1 %182) #6, !dbg !37\n %.extract98 = extractelement <4 x i32> %201, i64 0, !dbg !37\n %.extract100 = extractelement <4 x i32> %201, i64 1, !dbg !37\n %.extract102 = extractelement <4 x i32> %201, i64 2, !dbg !37\n %.extract104 = extractelement <4 x i32> %201, i64 3, !dbg !37\n tail call void asm sideeffect \"@$5 st.global.v4.b32 [ $4 + 0 ], { $0, $1, $2, $3 };\", \"r,r,r,r,l,b\"(i32 %.extract98, i32 %.extract100, i32 %.extract102, i32 %.extract104, ptr addrspace(1) %178, i1 %183) #6, !dbg !37\n ret void, !dbg !61\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.smin.i32(i32, i32) #2\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.barrier.cta.sync.aligned.all(i32) #3\n\n; Function Attrs: convergent nocallback nounwind memory(argmem: write)\ndeclare void @llvm.nvvm.stmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) writeonly captures(none), i32, i32, i32, i32) #4\n\n; Function Attrs: convergent nocallback nounwind\ndeclare void @llvm.nvvm.bar.warp.sync(i32) #3\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\n; Function Attrs: convergent nocallback nofree nounwind memory(argmem: read)\ndeclare { i32, i32, i32, i32 } @llvm.nvvm.ldmatrix.sync.aligned.m8n8.x4.trans.b16.p3(ptr addrspace(3) readonly captures(none)) #5\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"32\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { mustprogress nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #3 = { convergent nocallback nounwind }\nattributes #4 = { convergent nocallback nounwind memory(argmem: write) }\nattributes #5 = { convergent nocallback nofree nounwind memory(argmem: read) }\nattributes #6 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"matmul_kernel\", linkageName: \"matmul_kernel\", scope: !1, file: !1, line: 292, type: !5, scopeLine: 292, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !9, !9, !9, !9, !9, !9, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"half\", size: 16, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 311, column: 15, scope: !4)\n!13 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !16)\n!14 = distinct !DILexicalBlockFile(scope: !4, file: !15, discriminator: 0)\n!15 = !DIFile(filename: \"standard.py\", directory: \"/python/lib/python3.14/site-packages/triton/language\")\n!16 = !DILocation(line: 312, column: 21, scope: !17)\n!17 = distinct !DILexicalBlockFile(scope: !4, file: !1, discriminator: 0)\n!18 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !16)\n!19 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !20)\n!20 = !DILocation(line: 313, column: 21, scope: !17)\n!21 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !20)\n!22 = !DILocation(line: 315, column: 20, scope: !4)\n!23 = !DILocation(line: 317, column: 26, scope: !4)\n!24 = !DILocation(line: 317, column: 22, scope: !4)\n!25 = !DILocation(line: 318, column: 32, scope: !4)\n!26 = !DILocation(line: 318, column: 17, scope: !4)\n!27 = !DILocation(line: 319, column: 18, scope: !4)\n!28 = !DILocation(line: 319, column: 17, scope: !4)\n!29 = !DILocation(line: 321, column: 20, scope: !4)\n!30 = !DILocation(line: 321, column: 43, scope: !4)\n!31 = !DILocation(line: 322, column: 20, scope: !4)\n!32 = !DILocation(line: 322, column: 43, scope: !4)\n!33 = !DILocation(line: 43, column: 13, scope: !14, inlinedAt: !34)\n!34 = !DILocation(line: 328, column: 27, scope: !17)\n!35 = !DILocation(line: 43, column: 12, scope: !14, inlinedAt: !34)\n!36 = !DILocation(line: 328, column: 9, scope: !4)\n!37 = !DILocation(line: 344, column: 9, scope: !4)\n!38 = !DILocation(line: 337, column: 23, scope: !4)\n!39 = !DILocation(line: 322, column: 19, scope: !4)\n!40 = !DILocation(line: 325, column: 23, scope: !4)\n!41 = !DILocation(line: 325, column: 18, scope: !4)\n!42 = !DILocation(line: 321, column: 19, scope: !4)\n!43 = !DILocation(line: 324, column: 23, scope: !4)\n!44 = !DILocation(line: 324, column: 18, scope: !4)\n!45 = !DILocation(line: 330, column: 52, scope: !4)\n!46 = !DILocation(line: 330, column: 48, scope: !4)\n!47 = !DILocation(line: 330, column: 30, scope: !4)\n!48 = !DILocation(line: 329, column: 23, scope: !4)\n!49 = !DILocation(line: 333, column: 30, scope: !4)\n!50 = !DILocation(line: 332, column: 23, scope: !4)\n!51 = !DILocation(line: 335, column: 28, scope: !4)\n!52 = !DILocation(line: 336, column: 13, scope: !4)\n!53 = !DILocation(line: 337, column: 13, scope: !4)\n!54 = !DILocation(line: 338, column: 19, scope: !4)\n!55 = !DILocation(line: 327, column: 23, scope: !4)\n!56 = !DILocation(line: 342, column: 22, scope: !4)\n!57 = !DILocation(line: 342, column: 18, scope: !4)\n!58 = !DILocation(line: 343, column: 19, scope: !4)\n!59 = !DILocation(line: 343, column: 44, scope: !4)\n!60 = !DILocation(line: 343, column: 18, scope: !4)\n!61 = !DILocation(line: 292, column: 5, scope: !4)\n","matmul_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.8\n.target sm_90a\n.address_size 64\n\n\t// .globl\tmatmul_kernel // -- Begin function matmul_kernel\n.extern .shared .align 16 .b8 global_smem[];\n // @matmul_kernel\n.visible .entry matmul_kernel(\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_2,\n\t.param .u32 matmul_kernel_param_3,\n\t.param .u32 matmul_kernel_param_4,\n\t.param .u32 matmul_kernel_param_5,\n\t.param .u32 matmul_kernel_param_6,\n\t.param .u32 matmul_kernel_param_7,\n\t.param .u32 matmul_kernel_param_8,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_9,\n\t.param .u64 .ptr .global .align 1 matmul_kernel_param_10\n)\n.reqntid 32\n{\n\t.reg .pred \t%p<12>;\n\t.reg .b32 \t%r<144>;\n\t.reg .b64 \t%rd<13>;\n\t.loc\t1 292 0 // generate_examples.py:292:0\n$L__func_begin0:\n\t.loc\t1 292 0 // generate_examples.py:292:0\n\n// %bb.0:\n\tld.param.b32 \t%r15, [matmul_kernel_param_8];\n\tld.param.b32 \t%r115, [matmul_kernel_param_5];\n\tld.param.b32 \t%r12, [matmul_kernel_param_4];\n\tld.param.b32 \t%r11, [matmul_kernel_param_3];\n\tld.param.b64 \t%rd4, [matmul_kernel_param_2];\n$L__tmp0:\n\t.loc\t1 311 15 // generate_examples.py:311:15\n\tmov.u32 \t%r16, %ctaid.x;\n$L__tmp1:\n\t.loc\t1 312 21 // generate_examples.py:312:21\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 312 21 // standard.py:43:13\n\tadd.s32 \t%r17, %r11, 31;\n\t.loc\t2 43 12, function_name $L__info_string0, inlined_at 1 312 21 // standard.py:43:12\n\tshr.s32 \t%r18, %r17, 31;\n\tshr.u32 \t%r19, %r18, 27;\n\tadd.s32 \t%r20, %r17, %r19;\n\tshr.s32 \t%r21, %r20, 5;\n$L__tmp2:\n\t.loc\t1 313 21 // generate_examples.py:313:21\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 313 21 // standard.py:43:13\n\tadd.s32 \t%r22, %r12, 15;\n\t.loc\t2 43 12, function_name $L__info_string0, inlined_at 1 313 21 // standard.py:43:12\n\tshr.s32 \t%r23, %r22, 31;\n\tshr.u32 \t%r24, %r23, 28;\n\tadd.s32 \t%r25, %r22, %r24;\n\tshr.s32 \t%r26, %r25, 4;\n$L__tmp3:\n\t.loc\t1 315 20 // generate_examples.py:315:20\n\tdiv.s32 \t%r27, %r16, %r26;\n\t.loc\t1 317 26 // generate_examples.py:317:26\n\tsub.s32 \t%r28, %r21, %r27;\n\t.loc\t1 317 22 // generate_examples.py:317:22\n\tmin.s32 \t%r29, %r28, 1;\n\t.loc\t1 318 32 // generate_examples.py:318:32\n\trem.s32 \t%r30, %r16, %r29;\n\t.loc\t1 318 17 // generate_examples.py:318:17\n\tadd.s32 \t%r31, %r30, %r27;\n\t.loc\t1 319 18 // generate_examples.py:319:18\n\tmul.lo.s32 \t%r32, %r27, %r26;\n\tsub.s32 \t%r33, %r16, %r32;\n\t.loc\t1 319 17 // generate_examples.py:319:17\n\tdiv.s32 \t%r34, %r33, %r29;\n\t.loc\t1 321 20 // generate_examples.py:321:20\n\tshl.b32 \t%r35, %r31, 5;\n\t.loc\t1 321 43 // generate_examples.py:321:43\n\tmov.u32 \t%r1, %tid.x;\n\tbfe.u32 \t%r2, %r1, 1, 4;\n\t.loc\t1 321 20 // generate_examples.py:321:20\n\tor.b32 \t%r3, %r35, %r2;\n\tor.b32 \t%r4, %r3, 16;\n\t.loc\t1 322 20 // generate_examples.py:322:20\n\tshl.b32 \t%r36, %r34, 4;\n\t.loc\t1 322 43 // generate_examples.py:322:43\n\tand.b32 \t%r5, %r1, 1;\n\tshl.b32 \t%r6, %r5, 3;\n\t.loc\t1 322 20 // generate_examples.py:322:20\n\tor.b32 \t%r7, %r36, %r6;\n$L__tmp4:\n\t.loc\t1 328 27 // generate_examples.py:328:27\n\t.loc\t2 43 13, function_name $L__info_string0, inlined_at 1 328 27 // standard.py:43:13\n\tadd.s32 \t%r37, %r115, 15;\n$L__tmp5:\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tsetp.gt.s32 \t%p1, %r37, 15;\n\tmov.b32 \t%r114, global_smem;\n\t@!%p1 bra \t$L__BB0_1;\n// %bb.2: // %.lr.ph\n\t.loc\t1 0 9 // generate_examples.py:0:9\n\tld.param.b32 \t%r14, [matmul_kernel_param_7];\n\tld.param.b32 \t%r13, [matmul_kernel_param_6];\n\tld.param.b64 \t%rd3, [matmul_kernel_param_1];\n\tld.param.b64 \t%rd2, [matmul_kernel_param_0];\n\tshr.s32 \t%r38, %r37, 31;\n\tshr.u32 \t%r39, %r38, 28;\n\tadd.s32 \t%r40, %r37, %r39;\n\tshr.s32 \t%r116, %r40, 4;\n\t.loc\t1 337 23 // generate_examples.py:337:23\n\tshl.b32 \t%r41, %r14, 4;\n\t.loc\t1 322 19 // generate_examples.py:322:19\n\trem.s32 \t%r42, %r7, %r12;\n\t.loc\t1 325 23 // generate_examples.py:325:23\n\tmad.lo.s32 \t%r43, %r14, %r2, %r42;\n\t.loc\t1 325 18 // generate_examples.py:325:18\n\tmad.wide.s32 \t%rd10, %r43, 2, %rd3;\n\t.loc\t1 321 19 // generate_examples.py:321:19\n\trem.s32 \t%r44, %r4, %r11;\n\t.loc\t1 324 23 // generate_examples.py:324:23\n\tmad.lo.s32 \t%r45, %r44, %r13, %r6;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd11, %r45, 2, %rd2;\n\t.loc\t1 321 19 // generate_examples.py:321:19\n\trem.s32 \t%r46, %r3, %r11;\n\t.loc\t1 324 23 // generate_examples.py:324:23\n\tmad.lo.s32 \t%r47, %r46, %r13, %r6;\n\t.loc\t1 324 18 // generate_examples.py:324:18\n\tmad.wide.s32 \t%rd12, %r47, 2, %rd2;\n\tshl.b32 \t%r135, %r1, 4;\n\tand.b32 \t%r48, %r135, 368;\n\tand.b32 \t%r133, %r1, 8;\n\tbfe.s32 \t%r49, %r1, 3, 1;\n\tand.b32 \t%r50, %r49, 144;\n\txor.b32 \t%r51, %r50, %r48;\n\tadd.s32 \t%r71, %r114, %r51;\n\tadd.s32 \t%r72, %r71, 512;\n\tadd.s32 \t%r77, %r71, 1024;\n\tshl.b32 \t%r52, %r1, 5;\n\tand.b32 \t%r53, %r52, 352;\n\tand.b32 \t%r134, %r1, 4;\n\tbfe.s32 \t%r54, %r1, 2, 1;\n\tand.b32 \t%r55, %r54, 144;\n\tand.b32 \t%r56, %r1, 16;\n\tor.b32 \t%r57, %r55, %r53;\n\txor.b32 \t%r58, %r57, %r56;\n\tadd.s32 \t%r8, %r114, %r58;\n\tadd.s32 \t%r9, %r8, 512;\n\txor.b32 \t%r59, %r55, %r56;\n\tadd.s32 \t%r60, %r114, %r53;\n\tadd.s32 \t%r61, %r60, %r59;\n\tadd.s32 \t%r10, %r61, 1024;\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tmul.wide.s32 \t%rd1, %r41, 2;\n\tmov.b32 \t%r117, 0f00000000;\n\tmov.b32 \t%r118, %r117;\n\tmov.b32 \t%r119, %r117;\n\tmov.b32 \t%r120, %r117;\n\tmov.b32 \t%r121, %r117;\n\tmov.b32 \t%r122, %r117;\n\tmov.b32 \t%r123, %r117;\n\tmov.b32 \t%r124, %r117;\n\tmov.b32 \t%r125, %r117;\n\tmov.b32 \t%r126, %r117;\n\tmov.b32 \t%r127, %r117;\n\tmov.b32 \t%r128, %r117;\n\tmov.b32 \t%r129, %r117;\n\tmov.b32 \t%r130, %r117;\n\tmov.b32 \t%r131, %r117;\n\tmov.b32 \t%r132, %r117;\n$L__BB0_3: // =>This Inner Loop Header: Depth=1\n\t.loc\t1 330 30 // generate_examples.py:330:30\n\tsetp.lt.s32 \t%p2, %r6, %r115;\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tmov.b32 \t%r66, 0;\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tmov.u32 %r62, %r66;\n\t.loc\t1 330 23 // generate_examples.py:330:23\n\tmov.u32 %r63, %r66;\n\t.loc\t1 331 23 // generate_examples.py:331:23\n\tmov.u32 %r64, %r66;\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tmov.u32 %r65, %r66;\n\t@%p2 ld.global.v4.b32 { %r62, %r63, %r64, %r65 }, [ %rd12 + 0 ];\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tmov.u32 %r67, %r66;\n\t.loc\t1 330 23 // generate_examples.py:330:23\n\tmov.u32 %r68, %r66;\n\t.loc\t1 331 23 // generate_examples.py:331:23\n\tmov.u32 %r69, %r66;\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tmov.u32 %r70, %r66;\n\t@%p2 ld.global.v4.b32 { %r67, %r68, %r69, %r70 }, [ %rd11 + 0 ];\n\n\t// end inline asm\n\tbar.sync \t0;\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tst.shared::cta.v4.b32 [ %r71 + 0 ], { %r62, %r63, %r64, %r65 };\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tst.shared::cta.v4.b32 [ %r72 + 0 ], { %r67, %r68, %r69, %r70 };\n\n\t// end inline asm\n\t.loc\t1 333 30 // generate_examples.py:333:30\n\tsetp.lt.s32 \t%p3, %r2, %r115;\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\t// begin inline asm\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tmov.u32 %r73, %r66;\n\t.loc\t1 333 23 // generate_examples.py:333:23\n\tmov.u32 %r74, %r66;\n\t.loc\t1 334 23 // generate_examples.py:334:23\n\tmov.u32 %r75, %r66;\n\t.loc\t1 335 23 // generate_examples.py:335:23\n\tmov.u32 %r76, %r66;\n\t@%p3 ld.global.v4.b32 { %r73, %r74, %r75, %r76 }, [ %rd10 + 0 ];\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tst.shared::cta.v4.b32 [ %r77 + 0 ], { %r73, %r74, %r75, %r76 };\n\n\t// end inline asm\n\t.loc\t1 329 23 // generate_examples.py:329:23\n\tbar.sync \t0;\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r78, %r79, %r80, %r81}, [%r8];\n\tldmatrix.sync.aligned.m8n8.x4.shared.b16 {%r86, %r87, %r88, %r89}, [%r9];\n\t.loc\t1 332 23 // generate_examples.py:332:23\n\tldmatrix.sync.aligned.m8n8.x4.trans.shared.b16 {%r82, %r83, %r84, %r85}, [%r10];\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r117, %r118, %r119, %r120 }, { %r78, %r79, %r80, %r81 }, { %r82, %r83 }, { %r117, %r118, %r119, %r120 };\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r121, %r122, %r123, %r124 }, { %r78, %r79, %r80, %r81 }, { %r84, %r85 }, { %r121, %r122, %r123, %r124 };\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r125, %r126, %r127, %r128 }, { %r86, %r87, %r88, %r89 }, { %r82, %r83 }, { %r125, %r126, %r127, %r128 };\n\n\t// end inline asm\n\t// begin inline asm\n\t.loc\t1 335 28 // generate_examples.py:335:28\n\tmma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 { %r129, %r130, %r131, %r132 }, { %r86, %r87, %r88, %r89 }, { %r84, %r85 }, { %r129, %r130, %r131, %r132 };\n\n\t// end inline asm\n\t.loc\t1 336 13 // generate_examples.py:336:13\n\tadd.s64 \t%rd12, %rd12, 32;\n\tadd.s64 \t%rd11, %rd11, 32;\n\t.loc\t1 328 9 // generate_examples.py:328:9\n\tadd.s64 \t%rd10, %rd10, %rd1;\n\tadd.s32 \t%r116, %r116, -1;\n\tadd.s32 \t%r115, %r115, -16;\n\tsetp.ne.b32 \t%p4, %r116, 0;\n\t@%p4 bra \t$L__BB0_3;\n// %bb.4: // %._crit_edge.loopexit\n\t.loc\t1 338 19 // generate_examples.py:338:19\n\tcvt.rn.f16x2.f32 \t%r143, %r132, %r131;\n\tcvt.rn.f16x2.f32 \t%r142, %r130, %r129;\n\tcvt.rn.f16x2.f32 \t%r141, %r128, %r127;\n\tcvt.rn.f16x2.f32 \t%r140, %r126, %r125;\n\tcvt.rn.f16x2.f32 \t%r139, %r124, %r123;\n\tcvt.rn.f16x2.f32 \t%r138, %r122, %r121;\n\tcvt.rn.f16x2.f32 \t%r137, %r120, %r119;\n\tcvt.rn.f16x2.f32 \t%r136, %r118, %r117;\n\tbra.uni \t$L__BB0_5;\n$L__BB0_1: // %.._crit_edge_crit_edge\n\t.loc\t1 344 9 // generate_examples.py:344:9\n\tshl.b32 \t%r135, %r1, 4;\n\tand.b32 \t%r134, %r1, 4;\n\tand.b32 \t%r133, %r1, 8;\n\tmov.b32 \t%r136, 0;\n\tmov.b32 \t%r137, %r136;\n\tmov.b32 \t%r138, %r136;\n\tmov.b32 \t%r139, %r136;\n\tmov.b32 \t%r140, %r136;\n\tmov.b32 \t%r141, %r136;\n\tmov.b32 \t%r142, %r136;\n\tmov.b32 \t%r143, %r136;\n$L__BB0_5: // %._crit_edge\n\t.loc\t1 342 22 // generate_examples.py:342:22\n\tmul.lo.s32 \t%r98, %r3, %r15;\n\tmul.lo.s32 \t%r99, %r15, %r4;\n\t.loc\t1 342 18 // generate_examples.py:342:18\n\tmad.wide.s32 \t%rd7, %r98, 2, %rd4;\n\tmad.wide.s32 \t%rd8, %r99, 2, %rd4;\n\tmul.wide.s32 \t%rd9, %r7, 2;\n\tadd.s64 \t%rd5, %rd7, %rd9;\n\tadd.s64 \t%rd6, %rd8, %rd9;\n\t.loc\t1 343 19 // generate_examples.py:343:19\n\tsetp.lt.s32 \t%p7, %r3, %r11;\n\tsetp.lt.s32 \t%p8, %r4, %r11;\n\t.loc\t1 343 44 // generate_examples.py:343:44\n\tsetp.lt.s32 \t%p9, %r7, %r12;\n\t.loc\t1 343 18 // generate_examples.py:343:18\n\tand.pred \t%p5, %p7, %p9;\n\tand.pred \t%p6, %p8, %p9;\n\t.loc\t1 344 9 // generate_examples.py:344:9\n\tbar.sync \t0;\n\tand.b32 \t%r100, %r135, 176;\n\tsetp.eq.b32 \t%p10, %r134, 0;\n\tselp.b32 \t%r101, 0, 320, %p10;\n\tshl.b32 \t%r102, %r1, 2;\n\tand.b32 \t%r103, %r102, 64;\n\tor.b32 \t%r104, %r101, %r100;\n\txor.b32 \t%r105, %r104, %r103;\n\tadd.s32 \t%r106, %r114, %r105;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r106], {%r136, %r137, %r138, %r139};\n\tbar.warp.sync \t-1;\n\tshl.b32 \t%r107, %r1, 3;\n\tand.b32 \t%r108, %r107, 176;\n\tshl.b32 \t%r109, %r5, 6;\n\tsetp.eq.b32 \t%p11, %r133, 0;\n\tselp.b32 \t%r110, 0, 320, %p11;\n\tor.b32 \t%r111, %r108, %r109;\n\txor.b32 \t%r112, %r111, %r110;\n\tadd.s32 \t%r113, %r114, %r112;\n\tld.shared.v4.b32 \t{%r90, %r91, %r92, %r93}, [%r113];\n\tbar.warp.sync \t-1;\n\tstmatrix.sync.aligned.m8n8.x4.shared.b16 [%r106], {%r140, %r141, %r142, %r143};\n\tbar.warp.sync \t-1;\n\tld.shared.v4.b32 \t{%r94, %r95, %r96, %r97}, [%r113];\n\t// begin inline asm\n\t@%p5 st.global.v4.b32 [ %rd5 + 0 ], { %r90, %r91, %r92, %r93 };\n\n\t// end inline asm\n\t// begin inline asm\n\t@%p6 st.global.v4.b32 [ %rd6 + 0 ], { %r94, %r95, %r96, %r97 };\n\n\t// end inline asm\n\t.loc\t1 292 5 // generate_examples.py:292:5\n\tret;\n$L__tmp6:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.file\t2 \"/python/lib/python3.14/site-packages/triton/language/standard.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 1 // DW_CHILDREN_yes\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 2 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 0 // DW_CHILDREN_no\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 32 // DW_AT_inline\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 3 // Abbreviation Code\n.b8 46 // DW_TAG_subprogram\n.b8 1 // DW_CHILDREN_yes\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 4 // Abbreviation Code\n.b8 29 // DW_TAG_inlined_subroutine\n.b8 0 // DW_CHILDREN_no\n.b8 49 // DW_AT_abstract_origin\n.b8 19 // DW_FORM_ref4\n.b8 17 // DW_AT_low_pc\n.b8 1 // DW_FORM_addr\n.b8 18 // DW_AT_high_pc\n.b8 1 // DW_FORM_addr\n.b8 88 // DW_AT_call_file\n.b8 11 // DW_FORM_data1\n.b8 89 // DW_AT_call_line\n.b8 5 // DW_FORM_data2\n.b8 87 // DW_AT_call_column\n.b8 11 // DW_FORM_data1\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 227 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0xdc DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n.b8 2 // Abbrev [2] 0x75:0x10 DW_TAG_subprogram\n.b8 109 // DW_AT_name\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n.b8 1 // DW_AT_inline\n.b8 3 // Abbrev [3] 0x85:0x61 DW_TAG_subprogram\n.b64 $L__func_begin0 // DW_AT_low_pc\n.b64 $L__func_end0 // DW_AT_high_pc\n.b32 117 // DW_AT_abstract_origin\n.b8 4 // Abbrev [4] 0x9a:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp1 // DW_AT_low_pc\n.b64 $L__tmp2 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 56 // DW_AT_call_line\n.b8 1\n.b8 21 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xb3:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp2 // DW_AT_low_pc\n.b64 $L__tmp3 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 57 // DW_AT_call_line\n.b8 1\n.b8 21 // DW_AT_call_column\n.b8 4 // Abbrev [4] 0xcc:0x19 DW_TAG_inlined_subroutine\n.b32 117 // DW_AT_abstract_origin\n.b64 $L__tmp4 // DW_AT_low_pc\n.b64 $L__tmp5 // DW_AT_high_pc\n.b8 1 // DW_AT_call_file\n.b8 72 // DW_AT_call_line\n.b8 1\n.b8 27 // DW_AT_call_column\n.b8 0 // End Of Children Mark\n.b8 0 // End Of Children Mark\n\t}\n\t.section\t.debug_str\n\t{\n$L__info_string0:\n.b8 109 // string offset=0 ; matmul_kernel\n.b8 97\n.b8 116\n.b8 109\n.b8 117\n.b8 108\n.b8 95\n.b8 107\n.b8 101\n.b8 114\n.b8 110\n.b8 101\n.b8 108\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","matmul_kernel.json":"{\"hash\": \"2645961e93d089721e51c9760195f3a7cabfac6742babb6be3a4dbc4331529eb\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 1, \"num_ctas\": 1, \"num_stages\": 1, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.8.0\", \"tensordesc_meta\": [], \"shared\": 1536, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"matmul_kernel\"}","matmul_kernel.sass":"Function:matmul_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 46\n /*0010*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 311\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*0020*/ S2R R7, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 99\n /*0030*/ UMOV UR4, 0x400 ;\n\t//## File \".nv_debug_ptx_txt\", line 26\n /*0040*/ ULDC.64 UR6, c[0x0][0x208] ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 95\n /*0050*/ LDC R60, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 99\n /*0060*/ S2UR UR5, SR_CgaCtaId ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \".nv_debug_ptx_txt\", line 55\n /*0070*/ VIADD R0, R9, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 57\n /*0080*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 95\n /*0090*/ VIADD R60, R60, 0xf ;\n\t//## File \".nv_debug_ptx_txt\", line 59\n /*00a0*/ LEA.HI R3, R3, R0, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*00b0*/ IABS R10, R7 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 313\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*00c0*/ SHF.R.S32.HI R4, RZ, 0x4, R3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 99\n /*00d0*/ ULEA UR4, UR5, UR4, 0x18 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*00e0*/ IABS R5, R4.reuse ;\n /*00f0*/ IABS R12, R4 ;\n /*0100*/ I2F.RP R0, R5 ;\n /*0110*/ MUFU.RCP R0, R0 ;\n /*0120*/ VIADD R2, R0, 0xffffffe ;\n /*0130*/ IMAD.MOV R0, RZ, RZ, -R12 ;\n /*0140*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0150*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0160*/ IMAD.MOV R6, RZ, RZ, -R3 ;\n /*0170*/ IMAD R11, R6, R5, RZ ;\n /*0180*/ IMAD.MOV.U32 R6, RZ, RZ, R10 ;\n /*0190*/ IMAD.HI.U32 R3, R3, R11, R2 ;\n /*01a0*/ IMAD.HI.U32 R3, R3, R6, RZ ;\n /*01b0*/ IMAD R0, R3, R0, R6 ;\n /*01c0*/ ISETP.GT.U32.AND P1, PT, R5, R0, PT ;\n /*01d0*/ @!P1 IMAD.IADD R0, R0, 0x1, -R5 ;\n /*01e0*/ @!P1 VIADD R3, R3, 0x1 ;\n /*01f0*/ ISETP.NE.AND P1, PT, R4, RZ, PT ;\n /*0200*/ ISETP.GE.U32.AND P0, PT, R0, R5, PT ;\n /*0210*/ LOP3.LUT R0, R7, R4, RZ, 0x3c, !PT ;\n /*0220*/ ISETP.GE.AND P2, PT, R0, RZ, PT ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 46\n /*0230*/ VIADD R0, R8, 0x1f ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0240*/ @P0 VIADD R3, R3, 0x1 ;\n /*0250*/ IMAD.MOV.U32 R12, RZ, RZ, R3 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0260*/ SHF.R.S32.HI R3, RZ, 0x1f, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0270*/ @!P2 IMAD.MOV R12, RZ, RZ, -R12 ;\n\t//## File \"/python/lib/python3.14/site-packages/triton/language/standard.py\", line 43 inlined at \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 312\n\t//## File \".nv_debug_ptx_txt\", line 50\n /*0280*/ LEA.HI R3, R3, R0, RZ, 0x5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 315\n\t//## File \".nv_debug_ptx_txt\", line 63\n /*0290*/ @!P1 LOP3.LUT R12, RZ, R4, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*02a0*/ ISETP.GE.AND P2, PT, R7, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*02b0*/ LEA.HI.SX32 R3, R3, -R12, 0x1b ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*02c0*/ IMAD.MOV R5, RZ, RZ, -R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 317\n\t//## File \".nv_debug_ptx_txt\", line 67\n /*02d0*/ VIMNMX R15, R3, 0x1, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*02e0*/ IMAD R4, R4, R5, R7 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*02f0*/ IABS R11, R15.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0300*/ IABS R14, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0310*/ I2F.RP R0, R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0320*/ LOP3.LUT R4, R4, R15, RZ, 0x3c, !PT ;\n /*0330*/ ISETP.GE.AND P4, PT, R4, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0340*/ MUFU.RCP R0, R0 ;\n /*0350*/ VIADD R2, R0, 0xffffffe ;\n /*0360*/ F2I.FTZ.U32.TRUNC.NTZ R3, R2 ;\n /*0370*/ IMAD.MOV.U32 R2, RZ, RZ, RZ ;\n /*0380*/ IMAD.MOV R10, RZ, RZ, -R3 ;\n /*0390*/ IMAD R5, R10, R11, RZ ;\n /*03a0*/ IABS R10, R15 ;\n /*03b0*/ IMAD.HI.U32 R3, R3, R5, R2 ;\n /*03c0*/ IMAD.MOV R13, RZ, RZ, -R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*03d0*/ IMAD.MOV.U32 R10, RZ, RZ, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*03e0*/ IMAD.HI.U32 R0, R3, R6, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*03f0*/ IMAD.HI.U32 R5, R3, R10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0400*/ IMAD R2, R0, R13.reuse, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0410*/ IMAD R3, R5, R13, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 80\n /*0420*/ S2R R0, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0430*/ ISETP.GT.U32.AND P0, PT, R11.reuse, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0440*/ ISETP.GT.U32.AND P3, PT, R11, R3, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0450*/ @!P0 IMAD.IADD R2, R2, 0x1, -R11.reuse ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0460*/ @!P3 IMAD.IADD R3, R3, 0x1, -R11 ;\n /*0470*/ @!P3 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0480*/ ISETP.GT.U32.AND P1, PT, R11, R2, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0490*/ ISETP.GE.U32.AND P0, PT, R3, R11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*04a0*/ LOP3.LUT R3, RZ, R15, RZ, 0x33, !PT ;\n /*04b0*/ @!P1 IMAD.IADD R2, R2, 0x1, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*04c0*/ @P0 VIADD R5, R5, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*04d0*/ ISETP.NE.AND P0, PT, R15, RZ, PT ;\n /*04e0*/ @!P2 IMAD.MOV R2, RZ, RZ, -R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*04f0*/ @!P4 IMAD.MOV R5, RZ, RZ, -R5 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0500*/ SEL R2, R3.reuse, R2, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 319\n\t//## File \".nv_debug_ptx_txt\", line 76\n /*0510*/ SEL R7, R3, R5, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 98\n /*0520*/ ISETP.GT.AND P0, PT, R60, 0xf, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 318\n\t//## File \".nv_debug_ptx_txt\", line 71\n /*0530*/ IMAD.IADD R6, R12, 0x1, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0540*/ SHF.R.U32.HI R3, RZ, 0x1, R0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 88\n /*0550*/ LOP3.LUT R2, R0, 0x1, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0560*/ IMAD.SHL.U32 R6, R6, 0x20, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0570*/ SGXT.U32 R3, R3, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 89\n /*0580*/ IMAD.SHL.U32 R4, R2, 0x8, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 83\n /*0590*/ LOP3.LUT R5, R6, R3, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 91\n /*05a0*/ IMAD R6, R7, 0x10, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 84\n /*05b0*/ LOP3.LUT R7, R5, 0x10, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 100\n /*05c0*/ @!P0 BRA `(.L_x_0) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*05d0*/ IABS R17, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*05e0*/ LDC R61, c[0x0][0x238] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*05f0*/ IABS R16, R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*0600*/ ULDC UR5, c[0x0][0x234] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0610*/ I2F.RP R14, R17 ;\n /*0620*/ ISETP.NE.AND P3, PT, R9, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0630*/ ULDC.64 UR8, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 134\n /*0640*/ SHF.R.S32.HI R23, RZ, 0x3, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0650*/ ULDC.64 UR10, c[0x0][0x210] ;\n\t//## File \".nv_debug_ptx_txt\", line 131\n /*0660*/ IMAD.SHL.U32 R56, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 133\n /*0670*/ LOP3.LUT R58, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0680*/ I2F.RP R15, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 134\n /*0690*/ SGXT R23, R23, 0x1 ;\n\t//## File \".nv_debug_ptx_txt\", line 142\n /*06a0*/ LOP3.LUT R59, R0, 0x4, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 135\n /*06b0*/ LOP3.LUT R25, R23, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*06c0*/ CS2R R22, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*06d0*/ MUFU.RCP R14, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 136\n /*06e0*/ LOP3.LUT R48, R25, 0x170, R56, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*06f0*/ MUFU.RCP R15, R15 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0700*/ VIADD R10, R14, 0xffffffe ;\n /*0710*/ IABS R14, R6 ;\n /*0720*/ F2I.FTZ.U32.TRUNC.NTZ R11, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0730*/ VIADD R12, R15, 0xffffffe ;\n /*0740*/ F2I.FTZ.U32.TRUNC.NTZ R13, R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0750*/ IMAD.MOV.U32 R10, RZ, RZ, RZ ;\n /*0760*/ IMAD.MOV R18, RZ, RZ, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0770*/ IMAD.MOV.U32 R12, RZ, RZ, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0780*/ IMAD R19, R18, R17, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0790*/ IMAD.MOV R21, RZ, RZ, -R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*07a0*/ IMAD.HI.U32 R11, R11, R19, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*07b0*/ IABS R10, R7 ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*07c0*/ IABS R19, R5 ;\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*07d0*/ IMAD R15, R21, R16, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*07e0*/ CS2R R20, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*07f0*/ IMAD.HI.U32 R11, R11, R14, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0800*/ IMAD.HI.U32 R12, R13, R15, R12 ;\n /*0810*/ IMAD.MOV.U32 R13, RZ, RZ, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0820*/ IMAD.MOV R11, RZ, RZ, -R11 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0830*/ IMAD.HI.U32 R10, R12, R13, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0840*/ IMAD.HI.U32 R12, R12, R19, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0850*/ IMAD.MOV R15, RZ, RZ, -R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0860*/ IMAD.MOV R18, RZ, RZ, -R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0870*/ IMAD R12, R16.reuse, R15, R13 ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0880*/ IMAD R13, R16.reuse, R18, R19 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0890*/ CS2R R18, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*08a0*/ IMAD R10, R17, R11, R14 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*08b0*/ ISETP.GT.U32.AND P1, PT, R16.reuse, R12, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*08c0*/ ISETP.GT.U32.AND P2, PT, R16, R13, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*08d0*/ ISETP.GT.U32.AND P0, PT, R17, R10, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 107\n /*08e0*/ SHF.R.S32.HI R11, RZ, 0x1f, R60 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 143\n /*08f0*/ SHF.R.S32.HI R14, RZ, 0x2, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 109\n /*0900*/ LEA.HI R60, R11, R60, RZ, 0x4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0910*/ LOP3.LUT R11, RZ, R8, RZ, 0x33, !PT ;\n /*0920*/ @!P1 IMAD.IADD R12, R12, 0x1, -R16.reuse ;\n /*0930*/ ISETP.GE.AND P1, PT, R7, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0940*/ @!P2 IMAD.IADD R13, R13, 0x1, -R16 ;\n /*0950*/ ISETP.GE.AND P2, PT, R5, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0960*/ @!P0 IMAD.IADD R10, R10, 0x1, -R17 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0970*/ ISETP.GT.U32.AND P5, PT, R16, R12, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0980*/ ISETP.GT.U32.AND P6, PT, R16, R13, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0990*/ ISETP.GT.U32.AND P4, PT, R17, R10, PT ;\n /*09a0*/ ISETP.GE.AND P0, PT, R6, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 110\n /*09b0*/ SHF.R.S32.HI R60, RZ, 0x4, R60 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*09c0*/ @!P5 IMAD.IADD R12, R12, 0x1, -R16.reuse ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*09d0*/ @!P6 IMAD.IADD R13, R13, 0x1, -R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*09e0*/ @!P4 IMAD.IADD R10, R10, 0x1, -R17 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*09f0*/ ISETP.NE.AND P4, PT, R8, RZ, PT ;\n /*0a00*/ @!P1 IMAD.MOV R12, RZ, RZ, -R12 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0a10*/ CS2R R16, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0a20*/ @!P2 IMAD.MOV R13, RZ, RZ, -R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 322\n\t//## File \".nv_debug_ptx_txt\", line 114\n /*0a30*/ @!P0 IMAD.MOV R10, RZ, RZ, -R10 ;\n /*0a40*/ @!P3 LOP3.LUT R10, RZ, R9, RZ, 0x33, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 140\n /*0a50*/ IMAD.SHL.U32 R8, R0, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 321\n\t//## File \".nv_debug_ptx_txt\", line 120\n /*0a60*/ SEL R9, R11, R12, !P4 ;\n\t//## File \".nv_debug_ptx_txt\", line 126\n /*0a70*/ SEL R11, R11, R13, !P4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 116\n /*0a80*/ IMAD R10, R3, R61, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 143\n /*0a90*/ SGXT R12, R14, 0x1 ;\n\t//## File \".nv_debug_ptx_txt\", line 122\n /*0aa0*/ IMAD R9, R9, UR5, R4.reuse ;\n\t//## File \".nv_debug_ptx_txt\", line 141\n /*0ab0*/ LOP3.LUT R8, R8, 0x160, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 128\n /*0ac0*/ IMAD R11, R11, UR5, R4 ;\n\t//## File \".nv_debug_ptx_txt\", line 144\n /*0ad0*/ LOP3.LUT R13, R12, 0x90, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0ae0*/ CS2R R14, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0af0*/ LEA R50, P1, R9, UR10, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 337\n\t//## File \".nv_debug_ptx_txt\", line 112\n /*0b00*/ IMAD.SHL.U32 R61, R61, 0x10, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 150\n /*0b10*/ LOP3.LUT R49, R13, 0x10, R0, 0x78, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 39\n /*0b20*/ ULDC UR5, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 130\n /*0b30*/ LEA R54, P2, R11, UR10, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0b40*/ LEA R38, P0, R10, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 146\n /*0b50*/ LOP3.LUT R51, R13, R8, RZ, 0xfc, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0b60*/ CS2R R12, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 152\n /*0b70*/ IADD3 R49, R49, UR4, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 124\n /*0b80*/ LEA.HI.X.SX32 R55, R9, UR11, 0x1, P1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0b90*/ CS2R R8, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 130\n /*0ba0*/ LEA.HI.X.SX32 R57, R11, UR11, 0x1, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 325\n\t//## File \".nv_debug_ptx_txt\", line 118\n /*0bb0*/ LEA.HI.X.SX32 R39, R10, UR9, 0x1, P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 171\n /*0bc0*/ CS2R R10, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 324\n\t//## File \".nv_debug_ptx_txt\", line 147\n /*0bd0*/ LOP3.LUT R51, R51, 0x10, R0, 0x78, !PT ;\n.L_x_1:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 330\n\t//## File \".nv_debug_ptx_txt\", line 174\n /*0be0*/ ISETP.GE.AND P1, PT, R4, UR5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 186\n /*0bf0*/ CS2R R24, SRZ ;\n /*0c00*/ CS2R R26, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 198\n /*0c10*/ CS2R R28, SRZ ;\n /*0c20*/ CS2R R30, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 333\n\t//## File \".nv_debug_ptx_txt\", line 213\n /*0c30*/ ISETP.GE.AND P0, PT, R3, UR5, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 186\n /*0c40*/ @!P1 IMAD.MOV.U32 R36, RZ, RZ, R54 ;\n /*0c50*/ @!P1 IMAD.MOV.U32 R37, RZ, RZ, R57 ;\n\t//## File \".nv_debug_ptx_txt\", line 198\n /*0c60*/ @!P1 IMAD.MOV.U32 R52, RZ, RZ, R50 ;\n /*0c70*/ @!P1 IMAD.MOV.U32 R53, RZ, RZ, R55 ;\n\t//## File \".nv_debug_ptx_txt\", line 186\n /*0c80*/ @!P1 LDG.E.128 R24, desc[UR6][R36.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 224\n /*0c90*/ CS2R R32, SRZ ;\n /*0ca0*/ CS2R R34, SRZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 198\n /*0cb0*/ @!P1 LDG.E.128 R28, desc[UR6][R52.64] ;\n\t//## File \".nv_debug_ptx_txt\", line 201\n /*0cc0*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n /*0cd0*/ IMAD.MOV.U32 R52, RZ, RZ, R38 ;\n /*0ce0*/ IMAD.MOV.U32 R53, RZ, RZ, R39 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 224\n /*0cf0*/ @!P0 LDG.E.128 R32, desc[UR6][R52.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 264\n /*0d00*/ VIADD R60, R60, 0xffffffff ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 260\n /*0d10*/ IADD3 R54, P1, R54, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 265\n /*0d20*/ UIADD3 UR5, UR5, -0x10, URZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 261\n /*0d30*/ IADD3 R50, P2, R50, 0x20, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 266\n /*0d40*/ ISETP.NE.U32.AND P0, PT, R60, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 336\n\t//## File \".nv_debug_ptx_txt\", line 260\n /*0d50*/ IMAD.X R57, RZ, RZ, R57, P1 ;\n\t//## File \".nv_debug_ptx_txt\", line 261\n /*0d60*/ IMAD.X R55, RZ, RZ, R55, P2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 329\n\t//## File \".nv_debug_ptx_txt\", line 204\n /*0d70*/ STS.128 [R48+UR4], R24 ;\n\t//## File \".nv_debug_ptx_txt\", line 209\n /*0d80*/ STS.128 [R48+UR4+0x200], R28 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 229\n /*0d90*/ STS.128 [R48+UR4+0x400], R32 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 329\n\t//## File \".nv_debug_ptx_txt\", line 233\n /*0da0*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 234\n /*0db0*/ LDSM.16.M88.4 R36, [R51+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 332\n\t//## File \".nv_debug_ptx_txt\", line 237\n /*0dc0*/ LDSM.16.MT88.4 R40, [R49+0x400] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 329\n\t//## File \".nv_debug_ptx_txt\", line 235\n /*0dd0*/ LDSM.16.M88.4 R44, [R51+UR4+0x200] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 241\n /*0de0*/ HMMA.16816.F32 R8, R36.reuse, R40, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 246\n /*0df0*/ HMMA.16816.F32 R12, R36, R42, R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 251\n /*0e00*/ HMMA.16816.F32 R16, R44, R40, R16 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 263\n /*0e10*/ IMAD.WIDE R38, R61, 0x2, R52 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 335\n\t//## File \".nv_debug_ptx_txt\", line 256\n /*0e20*/ HMMA.16816.F32 R20, R44, R42, R20 ;\n /*0e30*/ NOP ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 328\n\t//## File \".nv_debug_ptx_txt\", line 267\n /*0e40*/ @P0 BRA `(.L_x_1) ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 338\n\t//## File \".nv_debug_ptx_txt\", line 270\n /*0e50*/ F2FP.F16.F32.PACK_AB R23, R23, R22 ;\n\t//## File \".nv_debug_ptx_txt\", line 274\n /*0e60*/ F2FP.F16.F32.PACK_AB R15, R15, R14 ;\n\t//## File \".nv_debug_ptx_txt\", line 271\n /*0e70*/ F2FP.F16.F32.PACK_AB R22, R21, R20 ;\n\t//## File \".nv_debug_ptx_txt\", line 275\n /*0e80*/ F2FP.F16.F32.PACK_AB R14, R13, R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 272\n /*0e90*/ F2FP.F16.F32.PACK_AB R21, R19, R18 ;\n\t//## File \".nv_debug_ptx_txt\", line 273\n /*0ea0*/ F2FP.F16.F32.PACK_AB R20, R17, R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 276\n /*0eb0*/ F2FP.F16.F32.PACK_AB R13, R11, R10 ;\n\t//## File \".nv_debug_ptx_txt\", line 277\n /*0ec0*/ F2FP.F16.F32.PACK_AB R12, R9, R8 ;\n\t//## File \".nv_debug_ptx_txt\", line 278\n /*0ed0*/ BRA `(.L_x_2) ;\n.L_x_0:\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 281\n /*0ee0*/ IMAD.SHL.U32 R56, R0.reuse, 0x10, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 282\n /*0ef0*/ LOP3.LUT R59, R0.reuse, 0x4, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 291\n /*0f00*/ CS2R R12, SRZ ;\n\t//## File \".nv_debug_ptx_txt\", line 283\n /*0f10*/ LOP3.LUT R58, R0, 0x8, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 291\n /*0f20*/ CS2R R14, SRZ ;\n /*0f30*/ CS2R R20, SRZ ;\n /*0f40*/ CS2R R22, SRZ ;\n.L_x_2:\n\t//## File \".nv_debug_ptx_txt\", line 311\n /*0f50*/ BAR.SYNC.DEFER_BLOCKING 0x0 ;\n\t//## File \".nv_debug_ptx_txt\", line 313\n /*0f60*/ ISETP.NE.U32.AND P0, PT, R59, RZ, PT ;\n\t//## File \".nv_debug_ptx_txt\", line 315\n /*0f70*/ IMAD.SHL.U32 R4, R0.reuse, 0x4, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 322\n /*0f80*/ IMAD.SHL.U32 R0, R0, 0x8, RZ ;\n\t//## File \".nv_debug_ptx_txt\", line 314\n /*0f90*/ SEL R3, RZ, 0x140, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 294\n /*0fa0*/ ULDC UR5, c[0x0][0x23c] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 325\n /*0fb0*/ ISETP.NE.U32.AND P0, PT, R58, RZ, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 306\n /*0fc0*/ ULDC.64 UR10, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 317\n /*0fd0*/ LOP3.LUT R3, R3, 0xb0, R56, 0xf8, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 297\n /*0fe0*/ ULDC.64 UR8, c[0x0][0x220] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 323\n /*0ff0*/ LOP3.LUT R9, R0, 0xb0, RZ, 0xc0, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 295\n /*1000*/ IMAD R8, R7, UR5, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 318\n /*1010*/ LOP3.LUT R3, R3, 0x40, R4, 0x78, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 326\n /*1020*/ SEL R0, RZ, 0x140, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 327\n /*1030*/ IMAD R11, R2, 0x40, R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 343\n\t//## File \".nv_debug_ptx_txt\", line 306\n /*1040*/ ISETP.GE.AND P0, PT, R6, UR11, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 319\n /*1050*/ VIADD R9, R3, UR4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 298\n /*1060*/ LEA R4, P3, R8, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 328\n /*1070*/ LOP3.LUT R11, R11, R0, RZ, 0x3c, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 294\n /*1080*/ IMAD R0, R5.reuse, UR5, RZ ;\n /*1090*/ ISETP.LT.AND P1, PT, R5, UR10, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 320\n /*10a0*/ STSM.16.M88.4 [R9], R12 ;\n\t//## File \".nv_debug_ptx_txt\", line 321\n /*10b0*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 330\n /*10c0*/ LDS.128 R16, [R11+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 297\n /*10d0*/ LEA R2, P2, R0.reuse, UR8, 0x1 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 331\n /*10e0*/ NOP ;\n /*10f0*/ ISETP.LT.AND P0, PT, R7, UR10, !P0 ;\n\t//## File \".nv_debug_ptx_txt\", line 332\n /*1100*/ STSM.16.M88.4 [R9], R20 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 297\n /*1110*/ LEA.HI.X.SX32 R3, R0, UR9, 0x1, P2 ;\n\t//## File \".nv_debug_ptx_txt\", line 298\n /*1120*/ LEA.HI.X.SX32 R5, R8, UR9, 0x1, P3 ;\n\t//## File \".nv_debug_ptx_txt\", line 300\n /*1130*/ IMAD.WIDE R2, R6, 0x2, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 333\n /*1140*/ NOP ;\n\t//## File \".nv_debug_ptx_txt\", line 336\n /*1150*/ @P1 STG.E.128 desc[UR6][R2.64], R16 ;\n\t//## File \".nv_debug_ptx_txt\", line 340\n /*1160*/ @!P0 EXIT ;\n\t//## File \".nv_debug_ptx_txt\", line 334\n /*1170*/ LDS.128 R8, [R11+UR4] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 342\n\t//## File \".nv_debug_ptx_txt\", line 301\n /*1180*/ IMAD.WIDE R4, R6, 0x2, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 344\n\t//## File \".nv_debug_ptx_txt\", line 340\n /*1190*/ STG.E.128 desc[UR6][R4.64], R8 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 292\n\t//## File \".nv_debug_ptx_txt\", line 344\n /*11a0*/ EXIT ;\n.L_x_3:\n /*11b0*/ BRA `(.L_x_3);\n /*11c0*/ NOP;\n /*11d0*/ NOP;\n /*11e0*/ NOP;\n /*11f0*/ NOP;\n /*1200*/ NOP;\n /*1210*/ NOP;\n /*1220*/ NOP;\n /*1230*/ NOP;\n /*1240*/ NOP;\n /*1250*/ NOP;\n /*1260*/ NOP;\n /*1270*/ NOP;\n.L_x_4:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":266,"end_line":344,"code":" @triton.autotune(\n configs=[\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 16,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n triton.Config(\n {\n \"BLOCK_SIZE_M\": 32,\n \"BLOCK_SIZE_N\": 16,\n \"BLOCK_SIZE_K\": 16,\n \"GROUP_SIZE_M\": 1,\n },\n num_stages=1,\n num_warps=1,\n ),\n ],\n key=[\"M\", \"N\", \"K\"],\n )\n @triton.jit\n def matmul_kernel(\n a,\n b,\n c,\n M,\n N,\n K,\n stride_am,\n stride_ak,\n stride_bk,\n stride_bn,\n stride_cm,\n stride_cn,\n BLOCK_SIZE_M: tl.constexpr,\n BLOCK_SIZE_N: tl.constexpr,\n BLOCK_SIZE_K: tl.constexpr,\n GROUP_SIZE_M: tl.constexpr,\n ACTIVATION: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n num_pid_m = tl.cdiv(M, BLOCK_SIZE_M)\n num_pid_n = tl.cdiv(N, BLOCK_SIZE_N)\n num_pid_in_group = GROUP_SIZE_M * num_pid_n\n group_id = pid // num_pid_in_group\n first_pid_m = group_id * GROUP_SIZE_M\n group_size = min(num_pid_m - first_pid_m, GROUP_SIZE_M)\n pid_m = first_pid_m + (pid % group_size)\n pid_n = (pid % num_pid_in_group) // group_size\n\n offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M\n offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N\n offs_k = tl.arange(0, BLOCK_SIZE_K)\n a_ptrs = a + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)\n b_ptrs = b + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)\n\n accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)\n for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):\n a_block = tl.load(\n a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0\n )\n b_block = tl.load(\n b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0\n )\n accumulator += tl.dot(a_block, b_block)\n a_ptrs += BLOCK_SIZE_K * stride_ak\n b_ptrs += BLOCK_SIZE_K * stride_bk\n c_block = accumulator.to(tl.float16)\n\n offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)\n offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)\n c_ptrs = c + stride_cm * offs_cm[:, None] + stride_cn * offs_cn[None, :]\n c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)\n tl.store(c_ptrs, c_block, mask=c_mask)\n"}}} +{"event_type":"autotune","pid":4104992,"kernel_name":"matmul_kernel","cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","best_config":"BLOCK_SIZE_M: 32, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None","configs_timings":{"BLOCK_SIZE_M: 16, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None":[0.25833600759506226,0.24760960042476654,0.26989439129829407],"BLOCK_SIZE_M: 32, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None":[0.24879999458789825,0.23439359664916992,0.431852787733078]},"duration":1.7164421081542969,"cache_hit":false,"autotune_key":"(16, 16, 16, 'torch.float16', 'torch.float16', 'torch.float16')","stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":257,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"knobs.autotuning.listener("},{"line":2114,"name":"_autotune_listener","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"autotune\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"autotune","pid":4104992,"kernel_name":"matmul_kernel","cache_key":"528f8911847b1f39f462157322ec9a674a5565b9b74d621d5ff09625eb710f38","best_config":"BLOCK_SIZE_M: 16, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None","configs_timings":{"BLOCK_SIZE_M: 16, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None":[0.2383359968662262,0.22753280103206636,0.24840319454669954],"BLOCK_SIZE_M: 32, BLOCK_SIZE_N: 16, BLOCK_SIZE_K: 16, GROUP_SIZE_M: 1, num_warps: 1, num_ctas: 1, num_stages: 1, maxnreg: None":[0.2393600046634674,0.22932479679584503,0.24669439494609832]},"duration":0.24884319305419922,"cache_hit":false,"autotune_key":"(32, 32, 16, 'torch.float16', 'torch.float16', 'torch.float16')","stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":421,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul(a, b).sum()"},{"line":382,"name":"matmul","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"matmul_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":257,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/autotuner.py","loc":"knobs.autotuning.listener("},{"line":2114,"name":"_autotune_listener","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton(\"autotune\", metadata_fn=lambda: convert(trace_data))"},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:04.%fZ"} +{"event_type":"compilation","pid":4104992,"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":429,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op(x, y, z, scale_factor=1.0, activation=\"none\").sum()"},{"line":404,"name":"fused_op","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":757,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":902,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:05.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"0a7707c5f05286447121bb3674a0dbe36368322c817f490488942e13fc939971","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"fused_op_kernel","num_ctas":1,"num_stages":3,"num_warps":4,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":0,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[],"(6,)":[],"(7,)":[]},"src_cache_key":"f2e5ae6c41d3bfc26af60eada8fff38a0b318cffe77df20b32d117346110ff07","src_constants":{"(6,)":"none","(7,)":8},"times":{"ir_initialization":1641,"lowering_stages":[],"store_results":0}},"file_path":{"fused_op_kernel.source":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.source","fused_op_kernel.ttir":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.ttir","fused_op_kernel.ttgir":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.ttgir","fused_op_kernel.llir":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.llir","fused_op_kernel.ptx":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.ptx","fused_op_kernel.cubin":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.cubin","fused_op_kernel.json":"/home/user/.triton/cache/BJ3QPRPQKKDEI4JBXM3HJIG34NRWQMRMQF7USBEISQXBH7ETTFYQ/fused_op_kernel.json"},"file_content":{"fused_op_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:5)\n#loc15 = loc(\"a_ptr\"(#loc))\n#loc16 = loc(\"b_ptr\"(#loc))\n#loc17 = loc(\"c_ptr\"(#loc))\n#loc18 = loc(\"output_ptr\"(#loc))\n#loc19 = loc(\"n_elements\"(#loc))\n#loc20 = loc(\"scale_factor\"(#loc))\nmodule {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc21)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc22)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32> loc(#loc23)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32> loc(#loc22)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32> loc(#loc22)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32> loc(#loc24)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32> loc(#loc24)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc25)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc25)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr> loc(#loc26)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc27)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc27)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr> loc(#loc28)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc29)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc29)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr> loc(#loc30)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32> loc(#loc31)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32> loc(#loc31)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32> loc(#loc31)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32> loc(#loc31)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc13)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc13)\n tt.store %1, %result_12, %mask_3 : tensor<8x!tt.ptr> loc(#loc14)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:15)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:19)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:38)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:16)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:13)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:21)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:13)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:21)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:13)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:18)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:9)\n#loc21 = loc(\"pid\"(#loc2))\n#loc22 = loc(\"offsets\"(#loc3))\n#loc23 = loc(\"offsets\"(#loc4))\n#loc24 = loc(\"mask\"(#loc5))\n#loc25 = loc(\"a\"(#loc6))\n#loc26 = loc(\"a\"(#loc7))\n#loc27 = loc(\"b\"(#loc8))\n#loc28 = loc(\"b\"(#loc9))\n#loc29 = loc(\"c\"(#loc10))\n#loc30 = loc(\"c\"(#loc11))\n#loc31 = loc(\"result\"(#loc12))\n","fused_op_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:5)\n#loc15 = loc(\"a_ptr\"(#loc))\n#loc16 = loc(\"b_ptr\"(#loc))\n#loc17 = loc(\"c_ptr\"(#loc))\n#loc18 = loc(\"output_ptr\"(#loc))\n#loc19 = loc(\"n_elements\"(#loc))\n#loc20 = loc(\"scale_factor\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 4 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc21)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc22)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32, #blocked> loc(#loc23)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32, #blocked> loc(#loc22)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32, #blocked> loc(#loc22)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32, #blocked> loc(#loc24)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32, #blocked> loc(#loc24)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc25)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc25)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc26)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc27)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc27)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc28)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc29)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc29)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc30)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32, #blocked> loc(#loc31)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32, #blocked> loc(#loc31)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32, #blocked> loc(#loc31)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32, #blocked> loc(#loc31)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc13)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc13)\n tt.store %1, %result_12, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc14)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:15)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:19)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:38)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:16)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:13)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:21)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:13)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:21)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:13)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:18)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:9)\n#loc21 = loc(\"pid\"(#loc2))\n#loc22 = loc(\"offsets\"(#loc3))\n#loc23 = loc(\"offsets\"(#loc4))\n#loc24 = loc(\"mask\"(#loc5))\n#loc25 = loc(\"a\"(#loc6))\n#loc26 = loc(\"a\"(#loc7))\n#loc27 = loc(\"b\"(#loc8))\n#loc28 = loc(\"b\"(#loc9))\n#loc29 = loc(\"c\"(#loc10))\n#loc30 = loc(\"c\"(#loc11))\n#loc31 = loc(\"result\"(#loc12))\n","fused_op_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @fused_op_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, ptr addrspace(1) %3, i32 %4, float %5, ptr addrspace(1) readnone captures(none) %6, ptr addrspace(1) readnone captures(none) %7) local_unnamed_addr #0 !dbg !4 {\n %9 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %10 = shl i32 %9, 3, !dbg !13\n %11 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !14\n %12 = and i32 %11, 7, !dbg !14\n %13 = or disjoint i32 %10, %12, !dbg !13\n %14 = icmp slt i32 %13, %4, !dbg !15\n %15 = sext i32 %13 to i64, !dbg !16\n %16 = getelementptr [4 x i8], ptr addrspace(1) %0, i64 %15, !dbg !16\n %17 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %16, i1 %14) #2, !dbg !17\n %18 = bitcast i32 %17 to float, !dbg !17\n %19 = getelementptr [4 x i8], ptr addrspace(1) %1, i64 %15, !dbg !18\n %20 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %19, i1 %14) #2, !dbg !19\n %21 = bitcast i32 %20 to float, !dbg !19\n %22 = getelementptr [4 x i8], ptr addrspace(1) %2, i64 %15, !dbg !20\n %23 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %22, i1 %14) #2, !dbg !21\n %24 = bitcast i32 %23 to float, !dbg !21\n %25 = fmul float %18, %21, !dbg !22\n %26 = fmul float %5, %25, !dbg !22\n %27 = fadd float %26, %24, !dbg !22\n %28 = getelementptr [4 x i8], ptr addrspace(1) %3, i64 %15, !dbg !23\n %29 = and i32 %11, 120, !dbg !24\n %30 = icmp eq i32 %29, 0, !dbg !24\n %31 = bitcast float %27 to i32, !dbg !24\n %32 = and i1 %30, %14, !dbg !24\n tail call void asm sideeffect \"@$2 st.global.b32 [ $1 + 0 ], { $0 };\", \"r,l,b\"(i32 %31, ptr addrspace(1) %28, i1 %32) #2, !dbg !24\n ret void, !dbg !25\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"128\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"fused_op_kernel\", linkageName: \"fused_op_kernel\", scope: !1, file: !1, line: 347, type: !5, scopeLine: 347, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !7, !9, !8, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"float\", size: 32, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 357, column: 15, scope: !4)\n!13 = !DILocation(line: 358, column: 19, scope: !4)\n!14 = !DILocation(line: 358, column: 38, scope: !4)\n!15 = !DILocation(line: 359, column: 16, scope: !4)\n!16 = !DILocation(line: 361, column: 21, scope: !4)\n!17 = !DILocation(line: 361, column: 13, scope: !4)\n!18 = !DILocation(line: 362, column: 21, scope: !4)\n!19 = !DILocation(line: 362, column: 13, scope: !4)\n!20 = !DILocation(line: 363, column: 21, scope: !4)\n!21 = !DILocation(line: 363, column: 13, scope: !4)\n!22 = !DILocation(line: 365, column: 18, scope: !4)\n!23 = !DILocation(line: 369, column: 18, scope: !4)\n!24 = !DILocation(line: 369, column: 9, scope: !4)\n!25 = !DILocation(line: 347, column: 5, scope: !4)\n","fused_op_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.8\n.target sm_90a\n.address_size 64\n\n\t// .globl\tfused_op_kernel // -- Begin function fused_op_kernel\n // @fused_op_kernel\n.visible .entry fused_op_kernel(\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_2,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_3,\n\t.param .u32 fused_op_kernel_param_4,\n\t.param .f32 fused_op_kernel_param_5,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_6,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_7\n)\n.reqntid 128\n{\n\t.reg .pred \t%p<4>;\n\t.reg .b32 \t%r<14>;\n\t.reg .b64 \t%rd<10>;\n\t.loc\t1 347 0 // generate_examples.py:347:0\n$L__func_begin0:\n\t.loc\t1 347 0 // generate_examples.py:347:0\n\n// %bb.0:\n\tld.param.b64 \t%rd5, [fused_op_kernel_param_0];\n\tld.param.b64 \t%rd6, [fused_op_kernel_param_1];\n$L__tmp0:\n\t.loc\t1 357 15 // generate_examples.py:357:15\n\tmov.u32 \t%r5, %ctaid.x;\n\t.loc\t1 358 19 // generate_examples.py:358:19\n\tshl.b32 \t%r6, %r5, 3;\n\tld.param.b64 \t%rd7, [fused_op_kernel_param_2];\n\tld.param.b64 \t%rd8, [fused_op_kernel_param_3];\n\t.loc\t1 358 38 // generate_examples.py:358:38\n\tmov.u32 \t%r7, %tid.x;\n\tand.b32 \t%r8, %r7, 7;\n\tld.param.b32 \t%r9, [fused_op_kernel_param_4];\n\t.loc\t1 358 19 // generate_examples.py:358:19\n\tor.b32 \t%r10, %r6, %r8;\n\tld.param.b32 \t%r11, [fused_op_kernel_param_5];\n\t.loc\t1 359 16 // generate_examples.py:359:16\n\tsetp.lt.s32 \t%p1, %r10, %r9;\n\t.loc\t1 361 21 // generate_examples.py:361:21\n\tmul.wide.s32 \t%rd9, %r10, 4;\n\tadd.s64 \t%rd1, %rd5, %rd9;\n\t.loc\t1 361 13 // generate_examples.py:361:13\n\t// begin inline asm\n\t.loc\t1 361 13 // generate_examples.py:361:13\n\tmov.u32 %r1, 0x0;\n\t@%p1 ld.global.b32 { %r1 }, [ %rd1 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 362 21 // generate_examples.py:362:21\n\tadd.s64 \t%rd2, %rd6, %rd9;\n\t.loc\t1 362 13 // generate_examples.py:362:13\n\t// begin inline asm\n\t.loc\t1 362 13 // generate_examples.py:362:13\n\tmov.u32 %r2, 0x0;\n\t@%p1 ld.global.b32 { %r2 }, [ %rd2 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 363 21 // generate_examples.py:363:21\n\tadd.s64 \t%rd3, %rd7, %rd9;\n\t.loc\t1 363 13 // generate_examples.py:363:13\n\t// begin inline asm\n\t.loc\t1 363 13 // generate_examples.py:363:13\n\tmov.u32 %r3, 0x0;\n\t@%p1 ld.global.b32 { %r3 }, [ %rd3 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 365 18 // generate_examples.py:365:18\n\tmul.f32 \t%r12, %r1, %r2;\n\tfma.rn.f32 \t%r4, %r11, %r12, %r3;\n\t.loc\t1 369 18 // generate_examples.py:369:18\n\tadd.s64 \t%rd4, %rd8, %rd9;\n\t.loc\t1 369 9 // generate_examples.py:369:9\n\tand.b32 \t%r13, %r7, 120;\n\tsetp.eq.b32 \t%p3, %r13, 0;\n\tand.pred \t%p2, %p3, %p1;\n\t// begin inline asm\n\t@%p2 st.global.b32 [ %rd4 + 0 ], { %r4 };\n\n\t// end inline asm\n\t.loc\t1 347 5 // generate_examples.py:347:5\n\tret;\n$L__tmp1:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 0 // DW_CHILDREN_no\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 113 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0x6a DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","fused_op_kernel.json":"{\"hash\": \"0a7707c5f05286447121bb3674a0dbe36368322c817f490488942e13fc939971\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 4, \"num_ctas\": 1, \"num_stages\": 3, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.8.0\", \"tensordesc_meta\": [], \"shared\": 0, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"fused_op_kernel\"}","fused_op_kernel.sass":"Function:fused_op_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 41\n /*0010*/ S2R R12, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*0020*/ LDC.64 R2, c[0x0][0x210] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0030*/ ULDC UR6, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0040*/ MOV R13, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 357\n\t//## File \".nv_debug_ptx_txt\", line 35\n /*0050*/ S2R R11, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*0060*/ LDC.64 R4, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0070*/ LDC.64 R6, c[0x0][0x220] ;\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0080*/ HFMA2.MMA R10, -RZ, RZ, 0, 0 ;\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0090*/ ULDC.64 UR4, c[0x0][0x208] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*00a0*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*00b0*/ LOP3.LUT R0, R12, 0x7, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*00c0*/ LEA R11, R11, R0, 0x3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 56\n /*00d0*/ HFMA2.MMA R0, -RZ, RZ, 0, 0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*00e0*/ ISETP.GE.AND P0, PT, R11.reuse, UR6, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*00f0*/ IMAD.WIDE R2, R11, 0x4, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*0100*/ IMAD.WIDE R4, R11, 0x4, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0110*/ IMAD.WIDE R6, R11, 0x4, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 56\n /*0120*/ @!P0 LDG.E R0, desc[UR4][R2.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0130*/ @!P0 LDG.E R13, desc[UR4][R4.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0140*/ @!P0 LDG.E R10, desc[UR4][R6.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 84\n /*0150*/ LOP3.LUT P0, RZ, R12, 0x78, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 81\n /*0160*/ IMAD.WIDE R8, R11, 0x4, R8 ;\n /*0170*/ ISETP.LT.AND P0, PT, R11, UR6, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 365\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0180*/ ULDC UR6, c[0x0][0x234] ;\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0190*/ FMUL R13, R13, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*01a0*/ FFMA R13, R13, UR6, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 87\n /*01b0*/ @!P0 EXIT ;\n /*01c0*/ STG.E desc[UR4][R8.64], R13 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 91\n /*01d0*/ EXIT ;\n.L_x_0:\n /*01e0*/ BRA `(.L_x_0);\n /*01f0*/ NOP;\n /*0200*/ NOP;\n /*0210*/ NOP;\n /*0220*/ NOP;\n /*0230*/ NOP;\n /*0240*/ NOP;\n /*0250*/ NOP;\n /*0260*/ NOP;\n /*0270*/ NOP;\n.L_x_1:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":346,"end_line":369,"code":" @triton.jit\n def fused_op_kernel(\n a_ptr,\n b_ptr,\n c_ptr,\n output_ptr,\n n_elements,\n scale_factor: float,\n ACTIVATION: tl.constexpr,\n BLOCK_SIZE: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)\n mask = offsets < n_elements\n\n a = tl.load(a_ptr + offsets, mask=mask)\n b = tl.load(b_ptr + offsets, mask=mask)\n c = tl.load(c_ptr + offsets, mask=mask)\n\n result = a * b * scale_factor + c\n if ACTIVATION == \"relu\":\n result = tl.where(result > 0, result, 0.0)\n\n tl.store(output_ptr + offsets, result, mask=mask)\n"}}} +{"event_type":"compilation","pid":4104992,"stack":[{"line":203,"name":"_run_module_as_main","filename":"","loc":""},{"line":88,"name":"_run_code","filename":"","loc":""},{"line":795,"name":"","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"raise SystemExit(main())"},{"line":783,"name":"main","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"artifacts = generate(workload, args.out_dir.resolve())"},{"line":655,"name":"generate","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"workload.run()"},{"line":431,"name":"_run_complex_kernels","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op(x, y, z, scale_factor=1.0, activation=\"relu\").sum()"},{"line":404,"name":"fused_op","filename":"/tritonparse/tritonparse/tools/generate_examples.py","loc":"fused_op_kernel[grid]("},{"line":374,"name":"","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"return lambda *args, **kwargs: self.run(grid=grid, warmup=False, *args, **kwargs)"},{"line":757,"name":"run","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self._do_compile(key, signature, device, constexprs, options, attrs, warmup)"},{"line":902,"name":"_do_compile","filename":"/python/lib/python3.14/site-packages/triton/runtime/jit.py","loc":"kernel = self.compile(src, target=target, options=options.__dict__)"},{"line":272,"name":"compile","filename":"/python/lib/python3.14/site-packages/triton/compiler/compiler.py","loc":"compilation_listener("},{"line":1640,"name":"maybe_trace_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"trace_structured_triton("},{"line":1554,"name":"trace_structured_triton","filename":"/tritonparse/tritonparse/structured_logging.py","loc":"metadata_dict[\"stack\"] = get_stack_trace()"}],"timestamp":"2026-09-23T10:04:05.%fZ","payload":{"metadata":{"cache_hit":true,"allowed_dot_input_precisions":["tf32","tf32x3","ieee","bf16x3","bf16x6"],"arch":"sm90","backend_name":"cuda","debug":false,"default_dot_input_precision":"tf32","deprecated_fp8_dot_operand_dtypes":["fp8e4b15"],"enable_fp_fusion":true,"enable_reflect_ftz":true,"extern_libs":[["libdevice","/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc"]],"global_scratch_align":1,"global_scratch_size":0,"hash":"cdc015d6a276c85a8b6f9cba0503bf70fe44d6f37b3877bf50efa3fe05c91037","instrumentation_mode":"","ir_override":null,"launch_cooperative_grid":false,"launch_pdl":false,"max_num_imprecise_acc_default":1073741824,"maxnreg":null,"name":"fused_op_kernel","num_ctas":1,"num_stages":3,"num_warps":4,"profile_scratch_align":1,"profile_scratch_size":0,"ptx_options":null,"ptx_version":null,"sanitize_overflow":true,"shared":0,"supported_fp8_dtypes":["fp8e4b15","fp8e4nv","fp8e5"],"target":{"backend":"cuda","arch":90,"warp_size":32},"tensordesc_meta":[],"tmem_size":0,"triton_version":"3.8.0","warp_size":32,"env":{},"src_attrs":{"(0,)":[["tt.divisibility",16]],"(1,)":[["tt.divisibility",16]],"(2,)":[["tt.divisibility",16]],"(3,)":[["tt.divisibility",16]],"(4,)":[],"(6,)":[],"(7,)":[]},"src_cache_key":"f2e5ae6c41d3bfc26af60eada8fff38a0b318cffe77df20b32d117346110ff07","src_constants":{"(6,)":"relu","(7,)":8},"times":{"ir_initialization":961,"lowering_stages":[],"store_results":0}},"file_path":{"fused_op_kernel.source":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.source","fused_op_kernel.ttir":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.ttir","fused_op_kernel.ttgir":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.ttgir","fused_op_kernel.llir":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.llir","fused_op_kernel.ptx":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.ptx","fused_op_kernel.cubin":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.cubin","fused_op_kernel.json":"/home/user/.triton/cache/ZXABLVVCO3EFVC3PTS5AKA57OD7EJVXTPM4HPP2Q56R74BOJCA3Q/fused_op_kernel.json"},"file_content":{"fused_op_kernel.ttir":"#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:5)\n#loc17 = loc(\"a_ptr\"(#loc))\n#loc18 = loc(\"b_ptr\"(#loc))\n#loc19 = loc(\"c_ptr\"(#loc))\n#loc20 = loc(\"output_ptr\"(#loc))\n#loc21 = loc(\"n_elements\"(#loc))\n#loc22 = loc(\"scale_factor\"(#loc))\nmodule {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %cst = arith.constant dense<0.000000e+00> : tensor<8xf32> loc(#loc1)\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc23)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc24)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32> loc(#loc25)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32> loc(#loc24)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32> loc(#loc24)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32> loc(#loc26)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32> loc(#loc26)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc27)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc27)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr> loc(#loc28)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc29)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc29)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr> loc(#loc30)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc31)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc31)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr> loc(#loc32)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32> loc(#loc33)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32> loc(#loc33)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32> loc(#loc33)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32> loc(#loc33)\n %result_13 = arith.cmpf ogt, %result_12, %cst : tensor<8xf32> loc(#loc34)\n %result_14 = arith.select %result_13, %result_12, %cst : tensor<8xi1>, tensor<8xf32> loc(#loc35)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr> loc(#loc15)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr>, tensor<8xi32> loc(#loc15)\n tt.store %1, %result_14, %mask_3 : tensor<8x!tt.ptr> loc(#loc16)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:15)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:19)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:38)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:16)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:13)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:21)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:13)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:21)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:13)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:31)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:22)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:18)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:9)\n#loc23 = loc(\"pid\"(#loc2))\n#loc24 = loc(\"offsets\"(#loc3))\n#loc25 = loc(\"offsets\"(#loc4))\n#loc26 = loc(\"mask\"(#loc5))\n#loc27 = loc(\"a\"(#loc6))\n#loc28 = loc(\"a\"(#loc7))\n#loc29 = loc(\"b\"(#loc8))\n#loc30 = loc(\"b\"(#loc9))\n#loc31 = loc(\"c\"(#loc10))\n#loc32 = loc(\"c\"(#loc11))\n#loc33 = loc(\"result\"(#loc12))\n#loc34 = loc(\"result\"(#loc13))\n#loc35 = loc(\"result\"(#loc14))\n","fused_op_kernel.ttgir":"#blocked = #ttg.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>\n#loc = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":347:5)\n#loc17 = loc(\"a_ptr\"(#loc))\n#loc18 = loc(\"b_ptr\"(#loc))\n#loc19 = loc(\"c_ptr\"(#loc))\n#loc20 = loc(\"output_ptr\"(#loc))\n#loc21 = loc(\"n_elements\"(#loc))\n#loc22 = loc(\"scale_factor\"(#loc))\nmodule attributes {\"ttg.num-ctas\" = 1 : i32, \"ttg.num-warps\" = 4 : i32, ttg.target = \"cuda:90\", \"ttg.threads-per-warp\" = 32 : i32} {\n tt.func public @fused_op_kernel(%a_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"a_ptr\"(#loc)), %b_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"b_ptr\"(#loc)), %c_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"c_ptr\"(#loc)), %output_ptr: !tt.ptr {tt.divisibility = 16 : i32} loc(\"output_ptr\"(#loc)), %n_elements: i32 loc(\"n_elements\"(#loc)), %scale_factor: f32 loc(\"scale_factor\"(#loc))) attributes {noinline = false} {\n %c8_i32 = arith.constant 8 : i32 loc(#loc1)\n %cst = arith.constant dense<0.000000e+00> : tensor<8xf32, #blocked> loc(#loc1)\n %pid = tt.get_program_id x : i32 loc(#loc23)\n %offsets = arith.muli %pid, %c8_i32 : i32 loc(#loc24)\n %offsets_0 = tt.make_range {end = 8 : i32, start = 0 : i32} : tensor<8xi32, #blocked> loc(#loc25)\n %offsets_1 = tt.splat %offsets : i32 -> tensor<8xi32, #blocked> loc(#loc24)\n %offsets_2 = arith.addi %offsets_1, %offsets_0 : tensor<8xi32, #blocked> loc(#loc24)\n %mask = tt.splat %n_elements : i32 -> tensor<8xi32, #blocked> loc(#loc26)\n %mask_3 = arith.cmpi slt, %offsets_2, %mask : tensor<8xi32, #blocked> loc(#loc26)\n %a = tt.splat %a_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc27)\n %a_4 = tt.addptr %a, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc27)\n %a_5 = tt.load %a_4, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc28)\n %b = tt.splat %b_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc29)\n %b_6 = tt.addptr %b, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc29)\n %b_7 = tt.load %b_6, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc30)\n %c = tt.splat %c_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc31)\n %c_8 = tt.addptr %c, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc31)\n %c_9 = tt.load %c_8, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc32)\n %result = arith.mulf %a_5, %b_7 : tensor<8xf32, #blocked> loc(#loc33)\n %result_10 = tt.splat %scale_factor : f32 -> tensor<8xf32, #blocked> loc(#loc33)\n %result_11 = arith.mulf %result, %result_10 : tensor<8xf32, #blocked> loc(#loc33)\n %result_12 = arith.addf %result_11, %c_9 : tensor<8xf32, #blocked> loc(#loc33)\n %result_13 = arith.cmpf ogt, %result_12, %cst : tensor<8xf32, #blocked> loc(#loc34)\n %result_14 = arith.select %result_13, %result_12, %cst : tensor<8xi1, #blocked>, tensor<8xf32, #blocked> loc(#loc35)\n %0 = tt.splat %output_ptr : !tt.ptr -> tensor<8x!tt.ptr, #blocked> loc(#loc15)\n %1 = tt.addptr %0, %offsets_2 : tensor<8x!tt.ptr, #blocked>, tensor<8xi32, #blocked> loc(#loc15)\n tt.store %1, %result_14, %mask_3 : tensor<8x!tt.ptr, #blocked> loc(#loc16)\n tt.return loc(#loc)\n } loc(#loc)\n} loc(#loc)\n#loc1 = loc(unknown)\n#loc2 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":357:15)\n#loc3 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:19)\n#loc4 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":358:38)\n#loc5 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":359:16)\n#loc6 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:21)\n#loc7 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":361:13)\n#loc8 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:21)\n#loc9 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":362:13)\n#loc10 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:21)\n#loc11 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":363:13)\n#loc12 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":365:18)\n#loc13 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:31)\n#loc14 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":367:22)\n#loc15 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:18)\n#loc16 = loc(\"/tritonparse/tritonparse/tools/generate_examples.py\":369:9)\n#loc23 = loc(\"pid\"(#loc2))\n#loc24 = loc(\"offsets\"(#loc3))\n#loc25 = loc(\"offsets\"(#loc4))\n#loc26 = loc(\"mask\"(#loc5))\n#loc27 = loc(\"a\"(#loc6))\n#loc28 = loc(\"a\"(#loc7))\n#loc29 = loc(\"b\"(#loc8))\n#loc30 = loc(\"b\"(#loc9))\n#loc31 = loc(\"c\"(#loc10))\n#loc32 = loc(\"c\"(#loc11))\n#loc33 = loc(\"result\"(#loc12))\n#loc34 = loc(\"result\"(#loc13))\n#loc35 = loc(\"result\"(#loc14))\n","fused_op_kernel.llir":"; ModuleID = 'LLVMDialectModule'\nsource_filename = \"LLVMDialectModule\"\ntarget datalayout = \"e-p3:32:32-p4:32:32-p5:32:32-p6:32:32-p7:32:32-i64:64-i128:128-i256:256-v16:16-v32:32-n16:32:64\"\n\n; Function Attrs: nounwind\ndefine ptx_kernel void @fused_op_kernel(ptr addrspace(1) %0, ptr addrspace(1) %1, ptr addrspace(1) %2, ptr addrspace(1) %3, i32 %4, float %5, ptr addrspace(1) readnone captures(none) %6, ptr addrspace(1) readnone captures(none) %7) local_unnamed_addr #0 !dbg !4 {\n %9 = tail call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !12\n %10 = shl i32 %9, 3, !dbg !13\n %11 = tail call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !14\n %12 = and i32 %11, 7, !dbg !14\n %13 = or disjoint i32 %10, %12, !dbg !13\n %14 = icmp slt i32 %13, %4, !dbg !15\n %15 = sext i32 %13 to i64, !dbg !16\n %16 = getelementptr [4 x i8], ptr addrspace(1) %0, i64 %15, !dbg !16\n %17 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %16, i1 %14) #2, !dbg !17\n %18 = bitcast i32 %17 to float, !dbg !17\n %19 = getelementptr [4 x i8], ptr addrspace(1) %1, i64 %15, !dbg !18\n %20 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %19, i1 %14) #2, !dbg !19\n %21 = bitcast i32 %20 to float, !dbg !19\n %22 = getelementptr [4 x i8], ptr addrspace(1) %2, i64 %15, !dbg !20\n %23 = tail call i32 asm sideeffect \"mov.u32 $0, 0x0;\\0A\\09@$2 ld.global.b32 { $0 }, [ $1 + 0 ];\", \"=r,l,b\"(ptr addrspace(1) %22, i1 %14) #2, !dbg !21\n %24 = bitcast i32 %23 to float, !dbg !21\n %25 = fmul float %18, %21, !dbg !22\n %26 = fmul float %5, %25, !dbg !22\n %27 = fadd float %26, %24, !dbg !22\n %28 = fcmp ogt float %27, 0.000000e+00, !dbg !23\n %29 = getelementptr [4 x i8], ptr addrspace(1) %3, i64 %15, !dbg !24\n %30 = and i32 %11, 120, !dbg !25\n %31 = icmp eq i32 %30, 0, !dbg !25\n %32 = bitcast float %27 to i32, !dbg !25\n %33 = select i1 %28, i32 %32, i32 0, !dbg !26\n %34 = and i1 %31, %14, !dbg !25\n tail call void asm sideeffect \"@$2 st.global.b32 [ $1 + 0 ], { $0 };\", \"r,l,b\"(i32 %33, ptr addrspace(1) %29, i1 %34) #2, !dbg !25\n ret void, !dbg !27\n}\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 2147483647) i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #1\n\n; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare noundef range(i32 0, 1024) i32 @llvm.nvvm.read.ptx.sreg.tid.x() #1\n\nattributes #0 = { nounwind \"nvvm.reqntid\"=\"128\" }\nattributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }\nattributes #2 = { nounwind }\n\n!llvm.dbg.cu = !{!0}\n!llvm.module.flags = !{!2, !3}\n\n!0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: \"triton\", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly)\n!1 = !DIFile(filename: \"generate_examples.py\", directory: \"/tritonparse/tritonparse/tools\")\n!2 = !{i32 2, !\"Debug Info Version\", i32 3}\n!3 = !{i32 4, !\"nvvm-reflect-ftz\", i32 1}\n!4 = distinct !DISubprogram(name: \"fused_op_kernel\", linkageName: \"fused_op_kernel\", scope: !1, file: !1, line: 347, type: !5, scopeLine: 347, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0)\n!5 = !DISubroutineType(cc: DW_CC_normal, types: !6)\n!6 = !{null, !7, !7, !7, !7, !9, !8, !10, !10}\n!7 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !8, size: 64, dwarfAddressSpace: 1)\n!8 = !DIBasicType(name: \"float\", size: 32, encoding: DW_ATE_float)\n!9 = !DIBasicType(name: \"int\", size: 32, encoding: DW_ATE_signed)\n!10 = !DIDerivedType(tag: DW_TAG_pointer_type, name: \"pointer\", baseType: !11, size: 64, dwarfAddressSpace: 1)\n!11 = !DIBasicType(name: \"unknown_type\", encoding: DW_ATE_signed)\n!12 = !DILocation(line: 357, column: 15, scope: !4)\n!13 = !DILocation(line: 358, column: 19, scope: !4)\n!14 = !DILocation(line: 358, column: 38, scope: !4)\n!15 = !DILocation(line: 359, column: 16, scope: !4)\n!16 = !DILocation(line: 361, column: 21, scope: !4)\n!17 = !DILocation(line: 361, column: 13, scope: !4)\n!18 = !DILocation(line: 362, column: 21, scope: !4)\n!19 = !DILocation(line: 362, column: 13, scope: !4)\n!20 = !DILocation(line: 363, column: 21, scope: !4)\n!21 = !DILocation(line: 363, column: 13, scope: !4)\n!22 = !DILocation(line: 365, column: 18, scope: !4)\n!23 = !DILocation(line: 367, column: 31, scope: !4)\n!24 = !DILocation(line: 369, column: 18, scope: !4)\n!25 = !DILocation(line: 369, column: 9, scope: !4)\n!26 = !DILocation(line: 367, column: 22, scope: !4)\n!27 = !DILocation(line: 347, column: 5, scope: !4)\n","fused_op_kernel.ptx":"//\n// Generated by LLVM NVPTX Back-End\n//\n\n.version 8.8\n.target sm_90a\n.address_size 64\n\n\t// .globl\tfused_op_kernel // -- Begin function fused_op_kernel\n // @fused_op_kernel\n.visible .entry fused_op_kernel(\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_0,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_1,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_2,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_3,\n\t.param .u32 fused_op_kernel_param_4,\n\t.param .f32 fused_op_kernel_param_5,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_6,\n\t.param .u64 .ptr .global .align 1 fused_op_kernel_param_7\n)\n.reqntid 128\n{\n\t.reg .pred \t%p<5>;\n\t.reg .b32 \t%r<15>;\n\t.reg .b64 \t%rd<10>;\n\t.loc\t1 347 0 // generate_examples.py:347:0\n$L__func_begin0:\n\t.loc\t1 347 0 // generate_examples.py:347:0\n\n// %bb.0:\n\tld.param.b64 \t%rd5, [fused_op_kernel_param_0];\n\tld.param.b64 \t%rd6, [fused_op_kernel_param_1];\n$L__tmp0:\n\t.loc\t1 357 15 // generate_examples.py:357:15\n\tmov.u32 \t%r5, %ctaid.x;\n\t.loc\t1 358 19 // generate_examples.py:358:19\n\tshl.b32 \t%r6, %r5, 3;\n\tld.param.b64 \t%rd7, [fused_op_kernel_param_2];\n\tld.param.b64 \t%rd8, [fused_op_kernel_param_3];\n\t.loc\t1 358 38 // generate_examples.py:358:38\n\tmov.u32 \t%r7, %tid.x;\n\tand.b32 \t%r8, %r7, 7;\n\tld.param.b32 \t%r9, [fused_op_kernel_param_4];\n\t.loc\t1 358 19 // generate_examples.py:358:19\n\tor.b32 \t%r10, %r6, %r8;\n\tld.param.b32 \t%r11, [fused_op_kernel_param_5];\n\t.loc\t1 359 16 // generate_examples.py:359:16\n\tsetp.lt.s32 \t%p1, %r10, %r9;\n\t.loc\t1 361 21 // generate_examples.py:361:21\n\tmul.wide.s32 \t%rd9, %r10, 4;\n\tadd.s64 \t%rd1, %rd5, %rd9;\n\t.loc\t1 361 13 // generate_examples.py:361:13\n\t// begin inline asm\n\t.loc\t1 361 13 // generate_examples.py:361:13\n\tmov.u32 %r1, 0x0;\n\t@%p1 ld.global.b32 { %r1 }, [ %rd1 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 362 21 // generate_examples.py:362:21\n\tadd.s64 \t%rd2, %rd6, %rd9;\n\t.loc\t1 362 13 // generate_examples.py:362:13\n\t// begin inline asm\n\t.loc\t1 362 13 // generate_examples.py:362:13\n\tmov.u32 %r2, 0x0;\n\t@%p1 ld.global.b32 { %r2 }, [ %rd2 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 363 21 // generate_examples.py:363:21\n\tadd.s64 \t%rd3, %rd7, %rd9;\n\t.loc\t1 363 13 // generate_examples.py:363:13\n\t// begin inline asm\n\t.loc\t1 363 13 // generate_examples.py:363:13\n\tmov.u32 %r3, 0x0;\n\t@%p1 ld.global.b32 { %r3 }, [ %rd3 + 0 ];\n\n\t// end inline asm\n\t.loc\t1 365 18 // generate_examples.py:365:18\n\tmul.f32 \t%r12, %r1, %r2;\n\tfma.rn.f32 \t%r13, %r11, %r12, %r3;\n\t.loc\t1 367 31 // generate_examples.py:367:31\n\tsetp.gt.f32 \t%p3, %r13, 0f00000000;\n\t.loc\t1 369 18 // generate_examples.py:369:18\n\tadd.s64 \t%rd4, %rd8, %rd9;\n\t.loc\t1 369 9 // generate_examples.py:369:9\n\tand.b32 \t%r14, %r7, 120;\n\tsetp.eq.b32 \t%p4, %r14, 0;\n\t.loc\t1 367 22 // generate_examples.py:367:22\n\tselp.b32 \t%r4, %r13, 0, %p3;\n\t.loc\t1 369 9 // generate_examples.py:369:9\n\tand.pred \t%p2, %p4, %p1;\n\t// begin inline asm\n\t@%p2 st.global.b32 [ %rd4 + 0 ], { %r4 };\n\n\t// end inline asm\n\t.loc\t1 347 5 // generate_examples.py:347:5\n\tret;\n$L__tmp1:\n$L__func_end0:\n // -- End function\n}\n\t.file\t1 \"/tritonparse/tritonparse/tools/generate_examples.py\"\n\t.section\t.debug_abbrev\n\t{\n.b8 1 // Abbreviation Code\n.b8 17 // DW_TAG_compile_unit\n.b8 0 // DW_CHILDREN_no\n.b8 37 // DW_AT_producer\n.b8 8 // DW_FORM_string\n.b8 19 // DW_AT_language\n.b8 5 // DW_FORM_data2\n.b8 3 // DW_AT_name\n.b8 8 // DW_FORM_string\n.b8 16 // DW_AT_stmt_list\n.b8 6 // DW_FORM_data4\n.b8 27 // DW_AT_comp_dir\n.b8 8 // DW_FORM_string\n.b8 0 // EOM(1)\n.b8 0 // EOM(2)\n.b8 0 // EOM(3)\n\t}\n\t.section\t.debug_info\n\t{\n.b32 113 // Length of Unit\n.b8 2 // DWARF version number\n.b8 0\n.b32 .debug_abbrev // Offset Into Abbrev. Section\n.b8 8 // Address Size (in bytes)\n.b8 1 // Abbrev [1] 0xb:0x6a DW_TAG_compile_unit\n.b8 116 // DW_AT_producer\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 0\n.b8 2 // DW_AT_language\n.b8 0\n.b8 103 // DW_AT_name\n.b8 101\n.b8 110\n.b8 101\n.b8 114\n.b8 97\n.b8 116\n.b8 101\n.b8 95\n.b8 101\n.b8 120\n.b8 97\n.b8 109\n.b8 112\n.b8 108\n.b8 101\n.b8 115\n.b8 46\n.b8 112\n.b8 121\n.b8 0\n.b32 .debug_line // DW_AT_stmt_list\n.b8 47 // DW_AT_comp_dir\n.b8 100\n.b8 97\n.b8 116\n.b8 97\n.b8 47\n.b8 117\n.b8 115\n.b8 101\n.b8 114\n.b8 115\n.b8 47\n.b8 121\n.b8 104\n.b8 97\n.b8 111\n.b8 47\n.b8 102\n.b8 98\n.b8 115\n.b8 111\n.b8 117\n.b8 114\n.b8 99\n.b8 101\n.b8 47\n.b8 102\n.b8 98\n.b8 99\n.b8 111\n.b8 100\n.b8 101\n.b8 47\n.b8 112\n.b8 121\n.b8 116\n.b8 111\n.b8 114\n.b8 99\n.b8 104\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 114\n.b8 105\n.b8 116\n.b8 111\n.b8 110\n.b8 112\n.b8 97\n.b8 114\n.b8 115\n.b8 101\n.b8 47\n.b8 116\n.b8 111\n.b8 111\n.b8 108\n.b8 115\n.b8 0\n\t}\n\t.section\t.debug_macinfo\t{\t}\n","fused_op_kernel.json":"{\"hash\": \"cdc015d6a276c85a8b6f9cba0503bf70fe44d6f37b3877bf50efa3fe05c91037\", \"target\": {\"backend\": \"cuda\", \"arch\": 90, \"warp_size\": 32}, \"num_warps\": 4, \"num_ctas\": 1, \"num_stages\": 3, \"warp_size\": 32, \"maxnreg\": null, \"ptx_version\": null, \"ptx_options\": null, \"ir_override\": null, \"enable_fp_fusion\": true, \"enable_reflect_ftz\": true, \"launch_cooperative_grid\": false, \"launch_pdl\": false, \"supported_fp8_dtypes\": [\"fp8e4b15\", \"fp8e4nv\", \"fp8e5\"], \"deprecated_fp8_dot_operand_dtypes\": [\"fp8e4b15\"], \"default_dot_input_precision\": \"tf32\", \"allowed_dot_input_precisions\": [\"tf32\", \"tf32x3\", \"ieee\", \"bf16x3\", \"bf16x6\"], \"max_num_imprecise_acc_default\": 1073741824, \"extern_libs\": [[\"libdevice\", \"/python/lib/python3.14/site-packages/triton/backends/nvidia/lib/libdevice.10.bc\"]], \"debug\": false, \"backend_name\": \"cuda\", \"sanitize_overflow\": true, \"arch\": \"sm90\", \"instrumentation_mode\": \"\", \"triton_version\": \"3.8.0\", \"tensordesc_meta\": [], \"shared\": 0, \"tmem_size\": 0, \"global_scratch_size\": 0, \"global_scratch_align\": 1, \"profile_scratch_size\": 0, \"profile_scratch_align\": 1, \"name\": \"fused_op_kernel\"}","fused_op_kernel.sass":"Function:fused_op_kernel\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0000*/ LDC R1, c[0x0][0x28] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 41\n /*0010*/ S2R R12, SR_TID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*0020*/ LDC.64 R2, c[0x0][0x210] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*0030*/ ULDC UR6, c[0x0][0x230] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0040*/ MOV R13, RZ ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 357\n\t//## File \".nv_debug_ptx_txt\", line 35\n /*0050*/ S2R R11, SR_CTAID.X ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*0060*/ LDC.64 R4, c[0x0][0x218] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0070*/ LDC.64 R6, c[0x0][0x220] ;\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0080*/ HFMA2.MMA R10, -RZ, RZ, 0, 0 ;\n\t//## File \".nv_debug_ptx_txt\", line 22\n /*0090*/ ULDC.64 UR4, c[0x0][0x208] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 83\n /*00a0*/ LDC.64 R8, c[0x0][0x228] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 358\n\t//## File \".nv_debug_ptx_txt\", line 42\n /*00b0*/ LOP3.LUT R0, R12, 0x7, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 45\n /*00c0*/ LEA R11, R11, R0, 0x3 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 56\n /*00d0*/ HFMA2.MMA R0, -RZ, RZ, 0, 0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 359\n\t//## File \".nv_debug_ptx_txt\", line 48\n /*00e0*/ ISETP.GE.AND P0, PT, R11.reuse, UR6, PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 51\n /*00f0*/ IMAD.WIDE R2, R11, 0x4, R2 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 60\n /*0100*/ IMAD.WIDE R4, R11, 0x4, R4 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 69\n /*0110*/ IMAD.WIDE R6, R11, 0x4, R6 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 361\n\t//## File \".nv_debug_ptx_txt\", line 56\n /*0120*/ @!P0 LDG.E R0, desc[UR4][R2.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 362\n\t//## File \".nv_debug_ptx_txt\", line 65\n /*0130*/ @!P0 LDG.E R13, desc[UR4][R4.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 363\n\t//## File \".nv_debug_ptx_txt\", line 74\n /*0140*/ @!P0 LDG.E R10, desc[UR4][R6.64] ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 86\n /*0150*/ LOP3.LUT P0, RZ, R12, 0x78, RZ, 0xc0, !PT ;\n\t//## File \".nv_debug_ptx_txt\", line 83\n /*0160*/ IMAD.WIDE R2, R11, 0x4, R8 ;\n /*0170*/ ISETP.LT.AND P0, PT, R11, UR6, !P0 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 365\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*0180*/ ULDC UR6, c[0x0][0x234] ;\n\t//## File \".nv_debug_ptx_txt\", line 78\n /*0190*/ FMUL R13, R13, R0 ;\n\t//## File \".nv_debug_ptx_txt\", line 79\n /*01a0*/ FFMA R10, R13, UR6, R10 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 367\n\t//## File \".nv_debug_ptx_txt\", line 88\n /*01b0*/ FMNMX R9, RZ, R10, !PT ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 369\n\t//## File \".nv_debug_ptx_txt\", line 92\n /*01c0*/ @!P0 EXIT ;\n /*01d0*/ STG.E desc[UR4][R2.64], R9 ;\n\t//## File \"/tritonparse/tritonparse/tools/generate_examples.py\", line 347\n\t//## File \".nv_debug_ptx_txt\", line 96\n /*01e0*/ EXIT ;\n.L_x_0:\n /*01f0*/ BRA `(.L_x_0);\n /*0200*/ NOP;\n /*0210*/ NOP;\n /*0220*/ NOP;\n /*0230*/ NOP;\n /*0240*/ NOP;\n /*0250*/ NOP;\n /*0260*/ NOP;\n /*0270*/ NOP;\n.L_x_1:\n\n\n//--------------------- SYMBOLS --------------------------\n\n\t.type\t\t.nv.reservedSmem.offset0,@object\n\t.size\t\t.nv.reservedSmem.offset0,0x4\n\n"},"python_source":{"file_path":"/tritonparse/tritonparse/tools/generate_examples.py","start_line":346,"end_line":369,"code":" @triton.jit\n def fused_op_kernel(\n a_ptr,\n b_ptr,\n c_ptr,\n output_ptr,\n n_elements,\n scale_factor: float,\n ACTIVATION: tl.constexpr,\n BLOCK_SIZE: tl.constexpr,\n ):\n pid = tl.program_id(axis=0)\n offsets = pid * BLOCK_SIZE + tl.arange(0, BLOCK_SIZE)\n mask = offsets < n_elements\n\n a = tl.load(a_ptr + offsets, mask=mask)\n b = tl.load(b_ptr + offsets, mask=mask)\n c = tl.load(c_ptr + offsets, mask=mask)\n\n result = a * b * scale_factor + c\n if ACTIVATION == \"relu\":\n result = tl.where(result > 0, result, 0.0)\n\n tl.store(output_ptr + offsets, result, mask=mask)\n"}}} diff --git a/tests/example_output/parsed_output_complex/dedicated_log_triton_trace_findhao__mapped.ndjson.gz b/tests/example_output/parsed_output_complex/dedicated_log_triton_trace_findhao__mapped.ndjson.gz index 81514a4ab2d0d23318f5f9cb5463a5eec65a7bce..833dc934493eb62f92140ffe730a7004c8cad68b 100644 GIT binary patch literal 170527 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�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 diff --git a/tests/example_output/parsed_output_inductor/dedicated_log_triton_trace_inductor__mapped.ndjson.gz b/tests/example_output/parsed_output_inductor/dedicated_log_triton_trace_inductor__mapped.ndjson.gz index 547a17592ac3d1e34e0af494b9ddf7579e0531fa..4dfb43e111c0e7bde76d1edd63f7c7db80cc24b0 100644 GIT binary patch literal 198704 zcmeFZby!=$xA)tY;$F09i%W3#QVJAz4elP?p~VZq-QAtw5Zv9}io3gC&OP_sd*A0h z@;m3>_m}5MKKnZ}YtQVpCTnN!WI_r?KzR4|`0#3EY-Dbz?`UkKYXvgZb+k8k1lhbn z-_Tgs+{Vbs&=F*>t81-qYin%8Xk%pI0J3>^)N&ucBsRHs|H=>hqdr32=1*tqIAcb9 zZG#uX&t*b+D7u=#z)8;pi~fOO6#Y>D`|&VA0QPt#uoTkC9S8 zwg~Q}z6d!&k(qv`Zn>X0J*4S#r#vcgop)uDJMX*{PO0HYDH(|zbqDi#uI;xyk0(96 z|ENl#a`f>8Ws_%u%+_SxjOCh$%h{wn;=J!=S_;OKBfPT>`t7&vG!-jX1{Y&Y1mr{}&YwRe-^B8EA!S>Y(|SI|1UH~;wuCVQ;0^YY~d&x4+p zd#7}Tt%oXVXlpnY=;moquBp)Eb}N_WcWsTt3PMJ7BO&F>JTX<3EuGQ(<^=sKZ-ORr z1=}2nWn{cywu>B{t)BI(PI|D(p45^N;&Qrc5`_RwstpTpgmrNH06wRO88K&Ri0~6( z`mO8Cb<^fIY_Yk>QXzh?by-6>>|XG`U4PG~Nppo}(n|%xpSwNSgX-30p?54;J5^m22&5i(C)1zBG1`=)psp-3nP2*Z zZ;=5!3U?de+l0Fknk0ky$w}wY@ibZD-561Vz>WYsO3U1kmi>m^N_GBlEU}mF&)?j2 zm=EHM9~C}2LLiI;QnSc745*bt8dS(!1a9QBQo-LpHHt9VXFiYM(dem$J-sWoP6$GT z8PkuG#~$rE^D4?U))+FDD@kY5`PfxM+M0z1?#}4_BC;Xs!^Z$*)%f8PXPS3b`o*76i(1ElGT`tFNzg>7iUBpz z(>iL54N1HZJ)s&f+$O9_NFz*IlUgo)L{zfnnT|ufzu^$x?h}K0OCa4yKuUEMTCF8T2~lr#H0-?F8B~%*<{u{MhQ2&9mM$ub zMOjtT^id;Y=#IgyPm}T%QRE@c@KB5d86<*6o2j1_3rd-!;7CtZu&KKHBX(_A`CUG_ zFki14&>sdkSm~TL;eW$EQ=QOiVqh{&6%zV&IW$(0`pWNiKXmzwe0X-SQWk6!2Svd( ztC;*7`sZE-O{>djI>{}V&mM~_#pE3AYYLS2+@L+MZgN;mC2X-U3iiopzww>tHwH
Xz_q9xQa`3l1O|!ZO6c{7mWX~d8I#{HvHr3 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�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 diff --git a/website/public/dedicated_log_triton_trace_inductor__mapped.ndjson.gz b/website/public/dedicated_log_triton_trace_inductor__mapped.ndjson.gz index 547a17592ac3d1e34e0af494b9ddf7579e0531fa..4dfb43e111c0e7bde76d1edd63f7c7db80cc24b0 100644 GIT binary patch literal 198704 zcmeFZby!=$xA)tY;$F09i%W3#QVJAz4elP?p~VZq-QAtw5Zv9}io3gC&OP_sd*A0h z@;m3>_m}5MKKnZ}YtQVpCTnN!WI_r?KzR4|`0#3EY-Dbz?`UkKYXvgZb+k8k1lhbn z-_Tgs+{Vbs&=F*>t81-qYin%8Xk%pI0J3>^)N&ucBsRHs|H=>hqdr32=1*tqIAcb9 zZG#uX&t*b+D7u=#z)8;pi~fOO6#Y>D`|&VA0QPt#uoTkC9S8 zwg~Q}z6d!&k(qv`Zn>X0J*4S#r#vcgop)uDJMX*{PO0HYDH(|zbqDi#uI;xyk0(96 z|ENl#a`f>8Ws_%u%+_SxjOCh$%h{wn;=J!=S_;OKBfPT>`t7&vG!-jX1{Y&Y1mr{}&YwRe-^B8EA!S>Y(|SI|1UH~;wuCVQ;0^YY~d&x4+p zd#7}Tt%oXVXlpnY=;moquBp)Eb}N_WcWsTt3PMJ7BO&F>JTX<3EuGQ(<^=sKZ-ORr z1=}2nWn{cywu>B{t)BI(PI|D(p45^N;&Qrc5`_RwstpTpgmrNH06wRO88K&Ri0~6( z`mO8Cb<^fIY_Yk>QXzh?by-6>>|XG`U4PG~Nppo}(n|%xpSwNSgX-30p?54;J5^m22&5i(C)1zBG1`=)psp-3nP2*Z zZ;=5!3U?de+l0Fknk0ky$w}wY@ibZD-561Vz>WYsO3U1kmi>m^N_GBlEU}mF&)?j2 zm=EHM9~C}2LLiI;QnSc745*bt8dS(!1a9QBQo-LpHHt9VXFiYM(dem$J-sWoP6$GT z8PkuG#~$rE^D4?U))+FDD@kY5`PfxM+M0z1?#}4_BC;Xs!^Z$*)%f8PXPS3b`o*76i(1ElGT`tFNzg>7iUBpz z(>iL54N1HZJ)s&f+$O9_NFz*IlUgo)L{zfnnT|ufzu^$x?h}K0OCa4yKuUEMTCF8T2~lr#H0-?F8B~%*<{u{MhQ2&9mM$ub zMOjtT^id;Y=#IgyPm}T%QRE@c@KB5d86<*6o2j1_3rd-!;7CtZu&KKHBX(_A`CUG_ zFki14&>sdkSm~TL;eW$EQ=QOiVqh{&6%zV&IW$(0`pWNiKXmzwe0X-SQWk6!2Svd( ztC;*7`sZE-O{>djI>{}V&mM~_#pE3AYYLS2+@L+MZgN;mC2X-U3iiopzww>tHwH
Xz_q9xQa`3l1O|!ZO6c{7mWX~d8I#{HvHr3 zHG^K$JH$BN?<$NnPwq!81L-%DP}x()+U%u(f${Zj#uWY`v~o@al*^nY7iuyPNkGI3 z%dqbhFf3cvgfF;wKH3fp`Htqj!HsI1A%|7bw2f3WXBw@>h4i(Gg0V#%YuSbym!>=O`{MkPd~@pb z$r|2F0x^kM`~D@2X#CbiB@*+Yg0SHrlxajb;BJVALIG#4(~Xuf)vizN9F4Fxs45;wJdem~cx|wy~1T&(lgX5^uhr5I_}|^n;PY z!_~6nvZv_l^eE&}sdC{2OQW{G7tLg0p}puc9%~OS$GPvua0$e|)iET+@3i@S)oS}8 z2cjkydpY~xHrWqs1rDG)9cBTtD!q=Enx?JHI7UA9M)*jAvH?qV@8vwiY96-mkn;> zNFz}rwk@?A2<@nm#hV{?*PP&SYT}W?wGBUvy~vi4FT+c zAav4rT*2B-Nx|NhfKRkw)$xNCJlNG5t_W!0dN18DQ^Hr9D&O2Xo?F}~QtB7xawc@9 zODEgS@336z0f^!Pds!4C_S;hp4M8hf%m=gB_<_bbl&vUsR0-!u(dwme^X8j!G}Xk4+>M#X3K>=ikX5F&|Pg zpZfKOpUE@^W-ru<_XYJ^0>P_wc>UU^gv+8yjea@XCt!DU^=D;P` z7aQmo#aKe#B@Z8OgR$GzSS|p7 zRhXsY+n6h5rtXAGjz`is{)5*`tI5ZL-^JjSX{XimBQlc-+A3JTdsj^azpee{$(MoR zY)DZWv$$6U!!1TuNL{)h6J)=w<*E?+_#LTUu{~|&f}Gl4K1%2U0+jcJNzEIzgX&df zH9()dx55fYLL)Y}Dvk!GVdseFK6moiv|KRR&cWIsNHZi0W<=!Qm$|ZJ1YrU-6M>@$ zx7fbYAU@k|a~O@jWPc$)@KwU9Pc(_!yilWC4YQqkJhKewr>`h}^Ef3Wau`RCICX61 zfWlCv1Cl7)CG`{X6+?;{HSkqSzv>}9hv5DB}~CBVZv^A=x^1e6tpDz+Lhrt0IoUvSa0@VArno)H{VFcXuvsyFY}2Y7#C ztEy*CL462tOAB3Tm&@d>B4B|_*~;s&w4_d7_;fJlx;BjbX%%MF_R+Y_k7`4}Q|Fl1 zV(dU4d++NeGlAQAq`u5J{*RC`?Y$4YUS=N$hEwuXK9^HX+5VMHbH!%~g&wr>T~oie zMEsi)@%f;%w@^@BjCRCUbu^q;{g^2eR;0_nb;T}*BBV;#h4S1#4j6qU_5!OM?;~`L zwbx?=GqMuL#jiFiAm^~@g(Y1*vBW8$LYxvJNYGENR;#Qsrwy_S$2MkWZ>c)^EYibS zmX%K*q&~>17@&jYN=E^>uDfVDuOOnTRsx@VuiyiyK^7w)}|>U8fPAL>uXt-7E5g zE!w&6$Q+wLn~?;q-S zg`n;)Ef(IlmqQ6_FBhj7uZQRHtbYgtjB$mE3!%gH7>@Ry64b!pLAnD4%553roXq*a za5`$sZo;0evd2Q-eBxm-h1Wk_lNxe~SNyBhz4uw6a7RPeP7Gf(%17x zTRrV@^}Hd`yL*2A5)^4pO?Q7OkTZAQpQ-reV`!3WAni!6)|~NcBR$*VB78uJ43!_j z^D7d$Wu488r9}IcX?x9M3b+v10rOw&0l2nm|?ZY$U;4 z4D1qBaEONN$5gL7Khcez&Y&+>Fpk5vDZ&7*Bxj;Flv77vJD}_eIEKB*_co1 zi>Rw!p}!<2=OPI+61)PGe$(fF-Wiq@fBSSdt_02<0FxV+{|yQ7R3y znCH^Nmfm=(Ke!2pRd~Qm+(#EV1VG9Z_5UQPQAR`9&GfmOvEa0yKgdXbn$dT9J~1T7aqDZEQmS5p53VRtp5P$E4`fsqMr z>2Q19iAkank!>1N9?hTug~RG77>644I76KbqkZO)8a-7FLFIT2>S{s3`%u7dG7fm=%Xjt){#M!6+Yxd3 zeVl@;`o|m9?|-|{M14TJNxc_dv3{iwl)<+{{S#;5S;h>9f4t<>SWuQGUA*tmRLLAuGFMTtx*w0YF^UDE~H9pK@kgPpK~_Iio;g(A(Km1($l3B#T<`m2Lx>n zUQP9XeK<|@;+}qZr7;zkowFdBgMqZFqjQD#1rN?i900OdTyrFEx(EMx2CErw$?~?@ zzvUqsrj^?EqAtto>$M>oT$S3X2Q7tn_Rf~-)wN%R?F+k_OSife&gN_xJ zU4V+@T+7Jdalq)d*xCRp+6fe8kF z8+!-j@GB&0HQ?zM0UvK8?e&Y|ozK0+nt)$7Nvr3525I^|#ff7^DB+Se(H zP<<9A_$7SSmOf;+VM$(4U&Q5^Dip#!_N-;@`X}5R95=cyHNn8PpyF9Zj?~aeL6tpgZk2Ll(N0N#s}wQk;(>a-@E8tqhMb}#6Dgc zJS|+@c3fC(NU?CGlYbQR#imeugp8{^_PqledhvOtq@g?wueNHjzRC^bfC|aapWokG z7?VivcCfcn&ZM|Ed`6SHEQ2dg1GQKdQ+~n8^(j)DniyK3rH8QD#HZ=V^a0}j!k-|< zzxX1i6OQ@Mle(?CqA(BIYHu7%-{{mR2e2w1P+6pUMpBXXY;$t4iFf&kg=ki*Suvqy*Gjqu3ZK zqL$2dF4A{d%v5G>7gxG7ltNic?b;5CC*;*|9F{(*g}Q62lxiEy9Tc}n9a(6r63pl(G)zH(Q^oSM=C!HrpL5WLrR{uwTM zg-RFUVb|fz+0Mh67zeag5UPO+db3vPw48i6bLN0TIiZXyUG#@tLwT*q;u{WKj#1@Y zs&O{)_}GH48d}M^qd3;-`4FY#MOE`+zPut(Tz;KWa<8iS0bicEOV8+C)}5 zi=k?X(hNY|;hWphvQtdLV%QZj=z5|_!xANXB^?cF7)s)q3XFc1uO`)u@p5YBHXXd0 zB)pnbn{PKmuq;KeT$vK8Cc zlBcVP&<(KIPlz09&HCJq6jGX$oJWxC2HCy{I!ju{UB?_rwW`gwhsg?xl;5b*>M|pF zVENI6qcVFlV%~=Gfu6=zf3w4M9_+1d;yx=e^UU^+vO|OSus_6U7E>@jX8^EBf>e+k z1^Jo-1kr>X>eBc^@-h=|@&7y-1Nx2JVx z^nTjpKR12RT`gp)bde0WVt9Q$a}jz}&uU2`-R!x|6xMa!hhHUR7k)BiZV4o~dN=eb z*R5mJ;OAUCO9mm+GdR#IyduOsL8z-qLREM^b=W|5dQr}Xs_NT*8&H@2d6;@}z4 z$o;nwKT81j?2`CCa3Z32KvzTWGmIt9P@4|Qr1h5-=_OR~c;fOj`dQwZ+EU-2pmlzR z4r7fC!Hm`~B5Dy#Qe6T9sCTTtFvfKCP<;o_Rt_`HcGt-bD^a)0Rmi!WME1Zei(Rzq?HE<0Bcl&rp-X=vt&B5G znz4~dcxNMHlHEcAJOSuehjLrXYpTKt6Zoz9MQ-jj^pnZPIM=C|X zwFoEwJWKoyQzwkFk#o^HUM+O{3X;m}Y&DUxmO#a?cEhVWG)ar!NCl}&uY%`aj!eJm-P_=g+nBX*@uc1OM3 z#WhsnWE_1Ord*<{_ywA|k`5e^;Dgv4t5>w6&Fa7BhU-gL4H;3)4Y-jKNEI)aQz>iy zAiY@cE24E$IDTaJeR0H(C8ixJNOYS?hEj}L%~0Y>CiriM?f9mM6k|IpQ`JUOa|vJe za>P5iR=ai6U=-8-BjhcNziy-=&kR zSv|LUUJjcT$NOuXsLZyY!_M1uIedhdx&hCY`t0d5|L@@X^|tz7NVYPl@XX#31!i76%%7aB1v=koq5;yd1s> zR1RRGo9TviPuTNgP$= zEw3`%FCS&dm^7O9?At1x-+#{pY(^h}b)#g!uY z{i=f6GKN7!n?~`K74er1y(jJ#{P_^6C<9}Av6lk8{dlLd`v@UNOw(h0(FK7Jci-bn zL&L|Oh`F6Iyri?8XkTSr_YMjkyw0jKsnx4kYlfSxUA*tTyuLkFk+o#BI9b!xrP90N zFUP*8z7*1YG3jT#DmDq9r0=uO2pT2vdb#=Q_yik;O{t)9Yd(0Kds1q>W=?pu0Rd{) zY>-q{D~-v^ZV0LUjR;+$Ly$p{3$r;=ombB4_g?L=r=VI*iz2$#*dm%;pP4vBIyXSc zMZavn}+b^(`TQGC1(OLO@g#Q=8HB%d>*X1T`V{(;+q%Jo1xfReemn8{eN z*jbZ+LrEc;PRPEI(zrHmJLGS&!U$`%b6yriVkX?H$@wz9(dJU?`-s*GU5$N<8ANx+ zs!`P1!=cH&OwxkhLPvWrnJhruq!FR|Auol#L~R6r#)Q0#1kL0mG7N#4MDNdWo9xqi zD6y2?Y=<>|hC8e1!wQ91JB#Q~egTZ%1rZr)8~SI>udZY9XLLfK51@4ooCb3yzOoOe z<_p9xZq&UuV@L(6TlI9b>t$D0NYIYk4{11Zm4&Oaa#b{|jHyNnP;G&c4;kmEmZqrG zn%EiT+%q5i&I~c*^>=d2_noKqaq<5iYk2d*a@o4~_FQ~8Y3o`eeEXVUJwhGGx zUSu$ zZDX;Fp8Z5IVKj^DVPzr-Rj@{>-DHszP3MSXbCwjdC<^prbxoWu&f8?Y!*VtdduZ@9 zgJVO*N+C`4nJd-a2{PSsAwU~fzYaY%=qEIp5+-mP?(JfaAK~X(=sgZ5t>3#d;0n*$ z9OC4@<+AzJ;q+%r5X+Wr-<#N}HA1odq&3x)so}49H1E79rP=^%X^U2%>l1AGiPw39 z{!j1wqoOmmlYDo2ZHd#rOg-+@o^Gx)*lr#(%4Ma=%cYB!+otQLg`yR|oL4<>OK+DH zrYGyvq+*6FXz8U&P0i%ZB&(*4in8YGDu^u{blP&0o-e9ZhoyNHiKCng$#D!VEDsRM z8NXAyJ?sor6$dwo9M{u{7F1MFZEM=Y6V&Udj;SlyzIso1EIh(`;#zG8RVSPX&t&{s z%fl%Y<6&|Lp#AkEaoqB>E%TM$jlX;NY!~A;^!3W5z_ZN0bvDE^LufrN=Cy~_`Ban1 zgzNBT1zj%v+WYxr!C^Iu1vQTz^%t$Uf?ZISN=2y9Nipu7^{JbjD&W0`T&hw_fcMo3 za2!K(M|P!FKi+}JYIve}_fBqqFxr`rYFJVqE#>n07EGE>(?aU)+DW%hZiROTukfIK zC?if-V%b<%*9uVuk6Wsq^&kTTrV(C$w)6utW4@j$17qz~H=Q)}Bl6ey>1$)-0A)ji z821^3CMq_^5GW(P($+7VL>0HAm^dd5VPw<)TkOTmIB6`9y*hN24yGlPmJK0&<$OI1 zOo|Iq)zD2z0_6Xa2wNb^ELqf-w3INOQ5_D|c{)1?T63>Rhi=H+yR7EAq-Lpa>xgi2 z?c^1>?KkhLoNyXh8tRB8CscXp#CdnECMG297@wr8?HK2|X}q=B=Yb=fv{*3Ro~csa;ZO-#)diGgUZX-MsUtXX$qs3L$$1QGmq_OUZ#Z|UOdAJW zawcPUoiAMbBx7U~tAt5JX3|t2bM5=`OA|2!UXS@yty&UBc?qtj4%G}qIKIO9S8wTemo-dy9qOJn zp)Hj0ONn@cX?UCSZQ;Jq`t|G6dJ3s-D=tadQv?X+sA{eg>kd<^-I3)c8yR%vzVmj$ zH#8J|S7Cb=#3jv5APT8uWNvUwWF!e4433CNn|#W0ZMb|{6iiPH>oa8j5YcC}sqr`G zN;0lzG%~{@y(P)xgn{g7vWxkoYVMTjdH(RC^P4eoBvY`Q5I@xY&y!TOD`n0|Ra2(0SCC%LL!?tT4p5lPP4@EZDjNBey%@lI#CCtJYl4*+GOx=o4RLa@WR|f-I_b-`L4lW@+?u zjX=$O&k(|}!>sv6*n+zSBJbW$T`C2|_GJ0V>%zNc^vaBX5nOgQhMa9LVX0lvOMc^% zwCJ;+t$#Yf^^JH+43c}HTMk(6effCl{`fv3Q2ft*r9CUUdU)D13-cQ%IKUEU{kwPI_DGxCNG6rw{O?KTUaKhPnrm)}!3GT}vz&?xjQQ;ZF05gfwMPyW0kms*&{T5En#BPQ7OsI%TKni^b z!lc+ot}Jjnx|EP~JG1MTXN-;N?41#*35K3{J8)+g%KpX+;`FNL%lBGGGjBPZuF4F8 zu^H1(A34fQ< zs1_m8&^$^@?`7d6i;w@7Abp2ew5z&5B_KFK+zSWp&Xs5*VZK_kpQLxFKgW`Wf!PBk z={r)X4Z-R|~oFL;ATS$>#PeW!SD975Xb@Qc@Ygi{c` zpmcn}8ekVhJgIG^t+OE-NpdKTd<&1l{n!yect2ii;3pGxvM87N? zWTkj)prLw(1t+YjmC*K=D2}@#-CYp(4xJv(VCPDY7+CoQNwy`=_PA!ZN3i%VaX&R- z?FH&K3ZD)PC1^ltg_a9aG8AKz-YX4<`CL*7Nm@D;yxzbpWxk)nakhZ=-zT3Z%&(i*5f#acvuKm->VLMc&xw}-0bvuS z2G&F`acuAwW35UD92$Gn>j~+9>-+utpJ=1Fyq$vuV#$iLsSdsf)YU)L6}1y<84TF8 zd+Nqg;=Guh!FL(D;YCmUkov?RTJtxEQ8UmiDcd+Wp21hjU?{unPaWN2ve{v_^`AQ0 zMO^73z8zr(KVngv&v`}!N=FS!Yhl%czQlaJ$U)FV;}#`067?}`j%o`5ZA>SX>5lRy zgejI4Y$vJd;}8j%lq6{rRV8p>i6-7u@9)vhm9gp_L3m-;`L*Y=|B z1X`46N;?IcqaUl4smBu%S*C^rMxrkT(DnotCp?2k1V#>O`Wos z0KPfidN{kj7vP>UY(O*%(9EKgFs{bG{whxQS+txG_NvNO&$vrsfri=6h$?2J*gU>V ze&!pl<*yI~n4HdhFl2$?GSQkn!ioJ-d50cSJHRiw!q0hAlB`-C)}tBRO%T$#7y>sE zP-N}9LpHiQ`Bie5clW?iOr{`aLD|#qE0FCxCPLuSueE}56}GOuEx{wJ-`egM&OO>= z+n~Pb=D|UufA(}}w>v%OO+u*ufpQ73PERq#l+bFKxpJR?vm{Xd)GEJekzi&JJXu#LdSL7k<1OC$~|q(oJq~<&=BA> z=i;?ZMTvzya9J6{zPbv%DZQe$w|a&%e7|pgD6_Vgbe1!GLVRucZ8LbbW+lvtyY#KW zW#EgwLy)6mWLa&mMo^ZOnn!J-)h}sEkwcP&>J)74=HYZ5dn8;s*ya@$@g!&I=O>qbuN9`4o>6;KGsXk+xTicHMQJ((&Tn z%(B{AmbTa7ut7~fpl@}AYr&gO_rL|4qmM_n+R%B|<#J}&uy&mPCTjOjOl`_lE?j*n z|FxyoH=Yj{3gM{N)Ry&kw5W_gw|N8HBEAN$r4t%bw=^4wvt0V@-y|I6I`xq%Le=k@ zkaY!~i-U{Y8Wqs7h5bQa92Iz;rVI|-<&HtRZ}pa|$m)r{qOnV0=IQbHv81S+Sl#Kl z!M`c9QD+81wlxgUyW9NNNgb-*Pwf;ZO6c zg#zyxph^+4I&@ul97B11KbP^_0-(ltpTn3n>Q1sEhC1|I*;#g#lVdV;^_hebKHwZ8g%oSQ@XP|t}H*>-mTJ> zv>m;lYCSFY_O9jKWk~GM;&aiiU;9-cQ96U`Ro1m*NVM^E^Q~{@Dg)oHl(VTBB!!CWsPLS>JE(@ z$wTn7TIOLpgFYN;z??>Ry^-2kv$xnev~VOJ!p|<7h3)kEaB#gGjdYfc0=!J^vPHJJQIhvB{%Ts0uR!V_$BQ{|+H`a&w64nzk zF*e#i8S5~cgR;YXVy8o(0+;m)XIaoWRgu!_?zeS<}u_R$+`Vzg2A3)doOTNSCwUOa~f zVXg(wu~-9_368hP%_@j4VR%Ki<8ao-%mro7R0U%V3#}D&1birbDCc0-xxZB5XF_dIbSdD#?%edRypwsU383{IXc)4nX zKS4!4p>_EEW<@?|{85u?1pWM-QXfn5s=_O!*3@Z7MppNh4+xLM=k?kY<+K+o(&5v8 zCemNWqPN|9hOrN>*L$k15z_q3S>3DkVQ4G-HH8OTQ>QL&nd4L%j{<3$85LHoUo!a8 zoCe2xCN?{>+4_~(+i;)2e5(s|r6s^iIH)6TDq;;zKk&Yu)?_^)TwK3ZDvuHqdV=el z*(}wsu}$R|u2b)`%5st}qMT*PmLT4Y^gS>k?sz7fc?R<&qAToN|Rb3)$*d$@cQw$2byx_s=VFJ%#|04Nd_i&`?k zZWI+$STw-Sd&8Tm6&0I!Q)O>>Q!S!mEN?334R5MiRIDoe!8pQKp_I^bKIe%S&5ZW+ zY_h<(UexJvym(1bO1VDIuf%)$HWfMf^d{Ls!}Q6W!*b01VL;69FqqV4xd+!m$||d_ z9ar-Wwe7g7QdatJaDD^n8ZN|f`ji3?=Cj5#f6a%uoq!*=_?FrT^CEg{lE*;jM$L?*spxF#RZdPI6DA>nrcv&5tbDfuikAHCK_J< z+GvGYa*iXA%FW{TSs!>_PI6)kNV1-h^4O4Zd6!VCzKEm2`xp@>{&rpmJjvJqS+=teUFQ9}t8gN9`G|hj|>k*kgeDXW-D{!BzN)h_sv3Umhi>zn|p6q z{k~b#15{c%EGx1;pPjyOx3mEEGS&tdCd|fHNm;JX=hYe?O=@yGn_GWwuE7o07U$P* zH6W@E=rxxLDy^*)nO&OvddP4Td0pq&?~cr8)WSdvS?xr-|3l5G7Fs>$qFl!xanm6F zNe#uIw(Cpa^d~=jMJbf*nw~F`Z>a70qA7(k8816yCQ)Eflc&V7I9asFppn6PG+Qo5 zd=3~MY?W$k;j|c1H>xuNur9IUCNX>l57&i?nn?AMO<76R8`RYU&4ReoT&*}qI z+o%;E>&AU_u&Wj?(j%R6@d8TgptMHB`zl|hK;ZXR*Z(4=#|0;)$8G*I4oYJH znEz!tz`L?`-FN`vM3k^2>`Ni>Q@5B*Vkg@ZoTy4+_=JAR3Qh+vl9&>6x-TY9b=RuB zKFH)uj`Ca%=3H+5Os-8?D5(?D8x%jSKSVHGYkI=qaGsdbmH%MXG?edYwb&Kt&G}UI z^|zB>DZSo^j|yVlglaL+Z-Cacv)DOCI8l^2(`5EIYg38XVK%9U+4K!8f#F35&Ldj+ zX(hC~O~qkIbEVx%eg3G@?d=V4Vr*wV`sW`Eq|U4s-0nLSG@Mj<6;*#EPv`O?6&OI0 z71Xr5P}tLijA!-Xiy)|uN49cxz|!J}NmVVKP-6pirBO;XhjXWL7$BobMtX%B!LYQk zuK~Nt?sk72S~UYCDb$29DHShiRikxHwGOSM4qzT!Fr!CIJ0xdmMl)%^n7#%y5 zXS-fJtC1X@P%;Q>RoKW%MPA)hboTM^6QmE4Z25Jj$B3br3J!TRtaw^xR54a*X#h35 zYL@^#HVz!0Af{ANjlw_}P?|7Xj5zv;^F+_(uT{Ux3esT-2~Y%SsP{nZcUwLjPAJOM z!pX1*B=uBDx*3gR3s3R0SLn#}(pqX($xyyu^-rpd6T~;95o_UM#3@(jR2cCdnW>vU zLH5#GNLAJOF3Bjdh{dIx9C8)#y_mBZ5_kaFEDu#K#Tf|5kG+m@FS^th$k)ef$|}Yr z5KrCK^OHMv!D!_5F(5z$-}5C zrU!W+aaiht!NHGJ$MsBU!$0YF+*6etA~8nVDyYCN*h=nTewSXVA2A46zmVD9C1(EV zcM4p$I+4>3-5-W_6E_BfH5;eQT@mj?JG;;Q?#b+SqPVUM5&E!YdP|!&gw)JD*Dm?* zOqt_RokzSYad$gC(b@l)mNvkhoVDPErYcvg8*Fv1L~*H0^FC8(y1KGB<4xt#TGo6V zbKP2(;d+nR=Ku~s-PPIpK1p6fgY_xhb@7`C>HzX`$FyI&*|&J?F@_dWx6L9h=~TN5 zwU;fr^Xzwn&cB0O0%&*iwzTg=rY~7CW(5L0_T_4+Eh7wt&PhguMO`*}BHXeBWL3gR z;qhMjT{Kep%hCbYa9yK(k+!U;@F&y3K~X6vW5g~8a(4yibm(tCZ;puDX(Y@sj$7Bu z9XjY|p7zOGN-qT(P7$MMb>S11=ey62v%v>ieGajqD?YMlVz~hf1>lz-RZSviMgvUb ziKmh=!YdumB)0tVbUt3g*?a`=D@$7zv!Nt)V7+!axV8{9Pt6ZyjEPS@%?`KN`}Pc< zn?h*>`iRleYBJA}rSdH-AORI(BI92!s5DG~bHAj$6B}5n@pZZpald=J?TcL|dI{N( z1nfn!<2OA})U(%}+oqolj=^>T_3(A#?#kv-pFUmhh zP-|KKQ~X#%fZddX!3-se??;vJryJoPq#@+NcUpg3^!eM+l<+{g&nQo@_u-Ild#~5+ zyf)FCMzgsMyk5fu#bhPc=2tGIPf*%Nt^B;ra73ZNMLdcZBTU8(Xrrt^X?xK)K|Yq4 zJZ!2hfB1xRCgUE7*xV>t;Nu-`Qd!X*qU_O?{O8E;O{{%Q@1OJiU!5vh6kbsIY z**L3_TQ_0q=i_Z7VUNze3%=}T9~M*l$%F%x-i0&6-L6T#gEd5J?_AeEe#fGi>dYmZR zRh~8Eqm3L?I+_Gqwmz}U8*MKjm&}R-v7Gj zY#d*%Nlo;}1iEOvE(|1C9<(N1 zy@B9PJY8s8w=U&W($L^XKeI@!@6XKw)g3<>w+5VJV!S74npDlgH}yb)KXDZ*J5V6L z-`GdoiNrAU939-|V^f|T^&j>bqcJRc3xx}7=-MMm9jiX@a5QfDYROk){c=XeF{RB= z!alR3^lPXRtdhk-S}F2B!F^m%bXcw!FXH}UDfGNhwzaPZK!;P|3=%LW!jJXsAH_%| z>T7H)yr<)IjNi-8)I!Z8^_a4Y@c4x|ghd?Acxgpvt-NGPD3iBO)rsdz_M{Xk=g#fM zcwGspsX>?29Pv7S5I|r~?R{~)5=2~O3e1sUf4r2VOqLa6yJS)!eBnug&lwsJDS5%mojhAZva~l^) zpv=phg?o3E>|(QfZ+WB{l=vkiN8-h^cUuB_Y#oQq;6{ZghbA_3NI5=pO_N#=uftT6FnApt* z3p%QaawmS4-*+^8->1N9*X(PO7YCG6%AMGfFunCn$dOEqg@@-!aRj1jb0@+5EkT*v0NVD_p6r`8dj(9f=9Q7b{nAV#RF#_!j`H7m+)( zxj7YMzdc#o39&UKsVDozxYSQd1sc0cp3&GP2C_>KIqx&Sue{hCq*In|;7i#|hW@V$ zV@lo@#@x!b@(Kob_AE=NomtDM@Xz7zH}R;7AvNXV=;UHBk?H(^{&B@TC)*J12LHjs z{ErK=aWBZ?{;j1=FdnMP3a7P(lJwM7>_o#TSoy!)!N1qVZ8Dzuf6?#1XVwiq;b58! z{?CT{@0Td~wJ`tKa}|GS^2IcPt{KkThHGlnhECgFc`ZhaS6jJ&6oV*%eHFuRbv zY!nRmpE_*ef9kMk$`4{6LlN*XnaT8iwEy{y`JVhADYzxXANU`beGEO}VpjZb_x3M6 zt$_4$KmGRx`L6?PT5JDF{@*#ae>*P6HlHZjf7~ViX7;0f&l`r^?;rK#|7Z5+_rx=t z7}Y-(fd9W4=KGvS)KI`b61V@=>@C!9fn50C3jdLU6AorYivMYs|C~Gj(Hrjnn7Q-M zyz?Jr-GAnt|LjEcmUkxqnRosK&uQ8|}B07zy;nUzAy2PRNMI%tr{;We3b8Rdvq7M35TP@YQc z&Jxw0b?oD=aBQO=KY%C3Lb{rhs|gs+gnuA({=g3c>rveKv=cpZ)JpWfJPM8ZYW4!` zL7dk)tthWuu`R6_=qq2^LwgmtvGf3!qrPKs^Yh;VmDbsY$y%NcU<`aSpnD@cp`Y)r z%5G$_KRM%cJ?pNRg}bP16Q}Txp6^U?$w49!BFUhUt6onJfO$Y}vIGzM=6sMFg8CPq z_vk+iRjw*8kOE%6-BkbO!&Yry&tfVa&z-|s?HtEohCZRCsOqpu3M99?vuDvG3q4ct zr!gArwaNOMn%@Q{2|V97bB+CaIgucRy+3_@e8u$bLBaXvqDjB(F`}M##!=_)eW@}( zZ5D7s7HF%nE!rifG}hAIgaJ2o7z22)Y=DX1t=0Xx3#0#~9bF&k66U=L)srf&2n)8t zEc<%f>+LH&gJ&ej`AmrcV)8qf2J_Wu zg*3=s9cnlV>Vk%py(AV3BA(s%RLcUJuEX)R?(I2w#;*uQrV|=gD(e%Nzj1T##M z^7LdsVu_3O+7`55Ac>6ajz;2~E?Ie$$)1=V*}? zH$h<4TTvonBnx~(y6Lo~C3GNb7%-W@IxV*K;Q7P~lbVLZ;Npz?%P!=X)7YrkYqyFl zXIwjn2;N+G5&^fiW=Kl(Sst{an$QC$(bR)H7%U3G_E;F49SkoyMo!iJvoI!oVh>pm zIr?D-1;krbP2|nwsXMJ&k7sEeBL&_@XH>4gG_*F|VRp5WfPqzB@kT2*aam=0rnm)w zb;X1{$Faz%_OF(7ze1!7~Ty<%!O1zS3}~4YboI&8pa!ygx<_( zB^Mu6+;om*()9@4R@Juey+IeyH8Bz*2r&^+v3-?rE?7?1X4b%RK#kB^=TGCcebxOc zODplFb`I_-t0~3GvolHdDmRxNmf$kBg0sH&nb?a#T|h+)-16$eJ~H?0+=}n@i5x%C zZLj|M=)MJL+cAe+DODS^JIvlhUjXC=1elJ5oC?6ytZ=AaU(f37Ys5`z^Ws}-m(@Vy zxn$LN#S2oF^X>Jmozs$`Ia3Tz#73vaaQE=5JL1kYWL0NulAms-UhnC>Hz*0Kgp!{^ZU^Fy;;yxQ z_8;M&RfgFwk)KATUQg@2UoH=`UnV~VrC!&#ByTkC!@%xVE2S81Fen~yU!>Bzs9(QX z;Cjg2>O673=TB z=|8&$kuW}lx2FC7O#kc)yz~KH>IpCXlfn<{zowivlP&OL)+Y+PXsuT%6L`P>=l8=q z#24NnP#dn9Q+aAbc5m~hzSnKw_a8+w?|d=!k-)Zt+4vo}uk{OUPd<$E`TCp3LM|~s z(nc@4h(CIGr$;SH{a9H5-LG#jS4#J-Ihh@$AJ#{I;9O%=uQqw+8gZzN+&qV`vpZ-- zG@BvY97}Z8SnhpkYvZPj@3&0DUx(%k;{Rj|l+?L(Jg+aRH=Ak!lW(c_pnrm@D*4S?{vxnRUHEw`!r)4!YtYJ2lerLDMkgC>_61ng}$yBxgU-ia5L1I)YFFSZ)VPf}~AlPFsc9S*b~h9h)r^X9iyW*RKY z?)dC&flCYe(fYJRr0)2Lox3~9-Q4z^TwWj-uEnn2&FwayAtCED`7qvWno`G}_-T$$ z817tHv)uLz8Exv^7)Klc8!j75pz%!7fCVIal;_*mQd20b#2SsVpFsGXT#emod3}9R zuTl_o^Vfyp&luDxVfL^o1zjD-g9TzTV~IA1f}SA+d%^I*lX7jWMOvhC!+hJbY zjZeq*@<-OB8>vqNm$fahVIe14uk|M1c~c1xB(iwva4_HTax0_>x{_WWMcKJ(ta-aj z%&qf9W~PM()qG;Wz4#62>-cNj|Knn|T^~Wk5;0Q!rv>5xL*>`q5n4m12G@Vf|34S9 z&}=LwZG=3ms@AsWg&d6jAA=exSN(|k=3RgCq_8WO>ttNIC zQgft!YpeE5SBh1p7!bvl4ErtfzM&F~Y@4v6%H1w5ob2##0~0!0MP2Ao${B~08x zi5{JU?6cqurtSA={WV<`a~Ll$1f59vT8ci5*l*)v&^x?lE>ca zE7d`Rn|NA2zG45Q82J6-AvRnf&g0vQ`vg0L^$p7l(-KZxx208TrGG${s$bYcO9Wrd zzPH*$$du}nKD%5ZxO`E*z*-z_Dfd%MX`26bB|t{1O((QEgOMZ#n1Yao2r{rzQ(f$J((t$#COSV*l@N;?mROW_9JV^7X$# zdbS>GDyTfg83#=+?=Zd)AbRTH8$bhxw0k@uSS7J4ki7CMBp^sG?THNFoLEA6>}~|t zezD2Gw%MVubT&tep@m8yILZ>y=bhOjubkS?2_q0H2ZxN^#EUhBo{95cRHYV`THYi2 z7E{S{5e^V8*P&v=Z(o{sjYUFCbyUbv27}QQk@CM+3|HHIIi^|l^HAqu$a{*yBG?Ll zyc_`&W%(K?PMU|@6<8nxzJ1Xs2`zih+$G52%hXlw!<54$3JD%KCw=L`v>1m6@)uk4 zRPChyS+v2B~Ao683gVZ+Wzjn3lwx|N|VYgeLrIhc@&;hW0lxz#HL5~mNV4HGaWCB z`Q9uiOKbPPh#ra{mOnCG)C>_@Q!u$~&!BQB0?5EzgV`cn6BRk?J$R)w9c#sv>3y)PG$jBc^;Qk0IhT~5e055iHq;N9 z%1zUcc^I@Zo!|k&Y#5aH4mC=;#%hn8p28v4#S^+*NAd|S%w(+<;K%SBp*q=v3`dno+ugr@B z-?!Sp=y=Kc_7Q_`#t&OR#B#=T4;+vBkG+W?HQQ9-$ad`PQ||lIP8z_b$8T{ znkTM}D1Fh-P<{jnJW^_M!HS~yV`o>=Vu_*{6mV>}3DgBs<`j2?pbqnO!Ad%hZ(PAFtG4$kpXgqTpsi5e&$OTDqF_@ zf9t$;3k+-);*u$u*=?6brrzc%P09&0?t{KbHr!3pyA%fLV|n=rKe;?$zVzG^Mm!|O zaYdRL^*WwUX_c~c6s=7Fpn;Iu68E@a!Ls40p-oxHtQ(d9F?3+WbF=8yPe$R+1VsvK zlS8h9^Jb1(pv(h$i#S`|k%)=^9h^DaATmI0kf{D*Gb#=7@;Y^t<9I9E;DZ5jk9R|| z-Hmq>@e+J4=Jkn@<*G{A!EwvKQ!c}gF^*OrYi}J)u(p!HZyPm*)DLYK=>E@eOUY#~ zyd(~~mk%muM7yH&&hXKbcD#)z52O-xJI zP2n*0PJoVliz6FfkRUh%QZyISZMH9k$*@(lDWhb#a4mm&TpU8~PLh0Ib``khn< zEgQ7cT6$tuanYYAL3UEPzu%#FK6q;|?og`6){|6^#ny!CqlgB}qCddHM6ccvg}rV3 z*TJHLmxYl=dA;wG4YiqVgk6vPZ16)38h)7ja-2^fXn=FUzV+-92I2rMFBRSraHtY_ z;(J*#`klEwLGTN}jHu;HNgYnhPV1T5-Ix2Y%WXB@eGR)lgLV<`%|aN+y~;}w@s8*O zG1g+IN$Pzy+LWFYpV4L#S$nJ>LLy*A;WVE`iR1U89zcbq!n({0gWaE)MHs(z=?b|1aOSzi5Q!j7s$cOh9%A~S9#wqM7hZK*2-45#4T z1icjO)_~C>Qks^W)jkL2FQz24HGn+sS)lFQJ)%^^x7P35vxEc0(tRBIRqekNOYcdR zYx?Yk$32+V`;U3fltS;sn&yB#I){!;p}{(`Ym?Yl>+yb1w`+IH^^`4_Q;MBFm$z4b zerF?{Py1;zTa`~hndk`hI<%6ezsN8S7)l(9VgFnyDKXVr!VVIa#)6iw`z#b5s3;H zY1!Tdjj_(TE0hAno7gx4t(YcJaIoY|_cxycGYBNcj0A}0Yw^J^5(pTGX0{S``ZBgfC@92HOHnt0*A5uz6 zewBYf`(Ln$k%RvoHc_hQpTQ=sKL3BiCVF+ch*NK~I{r7<#3KCvz$WJW->`}D|A|dZ z`3E-9^nYO!t;7Bko4833$@8DsM2|GkLeEH%edY>3s@-a-`8S-2)))h4|EJ6&?QwqY zo`Ro*FTKAVtd$2I$#Hb*37AY9V}K5b1=gls9%Y_Z($Bv4tq7HnIefG@5~JgZ$QWr6 zj01a+COhI%a-I!|5?iweSxyeJKmt1J;*Xn{^=`}vk8WMu9Vj>Po8vtp8LDn>loxO| zIDV9|>Y`Bnc(tlJcT$vPY9d>`8IFqHp>c)6k`h)!*q^xQORFPu{$45=vH{q(``Bl&l;^(M|sSJ_F`6pn@hY17@DlN_*2V#)cl_W zQ?2JP`0tEN1&7Z=>@9pmyf(n){+cn~Vw|@p+v7oRY%w2KyPl`?v9S$b(_Jfj#QM5R zdIa#=-wMBF2#}$wVWp~P_GE1;in1rcW)S}2YVUI8P#mnI#5X|j4fYDZai7!Zdtb@n zwseokxlrI+7NQpC#eQ7()7K;=tuLqLUtSgpQwQX(Sq%pYp6I*vZ0g4PcRUO5bT$HJ>&D;1IK~xGi*QfrjfSq(&P9ek&=sd{jtx zi^G9de8t`RH%&v`zl7hvRvd>J@?aFgGV*qdaH_v9S*>K;H1SPp;(tbyZBLC>XPHDk zGBBDZLgdVRRV@f>JH?$xXN%GD7}xok=l8{FBJq54F6I2?90d;K}S;DUU01gV)?qqSu0+w`f=z{O<%*oafLOcrR0S&A-fT6N1+Q z?LN!1M^|%4>qZ5t+5Q^?QCe(3*~nm`Jh#XQUEEOgWCG3O(bho3Pr zIprp;GDjolQ`A5*GapWJ>JlkDXZF6h+@};=#exBc{z34180rB&J|IY+Q~?&fPPC?l zk|k}p=u)tUpuH(U$6S6%E{+aXGEy5Ag@iAT=VZ)C&$P`uN*l{x5hl1jiinGWsDcBr z+g*a!zOn*MuTB^78GZu#&}O;|1TzZJ@t;`eh`uyn@EKN412Hi2 zW9IZmNj=v~!05^WaFSp#AK|>`H+v!>+joR~cSqFAqW3Z@lu&Bbt{~pi+wNL}jAR9U zpMAa{<-j7J9ikkS(9f$mI2W;ERZrx>1FF#ZK%L#w{zvimK@GUD>U>%)UJYPoi)SXf)S7u8zL~vURXQM&byzD z`??mVftPJgYx`pd+h=c_ND*R4aLJpo@pOzSzNY>FlXjnk4kDOE`h6l|5_6S$_5FU| zXFa-Ovw6E8EhbJXfzb#FSBk5#fQy|6Ze6+fDoO%!NXjO*D#98{eaptu3*+VFGuS7^J*Ec3mwg!d^d&Cd8# zmCjL(PP&5Kad;p(e)VTvY&JLa)to3$xO784Sx8QsXHU&|k}Pg}$TanXOMFWaa^%A< zB*&ePjT)?s^RnDrZY_4 z=Yv1)myMJSY{suss9i+9~PulHz3&P%U-cVI0Mw@no&( z;4vsa6VVXL60r5*Zu`Wj5M>9dokWtgfe~Td5zUBCGbiXqG4WWTvwC$hT&RGIwhN0| za@DuhN6gtIEDKn})CaC3>wmRqwonAv{kCJ_P>z(lC`j{>z)uWd$4e`P)5gr#7m^4U zit ztjR7VZ4R+vT2UxU0Hs>SUKDP-j9R&*b~X>~M+VRGe9CcC&ZiXw@iy%3kgF)a4LtrZFYnxX8!tSbKC#E~Lp0B-)8H|9qI!4&OEz?H65;B{Tk=o~X#8j67pP9hyI#}q=}UAP zgOkFWo*CXgACyf#I~kaKZm(MJh}?b(F-2I?7fc9=}(_PXhO-yyGZ5;6YZ z8DhIbqBl_;$HQZp-`&y83}eSl4sQxYR!vm=;~IcdM_NuGibMWlfylsnS*`+29xJ+0 zl3iz6P5^76ptMo&w<=^BJ8Tat4+=@p$>%cAWgIS19c*;+;s?UWp@ovJfCSq-@p_^B`HRwnKb0#D|-p@F`2M@NT+F(dsSFg2+F#!8ZX&{oY%{q zQL;yB?PCE!;t4qBT^XNL(~8lYnubQ-#;M!959O;lKpymcsqSW{L|5T2WfHosJsn^{ zl64khA~V-nt!9Aw5ygLjI}%9xU->hE1r)by3$K7J;(5kRH{(&yFi%p zxYLMo9xbefc0aydOZqby4)V+0^wu`BDl~qZ;Je|3T*s3vCFQ^XmNIMBvnn=ItS^w; zzM!v7+iw2GS8j*Zrpf4iqcPgRC$a9~)7D)Q*Ot50tjrUxS=nv;&g??wTOtHJ80l2| zsbnz86dhgXkNtn4$iXrD#qHdYo>~mt&%*-`FgdNUjO|!j)*~?bM zhfGXiG@(oXDda~RGbKr3Wkd)`YB{qpB{Jz=r(EkWhQx4|2fAdrr}?bx5|a-y`Idnv zhKw%986SAsuI0MPe>LrD%NcN8W2<9sos+2_ay??N?HMurAU_okC8oDMim-H}IF6&G zY?&9OKf(rAojQG7n_S-S112Ghut~T8b+#lWE)?aT~IV!70s3&Pkz@|~HaPVI76*K@h4IlF#;|ed5 zaTew2xD>HoH58K+v~AFqN?Mfu(qQc5QYAOinetJh;jV6p!yJm@`&vjJzBd@|bk}Il zJI3p$#EK35X@DDo1nAYjpW%r5I%uqIB&Pm&{b8T)2`s}~GOkEj=y!P`(3GWbmuROd z%ULRUmBuIwWqV>D?8g`h=<^-vxOt=MVDdQPqKn0%|I zN0$23q`r-LV;ZqMk)5Uy8=0h`D&vF4k>w87J_vBBeSbb%(@%vNU>$+%=yqo*X?- zuZ;X+%SrbEKh*ry?2FeS+uw?k3joR3-c`puO`XA|l`+35rCe+Gzg+a;2HLs#>o4f0 z6u-RA+m53=^gjiA2=K|h7NK2GgVAq|33xkQh3V66#G(}F+jAhWAQzkKIr9iLF34k4 zNaapj1NLMNjm9U@FKB`>vhvOOOO~_leO-ErJErM)kBUy1xJl&%@hCAKFE`JKI&W)z z4bkuMmY~A|O1a)~<&>q{25CfsBj>jV#(e2nd$~TBVftM6q6SRdxJ&#h1mhQn5aaSN z6F;sjg$w$?#`r$gT#e4V2XoJ$hnB0W-Gh`p1+yM7P-9utqGM1HND*YH9HMf`z`bMl z(dy$FYbgwj20*_D7V=ZZJEM%uFR_Ye)v1h}gNS%4>zv|E+wWS68ud#R)Rk5(ihIGcZ7N7Kj?upJU{AX?O%jxnLUvCQ>&U`J&|L8T4zNN=n(|O!X-Xp#f7W)X+{Bf{5 zlGrs7Nqow6kcyqNp}8f=;NY|r)I8mP#=(i1>0Y~f;leyD_+Z2{UMZpC^G!+}bp(6^ zGjVpU9J*|lR_!yy`vp7nn8^A_=}xYc6sgA00t5kd-*RDO(~aMYt0`t2n5NKRl>+=& zIzJldrI_*hv9_}W*%7Ag+Ye`8x$WaI1hZmgRp(8gq1N&UX148*^p`5>*vH)~imTjp zZ9)oLZNAG;AGd6oD$^z)h?i7Ld1R&~YN;{Iu-zMf`Rq{L>~aCrJKd-g7B(|bpy%pD z`b0+Xj>7-kGF6H*K|qi2pxC}>7~Pc*Ewj!ys~--^LpL7oxYl?OV{|mfsHw|pyd}7Wo${@0p_wzhFL{o()w#R`_zbF z`<-#Ek!;!N`5H-pEBumDUuTF{7Buz}w&~7TUQ~EWww`_3Rz@>L(yBub=s9!wR(Ly` zh7Xa4%^WB8HM1tGXXx(Nrk@7XHqlhm|2x8(?@cNy~G< zv29p|=X|x6kL@5J+e)hZTuZ7ntMmHCT!X4vh2ml>XpKcjN4h(IOuGC2ZcOlT#ac&4 za(yso!kC$s_2C$x$_w;^<)G=bbw zW&4B?1 z7E*|+Ce+Y_W1TV`6ZeG&a$qF$*80DTSr|z;89j&@^V4whL1uBfJV2p^gv7IeRGw}y zFvqMSvQcYFy)a%SgY?wbSyX*X@?Z;venWC+OY*l_sc8mwL8glG&^z|_Ej#D%g~%P< z&v)#2Q+8yz7VMJLL=(&w#Iz)ow5n$Br`4lkkT(}m7L=$NRhbHDKG2(og!`k!6P#Pr z1QLq4RXvy?Yng>~sLzg~tB<0yhEZ*ZA8aAbymnF^4Q~SVx8yG>e{!ZFE@~%K(N}WECl~N)hab;6BOb%IQ=;nP2QqisTTw&~B;)#V5 zIbW`B7CM-!&g9dV@y?VovSre+$llG>Fe@9rk3;2yX?Y*3VgsXR6Xtm0 za@y=92bhzJHZ%)86F&J?NL=xT0wC>71<@6yIvY|0T2pFCSddyTb3>XaC>BMh>erve z;AnBZ1`OAmt||Ia#khB#LOSG@2gP_aFP7kcE>_Oip68C3@kmHacI0{4x1WyBUU>*k zry&kZ)Yh&%-rBmc$)H9q9hV~TrmDT@zicM?8Eq!^_0(tBCWR}B`_qTJ)Es6Y9V;6k z^or-nc(wXXt?EPDlM!}AwCRt&+y}JU=$D^M!ynZPN=t60JdCpvDAaa2V!PXh^kTT) zx|vGEMcC*um@UY@p8FL|j(-ztN@|cCHJDi@OaaR)i8!s6O;^Qer69tnQtpm1qnA70 z(MsbF(b8Rq_kel2&3CCgov=*_*1UCVuVInjCcbQEUpg8X`MBh_Bv^qP-gm?EA7tR= z>#BOcJXKt%B7eo0#SLvv&(#@JTrmzRYkp7Uq3GW1^g?wd zg?Fx0;;|siZ1yETn^1>tGj+IUp>!W1B}cs7#Lpuprxh#^I8i63$z0rY7r(x~zuNr9 zXyC!<{3kd&If!0~Hkp6&m7R4PE`kFLH={`6gR0TJz8)_^(fgQD%-Kc-W9u2Ux=v zE&Qekn^6Qaf!pFN&Cq+>nfEJ5m`z^K1t8v{-_8BR84sILI0D zbEy$~B}$u@PoBsjgL&gxM{?UI7B1*lh0ZQ)JQ7}$+yZzR>pr{QD#!9yGFRCLMlp>w z2>|x5T74Crqyp5CMNHQBKl7=*^;`5-I3_9lDgFKUzDOF&wVlSBzrySLp>ZVYSh3Ov`KvB ztN9uXYV>U?GCzo<2Y8S*zatd06P1X=A6MEC_lBoL0-ORA%%3jBqkbxzK!Wh_H^Xgs zw~x65AhuqCb3zL4G^L|gmA9)FmP)P|baKEr$G4CdE=MMz)S4v0^zShArGdr^{P%!e z;Jo}I)73GxK?=dDqv^nETV43vJ0P_GQm(Hroa=r!PPt-4OT%6%kcfF7D?JcHG}x7WKEhXrQV)q!WBI-m>+vu^W+cfR~6LA9&c0`=ZNZh59yRecpeOj|n zY|7VO$^zdW(cBtZ!1n|pEonRDD>d|ZJZ`Ne7RAy@9+lyTad9mAR?;}2ErW!7FS>5C zOPEBoDg_s*)JC)gg*b_PQfroUZpszkE7Q?JnOdHbw;k9`Z)__dpweEK&L0GFfrJoqU=b zSV6HVHKmMY+^ibUD6MmHFlyfiHh6;_O3ubN%Ga z^|1qA9vj+shY!uuzp$fx;JjrKdB_|ORcS|KZ+&p&(3hozrtLQIwq#%+LzfJHw|BJf zjRtEp>e1gx`gGv#Gtg|sA&WZ58-M8YX2!p)kYn`Zo{a6xMTnWt2XV@s7tL_4mt{WI zc=79=Bejbu>`%0|q(0_Oe3Zq3o^FUQhY8?c4me|t7B}LiOy@l{PxdhrqKE8dMZAmM zvOnvY8qdTd+d;*zG@;)Tt9)|f`e@pyeQA%(f8oN^*3{0&tut&FavP&`d}*~RqrEK} zcVbvfbcrq9J1%G1EpH!On;Gtz?L382vh?N#k(u3@YgbPfP0cXFpQ4nk{`|&uH%htMojctx z6?49*WavzR^0+_Ham+h@075LZo$CkFmhu3yx9{k=Za-+*kNZs?>P0brh-sXNxVfIm zp&sFEZyudvLJ^OiJx2=!OHCX1P-( zV~EvGfsB1F&ER2uDf~I?ALuT-JDjyg=TL{jy(mwn=Jpn=BKG=)tkgFKk;`bUQtfyb z6RLe zIPJ}Y%nt+JIjF=>XUR(kW_F*9?95d7!!Jx-Zsam2TL237*ixGcFDGME`^nU(fo#We z{iqjVgVnKCg3XU-ob7WC-`|+p+uIe^wk@@|)@R(Ox5@aW%(w20Fod8&nI`A!YL-^$|%mOt^Jg2^`=(eAOb|j zd=zb>_9;S(#X(Y5Gj1tNNkh;>?73R*t)FU3Al>&&HW$^Sb8Jfy4mld7ZCOfCX>N(_ z?slcz4O*oO`)Vvoq8R>|+F=@9e{$pG0&q#UGPvb=k+3ttm`h>l7k3`K5!WSZ*TkdA zxx1r7UH+Mn$-Z<%ntTpV?T_SQ4mi=@Hk2@Tp3*JAAhh3tmAMbP&tn%7@}bv)hOtPjRORw3=c zs}|18o#5gUOwZn4jGfPU;b!>Q2&dfb9(4`<|9i+yPBHoZ@XRNy&Y*m+%cZoRd3G=J55Zv zaKMu3J2pyv3MmP!(UJ_h7}ILq+Ej?{yi}T8zi7|ocs>-bO=CRzZmfenxQ$&I4$+=& z1)d!gSi$G!9orzhf}oDi{h|oVzl(Scx*d#*#785lW6E-idO4{OQtIO>!Fu77LxQ$l zimZmnotplrpRC(@akt$0AofIKs@GI5TZ)lE=c{y4*=(ai0Hlq%bUED^9>weeZE>Y8 z>WI_Xna8uweX+pYu8AyU#WGYhAY@(R5cIM-pKI0I+5d%1m@`qD?Rh^~Qt?Gkg28yO z!0OW28~UYBYiOn(@xCtM=b}zl_`_tGCCm-KY)`L-qXNX4U7@vSQB zH=ngb++uR4#>y=&sGX0}S)u}f?t)GXyh;6Vb7D0mMd61UUzlm1o*E`s5(T@n$tz(i zikLpusk^A8hvnxDj3T1S1OOf_q`)PWx@T(7&nvgq%eof&HV$q59JpH_2LyKx_M99D z9)~>O@5wL)#=o(j<8-Vhvy^|NHzqFLsVMqCe=)$qzf)RfX-e#+MuEM z5LKgcsYT)q9b&EGu|5a7)S)MSl%`K#Fk3j=Z{s0@biMkuWfqL|@s)JbrXG-sNQ$Eo zD>HFuLk#$p^<_id=j<6{isYq&XZ@0-dE!r2Cx#rpMdhBr-`_)lr8w$O({{UlkE}P_ zoi)|bnUNGSkB3PYVYLi8-d?OtRtxNuzd5Ht>J?VMOOhk+N}m@y&O^>&HL9HFu(2xZ zASnTUeg&D8`+Vro*Fct`u?o)_oWP}&R603TUpo2tXIerI+Q5>p7wd(RNJBKFUQ#IFckk9YqTN+NAk6J-}HWWtOq zF(g~7Vwi0xe;GSUXCz4aFaI*mi-GTu8K3`UcuuuRe#P#)uQ}2JT^GC(}_idSMi5Wfn zODkUL|1ksMFRgga2sa}%;4iK4$AO#C`_EeOpY;gY8Q1>V;r*ZWVp4Hlosj%x(SyT7zxDW;INarTf9Wylvp+6V{iVn6zW#Cf&0l(q z^7D_&=zr<)OT#}dKl}SWT>L5d92em)gWt{&^Iuc_ZA%Eaf7*KSm-`1-Ss9AH_?KKp z`IlVA{Fhut`d3_jhx{+O{Os@h(9Vzy;a@rRzW$d~;eUIQe-;Tp&4>RBZLu>MBm5s- zRyzABDH`%j9OyiRQ!PDBjl*}d{c5_Ys{i8cbdxC~MUTT2MsVObQ=4H2JHuMJV-$qU zaH7>ykjPqgb_EuMRhgPpZ0YUCrPw^B1}c1-=DSk{j4x!V218{jlc8Ca^{%up=30(#j_qWl?8w_Cty%Qy#3vU9 zv)ME2hF46*Y^?xr;`sIlN~1H!?OQ88UediMm*Jk;>9*xGSr=ieEgz_I#@vZFEDaSp zoA72#yK`JB-_Q3_sM6-1Exp}4j|c7H63Yi_M?Y-fd~sjdJ{RRXbZ$~xQAFr_0YiPD zQ;s=LosoTd*Y zss~YI$nPia;ZvB2-PhY`14pPd>yoN1Kq?cryG7F)8ja3?&djn~Gkch`Rtu%<7vZ z_8HsaugBZs$4_JS6`searERwkFt=;{lDbG4_eC5}{^O0x-DOM0@&H|26}GIU(c$p? zL{1*v7Ple_R}Hhaax)$G>2*M*c>=#+qx0^)_v4-Ut)KkZ81hr8xslmo_BI8wX`%lK}+6-Sul3JvRgZzL)pOl!vk{)cjozn0*)Uo z_H{DTc7~RasKABm?ueF`nHk4-Htk>+MSn70!*q**UxA&i!VI=%Ei*}qjF71Q5 zU{-4ISx@^Q>zrt2BLMj54d=H(MG2w&?yeGwNnjV;qT7*pPx|Swjzx0t<@~mlVE}M6&hTdN7U2PO-O*g$;b%pp1FTuQqhv%}g#)yUemdAJ)Jwi6#M={*)J># zUa9C3I%ik$k7;u*ERXd}2wpefsg%kQ4cS?k)I2LYzOijP!w{rg@+t!~xi6|gAP#Yd zOr|xjiljCJ#W&3cFeqGp{DvNX8@&S-_G|0`_Q4yQ{IY5Hq~Tc3RKo(ycfAK^S@xGV zy6$E8vI6lAcUfL7wY}yShKoHvz7Vqc`z5`qV%70c58)@g;k#6fCGvd)$@)~%uJ1pL zcAlxm03Y>;H(sRs@uu1cJaOo$?I#dzpWo@QixzV}Jsv+j`023N>_7O%ZeYBPGcJuP z;V7K{VPyi}xFr2yRrZu{H8EN^89QgNxFJ3t)oyz>RZj}Q2A@q>nh}eXRcT)7}5w^G@l6*o-e9>fj^w_ zt?bKnHs<$==i`COpIxv*i4va2=6!+B5k*|g8DMQ_f+hY*ZXN_6P|l8*noG@1}DZRU48hf9AQ zhULMf5^yO$TOE_{%HOQYefdcs@Xxa|ESC2geq59$5COV{Dj0k~8UE_L%- zyM{}v7d{O9k-}T`g-Z`E;V&lI3p0UB|LkxpzvCb2>|xkHq_P3X5Uhb}i9losPTCuH z)octI#5E;kAAZ%rD>nAhVy%EafzZw2YF_%c{u z5hlIPT>8Hld&{sWqpodOMMVh-X#}KU=x&s5aDV}Zlx~o26qN36q+^(&JC$yv8>C?< zi6KS40llB+e*b*$dvMIfp1s#P*IsL#d%?iI_LU+GT}pBHG(Rr)G+*7x=<9%IgcQ2b zVU@Vi{XY&~{ngw-Y8Dr|6(BVWkeZ@MSWi#$yFvI)#{YHDa=oeO#IP9q`oNIi2w&ek zMt3lYUKY{twI1&Hcu)++DYkrf&%7v)8bVNRUbS?l ziL`{M+-Q4jEFQyKPX8n)xc%Chs}&V&QR*N~YxrD-Co{Ago_Kx&YfwaHO96MP+ zbG1(~V%^p8%GF;HZ6h-QdwkAxFMYBo9lg}=Sf;UdEG2!?-91#qFbcd{Hi>}-@q+Q-_wgC zCLnFoc}RajIdHM7S_pJ|S{OHa;TVuHruk=INf(zT=qcdT-LV+;sq`;&p7%aZi)k(U zaCl0vhyi7t!Ke?U-2|B6PggiQ^hN$co~&8$5cq^L-#E!BC9ujgB|Xu^PQ6<=VI#vQ z#GS)QNH?RSq_SFWyh-^jLA>p+%C}BHCpDWFwoR=q9*Mul?S=yRMkYRLPKUQJw4>OY zS59mmZ=N|rX1ESPqLX`A;O2LHq-CR!=OddC=^oc8dc{!SBj9Qkj3NmEF1-2Bo zrh{E+2RauDTXa)@|DKx5m+UuE4%F0Je(W#H$n9YG)Xeo*?>ILeScQ0-u6g(44>Wa|4-!~ia2G(Uucn^`0PG1 z$@b3`3l!dSc9RfIeJg(&$ioixGsMKOey@dcZ4O3x88cpeeB{w5xDiW#3)O$tQBKxz zCedK`CFM}MD1%Rbw?l6epzQQ3WJ{PZVLd|hDBx~K2VL`#12dRsbedn5yht=NZbmXj zon}pHH8Vc$wCd7llg_@{25?*0R^)s-iRi;WKFGra}c$Xp4VhHB|o`QBG(LhoDue?&zg2+WAaoSb9&Qf5(*+c zK<>DpFVIiWAM9y+p=8PHwmssWvwL>Gd*a6lzcG1_)kKyy1j5&`_bnF<-Pw_sGxtwi zK4w3K-uXe}m14n>i)y@8`|P3lZrG-c6@eq}&dJ>W?v*egzm$x9qmI)2iuG1~F;KKh z&V_@os<@UhGn}=p&*{p{p%5}nRs1{T{Z&kVavp#-YO|%!JzJDRfLC>&e){8|0={t> z-hM_!TR=#jdRMr%1ileiu<5$$rSqk*(otLVDopUMD}P9P|5uBO0#`xE%Ial zXOU)oK;ou#Y47u0NwSO#WnIXvh5+)Pi|s`(-il(b7RI+=tX91i%mr?_<=zT%C`p6m zVY-e+Q>dV-M!qm`*2jWC));uFNvQ9y(8rJk#O=03cI8_$tK#GGI@z=)OZSj5bM3c_ zg;4SVR%LYR(&1{@FGpz}#hzypL?YBH~TS?$nnUL3X!1HAXj*$nYc`7oKBte{cHI>Wl_Si=jks=-OeO+T`+t2=x= zmFSR63q3{yHTmuI!$BMhpMvqHvq%)0H$!JsxvRc_^h>N1o5vtCoZzZ28+w6O%=>~0 z#tIMPKqaA1ie1O8#disN5@UhILaE2>KAJIOv)|B)2iFU%Tjg7Kl+D)$?B<9w2_V;E zkN3<>ZOsXAG^7+z7QQkk)rm~bVudGI)eXi=VJ;1(hT*c8NUw!JY76CvT2|WC+g*2u zoUdx%jcr<7Q?>7HI)%>(F0giMIyotC+Ke>;HccwAQ|KxnxVStT&Z$A8)=^JdJfx)` zI#_-82}|RNb=*n&xE2XTT`tF=QUG(Lof!ySB+@*zJ6K_JjP|HPAYFx&qVVqmn z;KpEPev`o=RGQ9~FKQ`V3T>)Y9`mK6Z>nOMVv7by5QjBI3C}s^$}zc;^;{E!y!bkk zq+ML~^+V*DcK~3gYAQd5dD<7-%;`Nf}5d$1To1rDIv02>ODzr zYimu`kGNh`k8S@1j|dgq37vF5**xt7e`g3Y?c1I{2ZZ7nv1cwPdt8aLtu&9ppj<7Z zL%S}G2C{D|s}wp-1XjI|h6dW2FS4&G43Kvl@}0BU@D(o=M#=&W6Ad3NmT-GY#xpxX z+9uy~8=MUUfC8@6Gmpgdf`O7J8f&?mg)fnN7HqC8?enC+?@*T&B~9yu$gjQS zWhjw1Y~FSiG5w15@=!SpU$vgPuj%U1`o#z06q)1$m%|$=P9bIO59Bk9GE9ey{&{P8lC;ko!uoJ|j+lE;xH zNVk!S>2k3AH5+@CNH%wDZvZzNsZK^+P$0yWpzw`GrtO<(Q(n?}ond_g=Zry6h?x)_ zEJo9E!&`vy47Kg>sR{IZ`P$2gA&Zu=tlLTbaCp-not7|#G|7?G8WH*BLVXVo8fi@~ zAuhRoai-BYzJMom1YagBk%!+s{i4V9U6)!{a#7HyY^*rh>D30!%%stf3YTth%3+)8BcDk%{Oa5Wi}O{V^Zj2w=LK~P%#pu>S*JsVaC#OTd!8?cIc0p&Asid|jsV3LjCpmjV%LLt69ZiOB zx(ETI%F}y-d#+(0@ikB`=Y}4&Ms(S$yX@ZP-bSeeg{fS3bY1^hTr4|eU23^T3}v9X zQcG~?o^F?Y{vO|YiEyQ)i&ydd+@%=FMxRudQ$3b$Q^VP;VqXIvF3b&B`tFh|Sh!@9 zd@GV+k==AMziXFOD1`h3>MQz8k8a02ByVWk_u|~Qp0#3a zI4wfGqes<-B@onPiS$U`dI7GHdoGcRt4JnhpTvuRGc{lFzW z``shod6ZOLd8_IVay!rl@1FTAmbLlWhK(okmaGf&CeyRuBICD0yW6o|W30^K$KU2O z^QOme$+v7XbnF-O8=9Kg`S85=dH3l|X06uhmk3*DBm2^puGh(bV9}qQS&zSQT@EL_ zBp7q9Dl?%TW(Z+SqQ;5J$y7(V_Is9Mq8KiH^R6GKWgF82TjqN}{c99une_9geyN2R z)GaO5Q~Ijb=q%ut+1g+ERbQv8Y^SOkrmA+`uW#mg&KRfX)0+_brxC98e03-v!xpEn zmrnF&E)LHziG_AHGJRP8Hi2-G}OAjYI}J)}ix~a8-U<>!op?!&%6AF?WcZ znz2WV8K;p1NsM3pdvV8pR%xH_tXf}BH?rQ4$O#aYyW>I3Z~m~uQCl8ToQn5rWnma} zx(IOtAqC~zN(3RXy69q+EpW4w%fYwMivDGTILuBG9LY_|P=mlZdS*Ud>5B>yQXtNc zY1^CW{6BHn(nHIdnwz$-Q=TD~`>l%WghPi6ZsyS=%(R&O-);prj0likGDr|9w9H>h z*R7ALhnexZ(|Bdh?@(M$mFFE7kCEyxZ%52g#QkAP`M9GrSz{$*F4~fT;7gXsQ@XhR zx;?%8duO@rQp_89yY~6*(ec2o`=8_MLrbF8_a9?F61?#}pFB7CjVQZiZ1qxZyNqi4 zE%ztF7x6}PQK{NhZ&GoTEZ0ab15!4%F$#BS2s0|+Aj{R4V=602tbN{7lu!Y3Nsw2Z z=YS-TEH;MT_=t)qw}ih>8J*4)>F6^;ZTd>mvs~m6epZxurZO_kc$4Tm_fet4Z6&Rb zCjHmt`l4Rh29cp*8>x?oS<#`NQxH1WNN>B)?1Rd5WmZ*75!HZXad|*nUtUgVn z!H)}OoTuM0hlD;q5A#cX_2LcsLF*0g(eZCxpG-xfH`H!|jY4t7U>olKoZS(^gbEi$ z_3yt7rn{3A+>-ch;5@xjGHg7>vupXO>_r~pyQO)!5hrD(UMF=5920{%JZ;+5C);zb zcKFnWVwAX5wPmrH%euw2(bCY?*RaB`I%o?KeOs9f>R><`U$eq${Xq+;Drae3wT6;s zeA@JDQkdvb4&S)vQ?QGcS@dvbMTSUtyxMjwO~lG#1lWVvU<9`Q=JcTZgvWvK6daQS zVH3-&nXc1Zi*QVs`|4&%siqVzcQGmcK|eTP!|3$s=ZXx%ec_C%1o;Ya@8;JaD-3N~ zu2or!wwfH)P(W-^LOQ@AQCDbs%?6adp8&uck0G7Zco_yVY+#VYrHk24m{t6(s6MN# zU9aCarhxWl$LDM=GzE2W)V)AI(>77UH7AF3BS3%xUZcqLU9!m43NoxKHJ6q`w@6x| zK8z3_vMCCrk}x$MpZHoWIzaMVj_7UyeY9r0_)(|M5dWPmS zu8Jl_<19h9wk-1iC_Rhb8eU%$KI{AwjKZbol%q$#s2JU&{rk(nXrc`nCB1pw1FK7;k=Uj>$hKrKYp7Cm#c3Oc-P zEkyWCI`xfl07-mP@cYE*@e|b36|I3UqPh`mr?`d1pRa6QBkJ@g`)^wtGB7c1o5&!4 zzPVQuH)EZ2w+gqm$aenY4Rs_EdFoDyKTae*TA+O`%u|i&BI?pOwWIyB}kx zziJly{lk>}3DZ*lD9&Z{GJG6_1rI1i!0eE>Am`T-?EjcTGcBZ||1(uk>7BIMjUq(6 zVr?(CI$z7LjE3XZ=lBT{*q+-wOxu@fOFju_?Z{KF0yufqiyM6eEtQYFKB5DqY=8uo z@&H_gfSx~)S8OGYd&T|UN}$L^2($kc2#g0$4owHCZ@AY%(xZ0$SL+8-*;(mP@^SQ= z_zQcjA2DLUG@{U%0);(H1j&bF)u99JhWi`oYc`*IXE-aXdn+|JyJW6M+9@`7Zn&i0=2|?B5g8z zddbrIv4+TnI$Iy6XO) zDB-TW{L=eNQdu^UHY2ip44avrX272VCG%8dWcg)UMKVtdcX03LcRGPKeWIuo;g|Yb zUjiJKcNspic$cmHcCl!C!R1?}UKafZc;;KIulrMo20faoM~?DsVh2sqC&FraFfR9& zfUw$+Z^@c+iPdrV^jCuDGz)L3F!9#?@{%x~kk8D%y7J zF&Gv3W$zE2PuFDQ*K<{86`s@?8c|79pxmE2&alkuO1c77_AN5&q{KO|y=7yg|C-P8 zrx-%J>2%`qbWha(fP!gp*{`HTRAm2|@E1L)1xzcu2U=tfEjQ0}aBhnpt{Tko{-906 zz0E%(P|)k1V*YJUPj;nS)3ahu@zmHyP&JE80>Q)4*rXzLd2tDect-3|)}-{Fl+l}c zS<_Ife17WDstwwVyS1N6`WPLGeofyejkRllRI$Cvw-@u6%^~c|fuGvDKc{b=Bor-$ zwzOpX57tG!&mDTU6w6?z5S(uNJYeXdkgdWmtBw|(JTxfdAdPIcrRC1jD6Ay~lVvZW zXr`+CDDp|gWaJaDb&t4Kjj>pDNiBsAA!iz7*VAjfRU*75g!?Zjy$OeqO z##MTT<1!e=m#^fiAj#ya0F5}!x~2m#4ay(!%_`uO&MN>r7`U6;#BJ)@#HZ#BaIVfZ zgIzcDLzK=mzvvv4SuAjJ*V5-YtiAK1kRiJ+KUs=I#7Hxd&cOA^=lLoN+{lTD@kh_l4mt_5u4o%V^8jt@st^K1_~>*Bb3D zhdLo=t@gA_*P@(z@!yq+?=C5*wQ2?R_}xw5?m4uzd4Ss8mBn~pL!eWc_(-KvEwCW% zeJ><~Q~0^0@m~Dw(d+m()vbKLubaw1j$eg8{-Id@C~~kcOvH~uFNOYGd$Rz z@nMU8D-O?l_w)K#U-k>g9=njS`pxY)Y32>~ELO_RvvCUJz7d*_f^_PKr@@(##nI;Q zHkIY#O99|5&3C#^Z^j1Y3-4nY9`jKlV>`1ox0bGQ7opLd)TUH(Sh{yBRi4W58fP0Ds4=djC;t&TK+t=xMDkbJm!T?r$(#O=9a7S z5_vjI+eD9d+P77?0o{=a7L!$b|EV?%R#u%`DqO%Hp{mnGQiB@j8*a{&;loNMKS%D;nSSLWZbip#!#A&JPxcg|=496t5kZ&0Xrb2v5WL*K@y7>_mh4 zRGfhFz~pDKJg0rH z4z^~`y!8>x%!A;Fl+g{$w9_#21qm&i`e|8n*cNw3qlU%4rxHML=#@<8Uxm^qG(x6i zOO4rjs59KVWB8uNNK!I~j5D;e-hz zmSG~L5fr*rPpSZn*3zA~g?V3=VES{CHbMtkwm{(DLW>vv$J35!WpbChAJWP!FLy1{ z%D|V_i*UAX^bSyLCeR|z@}P<>fM@N(NDEAy$Zy!uUq11i6ci`|(dhdDu&$F&sg}?eL1$Rtab96)$+)jC>q8AVAGOy=G8n0SybAyN)I6E4&6tIcW_8u57QDn<&yOTm?}Rk zRH3KJt#0!gZLh! zpZ(q)jNCiGJ8eVLlJIm5VkA`Wf4|u-(l-5a=ZV>4TJ2FlZiJ5Mx@AJly>fW_y)whS zCwI!A+Wr~K1RxSA^)h(ug zLD^R1Z!AoGo@?I8=iC7#S=9I9t7(=2(+*#PXRsXWch@9 ztWSt+O(0tp`Y(xV&^~#hy)Pkn3wxB6`Dh06wqQVEYRu3lt58#ZSVA>CmA|7`l z-=L4)+dT|M_Ee#LYIyP*DKiLouu1Ru(Y?^mze06rpS``>)qv$DIN%CRlz+|a-Zf+HcvQvxXHex-O%|rT|;jV4Ck4y`X zwT22;8%BcGaai6h=W(YTC4emi8|(3)ggvMtALNs#v-(6mB`A!kl8Q#iR4Tc2Q7S=T z1y?!445a);2c&5Un*ISZd5ZwTkYJSTk)H@d8g@&|f) zDvgYnIw^y_m2ENBoS5MxL-uTY2+a&>a&{NwBO3Z%6cOsSJj```tBS+UikkQ5(^Fdf zM;g5r{IO)wn!OgURVm*Gga^Jx_Vx7+JS;K6%m0)k-|g5J3?Lq$rG}U=CxsWqR_Jn$ zu~B38(^AVxeRJ%S)y65;<>V}Vrp204ekc3|#F?l-2fdRsObFkI4Y|`(RHrp=Fv&q9 zmiy0j^}hY@dWZi~vrmhaxGH%IlQAP2q#CH)3*exh{=M7rVp-44ydy^cf=jd|ZpXy2 zWQlazgj8j$Q>lzAg;j8E5XJQ(YQj&}J_S==jIo#;EmhRqd2x4;E(3X+^st5Hj;Yy> z6n&m>r2oqJMrC&IFwB<(JIXo!X&UXUqGQIV)aG&m<+$Hq$G0TRA9q2;vGsWs;*^=H zqfDC0#qSyg!!}#G_Mvq|1Or_~@F9mmC!O>mE0DStfVAnuiOF-;3nXi5hu+m`7?YU`!_?N^F3@lu@+sM_;Px`{|kxsJzwv{X9!0+wZZm8cW#oXJmBMK|=?VLz*z#cuZ3 zoNKf@CM97F24!*emri>$7GEWnGYJ7Vn%JQkaq_9^029LbYX4dd(vC&d@U-f{PM)9z z^AyP+c>*-0B6ym<+Q4{pUenA)n{HVKK6C^%GN~AF-0j~=>^VX8xt@}V@W!5Sqr9MtRrU#7+ww~$8 zP>mOhy9d8wj-ydR%Fapba4E&|T41GEW98ek(t$C(>KB&5J>>GO`63I90^>O;)8un% z#+FJud0hE%Iir@9)>u4#ZUfR&wLyc{Sf*M7*yDcg1J(MAnfC`DHfkb7#?B`-Vi5l|jv(8$ax^U_*)A)eGaN!?CfF zLxZ;#coTX;3tfUzdBdwK%8X-l`;>0`hU-;|IM!q2j??7QqT_f+PxrGwAUo6Iq;euf z@|tEkWbLf6c1q9Qx$kG!EGJ1%RkJ!4xBzGJMDR*Q!o6R!g<8!^tkeVnbqB~p<-Hhw zpZ(DH)?#(F2`9O%TJSci$Vx{YWA~FQ`iX} z*X(6OtAobuu~;-86KLrqtj@#~rCd^=TPS%kxRon2zvtOov12@@+s}61%a;EJ3ueYf zhMKsk7|j4uDdt6l%Lm+1;6@s~eDO5&$!P6a^r01&M45;#IbT*lrEgGVuS47!yNTVb zdpS9^n5`F)=RPH6&7Pr_C6+{+NVT_0@{=QC2at`~pPpwWmRKEn(3dOsCPSs&=IhU* zFPLA(C?RuL6Vz#*Dm#-U60YkdD{hbjB=cfGCN$0NmmM9FLeym<;d=!nI&EYzmOt|D zg+#QXfU5K4()wQYmvje+n3P(w%Y8$WSqXXAa_7C1xy=P4;jR_RX$Kc}>{3V?++q79 z7Jt`U?nf4Lk<Ack{!z8EY)#0dm%;_;HWb z;DsVo`8^~Dzk7yHo{NRFoJCKbh=(xk8}8KwRhS|_cctCY_SP6$$|m0&=3?a140Khf z0Dg=|f)ARfXyuYKR#;>Cq&th%bVAW5`5#YDR_%S0>ieS9&7 zOp7jNzHQOlYJ!VafTmhYIQ=TLu+=_vY&Pv0(X95nf>tQ}bExg?)OS0Z5KxV3v8Eh3L0-QrP);z(Mq;94A@&$ZZ{!AOfv=N5+u(P4Vzy{lc zSK_14v?^;-35q}HyVn)iWrxqvcLge=tyBowA-WkX^A;J8d&PHDCig)S{`ai4YR1 z#%_}d^D*NMgCc(y9lXks*3%B&9dDeD z3y@~zn3)ALzp(m>QW2INDhK=g+Eu<1I6|=6SX(}0p0_HkrxUz8-|j8c3tq^xM|a53 zNw!B72$Le4uMewx9=1_i>tMb`uzGG+5mjYg!Lu8d0XA4D@ysxeAX42UhwjGSF5GJPLk@; zTS0L?I9y!UfRJ3Wb+!0#SG@TTWBP=XE9K-8YhL?eSF7jexNrT7GdK{WWqOwzy z`t%70_gRiUX%YS4-Q)I<5!o1NJ!JEw-A8CZz;bLWpkA46p{^=Dt~}Cqp$k1A&O&Ft zzG@u($g2f=U_apHwd2eWoJL?B;p$b(ht(DT^r>?%N__)-_b7ciqKhsX1>HI zKJ%x5t7on6Ns?vCjR0Nz#cZUJ6eTh zml}l2f7hh=+r&7x71-jmI30e3H1C@3BnL+>rdOc)ygOHKj2MdRYra(mjin;w%%|x8 zsU(TAGVES=y(^ znXS9^GG1m1`I*(sC&uEek!hM&T9lP&@;oeCUxk2t@+2&K(w8G1q~~Ee+ub`yi7z0O zcUL!rA-jYUZVsv|4rFb~WN|hV$cKgbatNOh7uWxnvwS=EIlCj*8Zsy*gfjT#_DDt7 zv#@MrYOOB2e$AvJx`v@_cK-oz_+H;?fPwI={8gW6fU&`3hXO5+;Qbf^BU7!Yk^tD5 z1v2<&o%wtcA_Cw?h&RdgSc`t`2V-%%dTg*+HLvN&i`gkbBwRz zgQN(;1g9G5Gz=LXe56muVL067j(o0n3yHx3$^FK#xX>&l;N3#HXVfz|mumI@x-6D< zde8M=`}~B}e^V{>!}i9gcNmFwNGQS5MkGeP>$d%D@h>+YBR+_Ihu_mW?EQbynqU!k zs=xGoY3k4*_LGvoiN=9O8r)Zo`;7jr9QVzYc}G^QxW6etRu2EkqcF-Qe#o<07?NwV zY=KwE6>3taWj)pND%<0q!wVfxo|GXc)RM{UKm9+U4%GJL@K@XAbGUcd{hz}>|J&gr zJa0tB|2q8rzZ`D<=Wy`<=`bY}OyOqclk-n$WyN3oUy>=|mt8-s+K9AQ?jvJZCV~dP z`*92mMl#tMxvVJR7hQYF|L6r|ynq}3n|>?HmN=4K9lC8qckD7DYeUw!+|cNMt15Y! zEfDO>(XQ_me_yul?zp_bT>-(nD$b2E2U+f1O*mZ_`;x0ebzMI_hbiPZ=x+0q9&2c!^7Qg#ehCeBA*T*ffeTf zHKf4t8o?n z&QMa2o|=CBGp`w*$o!i;H=737Kxai z80Rl36jt12bb(v`8v$yo6sxJM@gTT|;fzt^p7I%bj~X$`kbpH%xk?g`h`V)}d!QH*UV;=&(+p)svSY=Thly_?f-SuWe&Zu+h= z(2PM))s8!-ez=#WF=GC*9^#++aLI8dR>`U86ie6So2E=&oVIj_`0Y=rr$)Bi17d<3 zF&`gLqcrfQZbTXYjBZ~`KV6x#NK9L^Ai6;1r~d42%dN03Zw#mS zA&U!*=oTyyc>hN%g2qITd#a)!{KM@xY1~F$lHG7S!0*qbax-%l(A~!=P@wnwx-?`F;1U^&B-SsylnW_nzzoprkyHaG)47btW!U(0&)A?Gw0ZmmpNcW4$ zv)<*Zsl71e5;p&ECuL(F)K}m!{6Ma<1~DtB3N&#NF^{I1ox2)j9*kAGNcW31vEHp} z!J$n%ZTL)ETPvy)L>y|fy7eM?1}U@mq@~>IM`vf^8aa^Tz|fkByGokGqi0RBs#cWC zIxhwxq zGz5>YG0J%&idyG z9dO{WcV+Ep<8Y|?CNOQZrU*sl>DV>uV;vGy>9?ttmm6)H@Glmf-&UQo&e^`w%-Jsc zmYQN}`AAIf5I`%+RLMfyD&y*H>ZNSP%%+QNAsZ|g{qQYVx%<}FO{8%YvCSu?>J-h~ zZ{p^%uXo+z)}m4J$i8&{LeT3rAVm$24f#+*jCs$rHUVF399;~4`WJHgDWf!OqDdo} zF(V3&j}|&lUlWQ%1(7~BO&sDq>f}kW1uU=hAL4WbEug=8ANrLe1~j3y7EkkxOe#9^ zy&185%ok6Z?1W`%(m7XhwLjz|1e%&n1Luj%k14h~AD-nFy;%aI8l45dLmi}4z!ZEf zL53ZJgJ<<@M5@ZUA8){PDro~H%R($#j+Vbsk+n*mEd~^A!7Zh_no{tbTq>^gLpXD) zwjK02L_8_fB|7G!CL?kp2aO>t{`(-rRV|P~mb0ojlQY?L0MY-xKv~2z8u*2(3wvrn znj=BD&wV!O2#N0S*3$MZ$R!#%OBBjUi`2YMJX(a9X>RWradeDqx<;@(PI5_TesoN} zMbl=j6!ixvjv0AFnzUqT{~(1INp_(N33t090kXBKJd1r$A`J#{_jxWQA&}U9-z+1F zChR;mJT=Mn4*L^`l;YyER;#6ZfhIc`y|OfN){jfAB)haEw@!Z5q8saQ`%98g4i0+o zMP!ZEG5mOz9XIY7foVgzujTwFLE`(fQ?6(Au0HFiIX(D4$GfB zp5d`zGsAEafX zRLrkc_9}vUjw%BFL8z4aHK9bLVDZ9eLOf_N4thw+j^&s0#J`ZoUz0~%!#C;R?ACN6Kb^an5_3h{*N-IDaenb&e5r?J{S2DanPX3*gHud`75U3XLh^zDD7%|J5 zF!$CEYIl=}-A&bZjG?MvD1|42b9cKOQw+6h5DL_YE5t#c6M9enpbKwpoCGNFKwo`o z;TZ||c|UTh0&>w4&-!Iz^0{79#{ghBl{q*G8*lujyZs{vpdfMTM)Rpr2!mMeL@ICL z6tg@m_a*aVQaow((HZOHIxI^ja%4i`Mmk? z-5?D}gG)(sc8?n1NTX!};3rW^SU&|P7GRJ|r5r>{>by6>C*GL4{zyrR%+okU(4;Z8YaJq6JhzpR-6}9(7 zGq*T4e%e_|*(8@?oGdnBpiyqGpSczrzXJ#6|I$deG-B1#hO&`<-oZypa<1nUb)XUwnIM%I@$i8Lppl@Ct4d>T#1nC8aGlL?qiMX0%s^vjmcn7>X3FMzN_x(@ zo|{A#QE^eq59vwb{eFBms>W4iS>9BDoQIN%rGjWE=OQJz0h%%)Jqfl2bG#ZA7ohCf zSYqISv3SuebBF?uS<>R{@oASwk6E*y>QOHVuR&w`>fkn&4 zOG&HIGM4QW+e-bwV|9JCe!^&7*L`TJ)ZNd zKbV7hYzlx0V!+Ez=0R^cRDoRIBLG|roF$LP*T+mPvQRIwtZVa)z@IH$}6o&Aa`YR+NAMzE1L{0oCC(Mvzmmc%9p7GDx z(jBbpxKf0fx>>8~2HtDpef^~5hyr;}p?9iW>=gg_tLUrAYi|(`Xp;#iWO88|0bVB7yp|! zjPM`#v)vCVnUB{T#ZX0(pfmw-I_&*dw=}8dy02WY|mqy>CAxrXG zbAO>bMy^xuaOx26H@=CHE=}xS&8#>khU2of$9=ylxc{ySfnWVnR3vHrhcPWg&Zg>9 zf?N@CT;rAJwm^w{^8P~xC`j+_(IB7KER>0o1oe7Kj@riD{|)T)bT|hiy({BIXc4J- z;X}LF+m_s&hwsAGCu}!M2mJ>6i*;h9&iq5}Nv3Qa`08J5ZMVDcb7oPIVY0^g;nj$r z!jcF|)C=l3;r?$PNYq>mVeMCRm(jr_Jj2QZ>pq*Y=Me>e*^3&<Vd&A$PgPMh$%9P_mFl5~7>F|65v=Y}_c0B_|R&=v7Q0 zaBZ(zkzAkdnmmU0*&TiVswR9MGjV>Gif3|HAyU&*68$6pEsf1@4yG@3HC`yijT#9F z9RJ`(&U=7-t3V1>x_|p8^2mV?so^h_<3?B68K3I4ho+hG_I*U2RXlkgkU_sS_$&8~ zU);oGnRK+s6y`M-Y<;8spKAGc7=wqHr8bUw3-l?hK%4&BrE=Df9p{nsdr{O&KUm}Z7kQHi-hWC3|aSEy^0XXjKnwJ{w ze+rP(&w4>reE~Hk>9GCvUarXx!lHwl-~o5#q6)cD=paS>KioscqyJSsB)zO4C!z~2<~|~hX4;g3cgv+g zjeR$A1!^I^5zd3pQmaNiqD6i5svhppOA<1RZ}t;%8P9{CQCX1FWr&8HxK!03-DQ-Q z%s5I`@@EF?&2Mt|^9HMp;_?KHT0m%`dI!hizyEKrRZ~zj6RM`vt4SnMx?IiEIvguh zdJoq>fEx&St~Ap8Zswg1H`Vja56?8W9vo)3`r^mQx(urFQkWgFh=^BPNG=~cq`n%N zEvdc!<$pa`U(_(7Sfd|Y2nhlx#I{bqtyu~x{DAmj7%z&WU!xyX*z6Q;ec%9s)vXl6 zM@_*)vmFowr!c4iL*;d%XgR26DWFgmVIdYPx}jR5A5aL;TzRhQB+z2j^jrl6;+#9S zRa`vf^-Fz&Tv*KdMYbyJ{AV%T(inOm$~EbUlL-N@T4e>v&-G8006MEh=N6dQs7 z2!j@j7~ywj-BybGtpJp}wPYnz14tN7;cTrTI;BZZ(o6`e0f6;oWNmfv)Gl&FP#EkL z(qh$ur2-n>jFp|VNqPr6M{4`H<4&`%YTmc~v|=X~%?q>-JJcpqN{`2mWixf|+B`BC zlguZ`$swJbz%6O&LHZR`2nqAHO2RIhx<;al3WMF-EZXn;wOlwqO(?1q{~IWVvo`&O zUjbHr_ypWhyHf@rv7oi@COj!JA<#i!(Y?bInMRY_^~k1aVkMNVbR>7g@3Ejf`Wp*_ zq8v0!5h~b1UC~J$!xe$s9|D=>*x}{aZJoJG9TJ}b!H)wu_8!S(@BqffksR7SU4>C% zw5Y7!;pNcn`J&3)p|At4&Uem9#Kht_i>A_2%d6NDKJcgmuJ-b#FIlosDK{Lk7+rLN z6se$*Mj#V1dYLsS&G;ZeYt zDB$7{YNWF?0y|#TTz%a%{)iKB%E>U$IFI!Tfa$#`p|1YhW!s8dP;K5m+#<@ICQQsF ziO_$w3>?l-5j;jTD*N^ehn9br5_JPy zw4CIpGh?sGiR3?M%yoxk%1sb~Io@)RMYCk+mrZY7HhFv0FXUe&GfVvOBS4J3Nxp)s z-vV2eZvV6yJ;v?Bfqk21Add@PRbB6V>u&v~XI)kSgk4A>gbO1(l9%bK*?Vpn%_pVJ z8C?x=p{W$t2FYlr*PP`-^6*{qx{6@A{dl1S>w;sesubdqofD7HL>rn@_cadX@|=-p zRBVQbO{~O!aY+)oZYJ2s#Slo`6=bDtjKV@hO1=sqCNQlHt01=xit9G#2nUC zG;I9p4X+asspC2d`mEi}1Q`_hk0Z^uD8Ot>~@GQ~ROcea0sFL*J^}tfbhF zL&&?>C7%?o3YBtjKI`5$HK}pVGxQ8ag~p;Jx}dyZ1@F9hZ~76r9foK8<#+doHv8^! zHe(e$J2V8+;;L%_tnhAyo`@v=FbUG`0o=8G%(abC_Yi~|&6%4dP0xUJ50gx!=8SKT|#PK-qCRGUVM!|8I=_4-i*f=o+Q1N&kN70xUp*z zF|P68(=qt^^$j$2$GGhjh^Jbs7lU&iJm-n$@)ug4%JiAU)~pk>3s8aq2BT>f>48BKG^lGD>k z;%sftbsrb$S~;x460XXjvtO-()bn{k=aa;LdIG(f`NUq!4g--v09-*^#r|23hK64Oqi%zEz^ zxMFizYQ2J8O^NAnSxSIGqb>V2z8af?e>13F>B$zv<<6v`K^yyJH2(LV)z1u1EHULK zw;!$o#q`?LOzkZ5s>bOu9z;p$p0gz2{}o>ZFV!@unT&Tzr;2tZ-HPk|OsOW#T#8FP zdpS6bP73UMZ4Uyh?6O;7`abWQq3lP?F?<`0;Z6}}Kg5dFT!_((CaS5d`ix8Fn1WYR zPU_&A!2Zo$1%6j6k5wTWx3K*NE|ITmB+}_0gXsRvk2#jDQC^Cu3r{NngBLsT=H)smgc>~zG{4Bb4C zVvnWs&rrBGgm7)?(P6j?J()e&W;B_M}0Sg#t$ zj{NALV`zmuY~iav-#j$u)V^S*dYPn~Ube9V845q`_w0?mv-r3GyqbA(vmxz;72dJs z0o-F$EK~jp@0^*h4=>AT#WSwlg1I?efWI?!64Pgct}{O~34A%c7l{pUa`gc$X;_L@ z58f~9=a=V~*VN3_EfWJr&ir2PJQoj&)VRwp1B+L;lT6#!)a$Z>VGTpK7Ef+n6E07& zI9yNDz=u?n86*E>=9+2T(4kc?A&{9105z}LV|`2l;MDd4+stJ7h?UTx^(NHn)vIsWf5{Uj9X^UVzeZM zqv-k>gW4A8-PRDlGl~40U`vl-%b|ujCUad63+ic)qkCfFvcvaLQp$y-8TB)~Q-eN3 zDoep+y2fE-$!GZ_L-$NE>{x|iTfUoj$iY$gucpjvlxHMTx60AKx#vK7{w&*vHpGxZ zFoFOM-eu3JnwIq;iS7)Wrkq!#j?^HPh5buv?30YuKSB(r$D84N?-d%aA0BM_8yMM9t*Uvj-$)uk(HW%)7&|@-Bm^ z8nWu`@cHiwLdPQ;85}8j7cnAZme6KS)OW*Rd7b-kR+Kop$&}^4&x!tkgf|U=u2wz$ z+~D6lhMlYH9(*8*L!Z$*k(o&(YyNpID463~NL_Bw!9-1WYiH|P*0HcHcWCHwoSYu> z)`23m;d?GK%5)&hy3f7O}`x#K^{SMSwgd@lFb|M?1PNQ;@%noHY2j=`q$)q-N$`fAx`1eKTx6?g?Uj6({`Cdjt#N zQ~Ko$L2W?$J!**m#=Qeuw|%?Yr$;M+`~EGW=VfF%vnR1f-}ujV_S?R*TXQGC=jmmY zzun(MsN-3kqIvBi>h-Ps#ml+1)f>v6VH*l+`MC~o`#`tN_|g6Pl9=1aWX(~VpIkBO zd;8p%3R(qbj%ls~4+o=%k+oBqIHF}%voem>wuIaHr%1a1dBSFp^W7an>~r0%o?7VRY^JEt88xCl z8h33=q@yKAc}JQ%mg7ClEyp77p!eq=IaV;cHMxPO+fi4RJ)ND-1E${F{2`HkL1X){9G6{xO9k2AF&U8aQSmgtEUdJkNkEy7djJxpX5Z8?JMw?F0&&Xe-X)&}~jld%PMZHH&dw zU4oaJ?jL3|*ZeTA&o8IfCk&h6Qm)z&?SAlkA-d~M%!ttkwLiCY3iNbC1Q&VOW6h2K z;pTWlsqq!-chGt!R0f5FZvQ>tE(*#N;v4*sZ1fNAcQ8HYZhyY?FVyK_)vE*qH{5d< zoD!;uap$~`E{sN(X$#I<$CjPK!gJl2y#t_Qp6~7^4yT8slSE`)iadmSsV9i>FdaKm zcgCVn`ih2Mcyyn*gyCIU6`zwU4AC5zTNJ0bEv_`##O}vP$cIMAR@Q2-s91~_E9@qb4J!1pBLy>xI4%9j&vLFu{?In7wXfke=5o6l!kp%o+a~i zUK>F4%(80uN4+_q2X`rbx+xYOx2DI_FW_pjaSn7oz@kPyGq69BIDN;Rd1?mZna()%MJp|D>_SfA=!0*Y)LoeTK2f3T{`t#W;d0t3P|-Uc-(&iofUV2`8qZh z*vTre`4%X%D+o^nyjvu7Jjw|k@bwchTBp)3+(Q2ImP-!8N;)<)oH|}J{WIMN9L?Dx zw=~iExV*46&(Eo07>H?{F@GCz`t&$|ZPTt{(jnPyBi}VJl&r{AIb8}uHyyaAox6() zjhyh1{0vmO=bG|&nZL-{5n1`fyA>)DEG*&8_gFiPrrB^O7C4@4AZ+q?miYo_?P|XFA(+xsfkRqUE;hQsQG#GMK_%?g2R7P1^W!-PNR&}Q| zR4m#WmU7fN6n_qJd`-c2kX^kuh`i;b5CBv~Eb|ny0iu;aIX4V9-GkAlB;9}swVR(35-UtFEsLRp`%ADB362y8JCDxZp|^Ir6rW(;x7dINcY(*?Ki(2+Q_}Pu zW^|-|`!JsG`Mq}t0x|)(q@Oy&dgm#ggo7rsL~Qq#u)4*&JFP&vOeqd`p!LZI79Xi- zrMCv7yf20L$l0%Ovr%V!) z906NKU#Uuuj6~1rNWu0i#f-x{>uC$G#uX|yQGUmw3!B#T}}i4k_%wOo5}v$G|Fd2+RK1A8laxqy&izU+rHU!(?eoe z8X%s*bgebNxM|Hdb)_-S+KwpCE!SAo2;E=0;Hp0Bn&ih({?3YZfc~DQM!e5o-5t-b z;pRP3K4mYm$oL;83qQ_oxjN7NY|`$`h*GE+srnbxZ6`|bK?^<@QMbier`To_=1>tx zk(^6);>AeiWl;T)IeG7uu@6UyasS^#9_x_dKg!WMn$U7}-UY3c4ne4kyF2#AYrlVo_j#tK45>-`O#J9B>iV6n zb~-orgr<6JX)`|VZ0|E)f3&`}fF07o!Rh-=e{_00K@BXkUj)lq+BrBozv-t9jTg0d zS*3fma2+xUUe7HkG<)pgFgFA}6q}vRY%Lt(>Sqwx?=o%dnW@chH6r`1Wwt++%Bpt! zsX}TIw@O~mOeyZ@Dr>kdE4J6CzFl&|1m#Dyxejl9>-W}7TrE|uJj^`@XXcAuFz@JI zpugc>=hklXGU?`#`*aTxZOOl+dcqtK0DFy;FG7z3#mAs`yZ079?Cuw#-(`W@?Nw7X zQX6ggx)#>phLbc>6OEwTajkLaRdb1y31xa?lbN|vN*kE*HU)>xYCR|E)0~1{NM+Z; z^%kL=$fdzX<{6d2>%W9gLQ-gMFXw{ulUk`^YVkc&WKwDJj6*Tc+z@X;9Ewwnv%-x0 zA4?w9kA*+5_AyoDlJcweC~)8czg&BG6pzyds=BZvR@`|2?>6PD<_sIsA}5S@a-F(c2x z&~45pTiY^>BG#tCO(of69(?53r&0dm6y4eaj6v3>g>0n>##|?H_B(5dlax))Hrume zR&mxg^man;cud;hAFy98M%vHBhT6;X)`8lv%zTU~oX{~nvD*#KLoUyP%(!AD+mTjv z_k3>#3Xx{1r;p`&@#($}B|c_vJ{*iGA;sJKR%S9<<&b5SII>)M$-hj;;B0l6^kuns z=J%bGO`(;w#}aJG=p*$KP!<~XG!ku%&K*i~;+i=^&uFbG+*@-Jniay%X=P3tvvy^< zjYh_LT%iG3xN_X+^UhRkn<5Gm>7lOBZdpmvT(vJPj)IhSDk0~zRFeNEGq4r&)6*;GmMb5#WaNuCZ7aS5j6ZoD}d5+gz`EqN$0{AOw?C7+sc zP%?K?QFLc_6yi;pIT)z*@xO$J9ERAeK%!VQtAQm*ycJRd?gs?!A_ED1+RxRNT1EPs z6u&~MIB`(cXVI(EVxRMjWn=%^2@<3bRvW`}WW9`Z&D3VO{>u1DP+dITUSJH#zrBKu zG9mNjY}U~!_#!N%Y6_cGS&GB<5Mj)l-g?4aVgS`ri*3h1V?pC_XWg5_*1x_2y9v98 zt@}JIB(tEbrJxy0i{m07#EksPOd=Tx;k>HU8N*nU-nt@8qH^sYx4MIbomZVD*z5`M zjfsdgy05;vu_2ezZcPQvY}$jH`m?pt6*}}0c0=`+D-m$+$x?G85qp1rJ(rT85T0AK z(i5bF!#sW)D2B$bk{URI#y^h;ft8bH=CB=)3-{*Oc(s(GkI?7){;Z{JtEv`dT}9K( zTW+%giy{lx@11X)$RmC>TWc%UNKc^g8{zs_i2OZzjnqIrN;ueI$>e^OG)x+W%R0(Y zn+zWRi1I|i-mc{Pp%)u6(IunFp{Fbc{5DWdVGgv^YBt`&Mv)4s#3j%G$ArLc(pcrZ z2#_=u^3hh-WcdQrSWuUf)}+_Li!#t?q$yv}Rn}DhqF-g1Pu^8oO5YjhO@BtmTvUP0 z__H7t+ieJ6$3bEfifL^z0>|{kOoDOlzbj?OVI~2@;2sH4Nc}S&#VjW%*2yy249fh@ zUg0%l>;HQpu&l8uZ~Cyo;^6K%u>3nL+`2ciE8(MsEIo{{3Hd(or;Ca6+p3uX#9(7A z^MvEJ))5QVe4n}oo=q{d%Z{|5L8VFo?eLhTpO1mv^>Clo9gkji0`>6jfnjshfHhKL zlV{s4{N5IinxBsv7_j@K$&K2=5=s4}ydb4?$Fo7sU@#q9z(8KUzXN=A{Dr#QjVHw} zyz!kOXD5_C)Nzdsbpp)*{2K_u$w`Ja#v9NI6=rii{3QcqJVBuK^=bDLsUAn{z!HC+ zo1noWn>s71G8la3cp2%$aW{~{Un~8$kjC1Sao^GH)f<4-6!nKtN>EtOt-r}*KW_51 z_7}<%2T5p!F~Xbxs%}(oeGX~0^)8e=H>x(+D(k>bFpF4was(ov)%w>C<9_XH+&?Sf zTA(ZO{_*(z<52?haDMv7L(hV+2%8>Z44BwBA>RYMe7?hspkdC4QaG>VqcR#uxvI>-o>F!`RfG7i;PJrb!N@ynj* zYa#H`tI3ZQbx8o#=hZw;V3bXTS7V$_eWGV(#aKKWMt&0u=Y1 zTCD@EAC3n@TwoUO1}6P>%Y~^+!Q&GO_{AM#4$wMQR0<*;GI##Z#cI=NsdFZ$(SPy>T&m&SaU1Ok z9tL4Yut&<0O}BW?K)VUvD!}6znSGv!Dp|1iOoeQ~rX2m9X(wUUpk2k;C;R6|_Mm?b z9>`vj#e8)P_a4?AHU^1;JKwqlbvZ5E4VY~dolPU!9fj(C7ybO27efj*r1dveV-6`( z1GT!pf+bktH-)f&!&$k=nt>6{+LvfGBT69!BPw;=m`1>pAvO2&bZ!F}@S64Y)}?>r zHV?<&{?0`uH}~^@P0Po}gNMh1cgK?;-Z~Jk%)#+bUO?lM%Mog3^>OILbolY~`JKz& zt;-(h?&vk^e>8hs-*^B2X?Cw%Z(xKsrf4?yrZ=lgpI@_DU$Z>lJB5U)nS`lxgdL`) z!`BItN2kLbUoCHrxrC{KAYP2cIX~8z{|Cz}ObwQYzh)t5p4j~#j1!0#`0C{cP|yP? z2>Nej<$li0O%w+x6wyz$Jh_1D|LgAkf2%6_pQ_1e8FFFjxtqeF-1XP2h5yF8aCZ#W z`9D4vfPyVR0TUcVB!-mnedFl3=s!cjy=$hY!zZT8j;Ay4Tz=fSB!De;e)#==XgDgS z{FC;TfS1ZmUBvKqQ`2RW(^lldCH9CAb`Qr3N5_pq!X-??CEyDM_TbsA%Xp_#?a3VC znfXi8wc}~*hfWG?>w%5>Qm{&mK38=zKZqcC)%li_DY50?+=MCKSAJrK3zU%@uW`%C zOzeN#MDwO}+r%*W|xM{Rgl zf056I(pjRo$S<<(Xgo?(XDgz{@{?k6<&V*L~JftGk|T^97SpFKtJsC~t-G zrN7B29ET~+ozb%3mww~49#Vp(G5EHy3`MQeI=Iy&5{^^NvZrGTF7C~ATR%lC7tlns z;~-|RwIKF4NzW|EAM$1F!N}_mpIAnG=5R}Fiz((2RXytbX%nAE>jFyJ9R2xE+_doz zeDw1d);}fGdKZ5-GY0U z>xBo<`p**K9rqL8$e%T4-}&hny#pi<;g(Bg53|o5kZN-)5ubVg^gOTQ;)8>^&<7T@I2QGdgZ}D}mN$yng)c3_4!Gxns`IOkL zwdQ1}=P%i%D;RCgzqb3K=up`)!f~2?cHavz87o<|BId=@1Lz*d$uGts07w&_vaocY z)A+`DTuq_SGGB3e)jpxEcb$L#{kOKr?PnsQH;okCdZ@H)Ql>YPU-hAqj;>y{uD9WO z3N@K7-}(atxpf~Kx9f5owa!YRaYP8iY<~`_386~rEqrM7s*4p{Vz$MV|L(5D;sA|M zR9E%t%akqGy$i*pq%Y%@Fc6e-GbYi1#8qS^CT`+KZ`g@&9y=SkPH;G*6q1JA!wB-rAR;3W!Xo5apf_+CNoYl;93$Y zrB*gN_8rnTqLj)i>wFzFqi%$?Oiyd%Xwb{E6CuXc8JsgC2RH72i_~g=4Q_^X)3d~o zO?8{$%8Nl_{Be2~+X!3AKOWx__FER+icksH8eHSoN&^FN%E(iGshf4HtCN;X7uXj` z7hF|K@3obE3nvoY{~62s+im&r>(U3S#n+80>a?#qT2~!DqK@QWoF!*AivvDeX*xxf zK&SLB;Cp#|_xWK)OJOzdL`g=WD@bo1HfcUpr|Od~^JXhT?xBg3yyAG5K3Oe`0iZIq1P zEKQ{RuAZOJWL4p#O8(Yv;_8Fv4u{)M*-G^vOy3->#XkFCVT7wzsv%hfWXDPyS=+=* zh{g900Q5NiU@|hu>x<>&l~qY$qv*@9@eHnGF4~us(tg{?9IaW*OWP*?TTv&6{pGJ6 z^~#m_Zjkljf$|o9{08qZL5nyB)V6z&epaTf3?=;-#n@Ghq{cjleK-0yQP`+({s%rRD2@E_>AU)w-%p=ewh196 zlpwQeIHx+TNx*8QvrA&+u-zfoFiWA+vjgY_f|3g)Lc@A~f~wi@dJTJBy-|=1FO-4~~Nx^&@ms84N@l5ySvFP*5pT0>L$ZIA%?{{4nw=)29EQG)4LwuH*~?XH$?Z`9pwl~ zFH(th!`#5$o>fLB?|fbLhRZ|!aFRYjGM$nmQygFlziTF@$dwY*FrLnW6#X=_f4U*# z3lt}EVBQ=pdx9WY_hzRTKgriilVw~Bvf9W)V?f)wNWjuEJKju(ue^im^9jxAKzZyv zb{mZJ?$zzHt|PL0rSG)AqY71u>Y6+ zg2eJUENs8%gj(Ve+s||FURZb5$M+k_Y1T)Jsl3QCVli^8!?$I**uuxpN#pBLx>#R@#=^s0D$qNZl*-T!Ep;kml4`rH4>v#B733y=36sIV~Xwlup_J2=qOk!bmk)mtxT2msRN)D-hfPE%F)~PdiW%N1A&XCbsv3>vkT>< zjNI#|8%IMSYB7XML*F}7s!D`h(GQLJV8{jw|F!hoK*H!d0EY%!K4O;aEBWmWL}C4U z!T~ENf-0RMVG_dYr?QHeyiA*gUl?l5Es<1e8H5>X5k>(~cWiOgH}Q(x*<6uJ#A03_A(HeTy|@^Igwi(AU(lcM6_oY(nKs)5bP z&krlo!)fL>{)H+Oovmh7!?t-m=zt2HDj~Y6;-{3RXPnh1{}zpHJ9xJyoj7F8auiKR zq08i->#rezJ|9mm9l?%Ff3gviXi%fgCqM>GNjvsf!4wgBv9Jh>)EN zz6Xh2*}oVX)ZjEv{%GM~0U}b=kiOQh=ubXo`X4-F^!1!t==Q1zZ=YL~de#dtyu!Z( z8-!~Mee#}*H9A<=f0qubr@9)%zP7#?18 z$-k9^@Jzl<^5-@XG;}x)JS(-f`zA4LC``uA>yk@)d-?9%GX6LLk^pGo z&EYjZI`kRfiE?;*wT?1>w_{VhD0l<`5S@|sR`2bdy1g10vG1%s$_f+jQ+H)Q<|)SD zo=4$(P`DFch5%^hx4(36-d#&Gm)0TP4-Ki9jnYWn(_dYG9R0jcN!nQeWvzAh=cqsKmUHF zd!UA@Mg*(Jhx6mTg4x2qE7BNa%}>i4P|L@VMY4p}TaRBvCJYY7)|}t5OL*GH9ry;B za1YVL5;fn^*y95<^p;z6u-xaae?3|{Y=JLqQc@ckBsfUL1HJ9NSa?wN3F1{kWe#Mf z{W44FD~RvYMhQN5VypAP4zPvF;|5a3sYGwjyh|G<hoTL~LbiJ+e;prA=82Oc{1l zHlzysI@mV6k8KrlzCIW}w@|*mjkRoV`=}CI{;fAJoz8`PG_o~qo~Qw*Vi=*n{+Zkf zPYsp{_ zVpt62?_Tb?S9zTosUd`svS{BXM;hnx3Gkq9G~FB-@g)qfE|?w62Z_UL zr!dwt5K@XPj@DbJnsG9AbJsIuntIKOro_H2j^1kTOCM~G)#H(LvTgST4!u`Cwhy80p#M6WKN)vYvAw z8it7yVyC{aUKiDI@bU?{yGC2_C%j3G{6foPwHwi8PgplyjWUgXUhc6C z0d9C;Ls&zJB=YPQE5hM*_8y_njb+`LhLOJzboP?OD|Cym|AzT1VYm|*fW8F##L88O zy)uzgOCfr4U~Y-&zD3x4y(b-=>UFbums&jow*h!vLKUj=x3FTRI!cGwTZu!^;?0J};v5i* z)A-?ho)LMlAy2|J^uGfdijtfzq?>54XV1for}}1a24kvPkTva|p-gz3VQ~)Zsan)G z(zaDt(anxT!0Zp$y{l69h%u&+W-HH~%r!DD;Z`BT9>K#UaY3S>05pwuC=9*dYU$3g z76J}#it3aXXeVG3@(amO{yF$ZpqU<5P`%9jOltsah|?l+WK1}cmJ#lqIcCCAYaS#H znh|HH#<0_xh$#e0n?sPctSu!HD^Wl5m9EhekuIy+?KwqwRV^td`vyr+l%oYe>5sGz z0$V3f;9F_@>=HT*isEja13tbDis;N=ETJ?u<4!>s{G9&J+dOQuBtdz*y}sw8rZ!Gc zXlTH2hx#;YMg=41Pt^*2i}0VSJ;`1s`;rkWq6#sfp@Mq@!6DT}L*NAhq4fd1-w=?p zR;_Kn6d`KtOy~sBFA^YaH}nR;u+`h6Acy!&8_`2f>wsf!OeH?C^(*^mvGjuz%Je(^ zuL6liU1i+&H$k@6D|~*b)W~y)QY(I1+eV2+;2SvLA_EfFt7s>P;x3=K_RQAW=2n z_%8bDP9V_{@l!I&p(a`A`BI#ZWw`Q_3Qhe3TSA#`9V8YOfc%S+CM^*eejlAf;Ch=x zh;`~;3Kda4CmVFwH&3-0R5t0*nDG|;AU6VaKOCpqsg}d+Uk+t3HJeV4&JUo-)Q{5# ztb`xy#LgX(ilX~63=T>RW=8K4FLH8)n*4QF4_dfS#H*79SQisp6NwVM;fIrvzrk^g z7QehwE3hb19ol=91Pz+ZP8MMWwy%1-u+dW2bz0RSJGV7Fd{S~TJ0FORHTRp6{3K^C z?sf-c?#!Oi>PW$ZM|&bsYpYS~+3kCL%kojx*sE5h*$#^J zS*<_d2FNb(@_cULZW;?T);;R2O5e*eO`s*ezq3s-!(;#R6YD2N2;RtrsphppfXq>9 zxY^QVHO`%^k&2=_@M{V;a|+;6pKChFk*!M3cWaS=WYNU8kAOs*oB!@&g88!Y*aXki zYc%(aJyw*hhk!}ub0s>~ZkG{kW)`Jg(C=?r^|+NrU2&%JwSOLt=vaPUb=>{#>t@kz zIe^W&z8HG^F!LzEMLLTNG-r3eZu+tk!Yn~SZAHUXkQ?@_?nz4+7>}+cyosa%kXeL@ z3Z*c4G!%#a!E`oKBH{Y5*>HW?21oVn!a~ooRz@_(Z4SN)M4B!H6Z!eDewJS=e>TJa z8a%gFm^JN)7C`(Zm&mpW84%`M$Sx0OHXTdz5wv}1>dhOld2$w)~BOCLF)o|Hkkx0TYyQ7^+mFck_el($YtsQOyO{Z1z4wfXiIT1 z%kU%-NOpoqt4XqPlWY>#`*Fd*^9VOQh6bAgd7#HAnRacFT+@i%5D5%N;m#q1Y!r`1 z9Hr6_XQ59BF@qLFVFonafTqD;w>Y(%9W4?{U3?p}2s9Ih#6AQ3b0IwG8v{ib%=AQ>NEE31cEfYht7W;QR?TRYu`2*FT_Ut)oI5)716=kUoxk zi8`Ft3OMHQ+QLQvxQbgzBN`a@Yj!Q1N>7#Zm>=tvdT++x`?x%9kZKXrZbVdbk zKGM*eo~7f@VeP`6;s2c|S@GN4FXyv7WQE?SKUc2mhVBK{`#6AtlQS$D86!AB#Z0R5K#S=7@0O)6tEWb!AZ?Spei?0XtVjPhIT7($I=)sd1J;5);yBf2$isdT zUKS!Mq-qad)hZUNGK!{jl1sBmFUP+l+Ls}Fq!A`Kw!f*);fK)ZrlvCTTJdT>#JwE} zHdpK2ip5t3xI^w(^e)_%g!onMJBg9md43)-I3#CQZVa*zm68f(H>FT&ImJ97ZU};8#~62o_ROs^TH{ zuk`jKFYoOek1LVL8HVQZGLf&Sjejz*!o_>sYY;dH3URE((;eek>j*cH;d{x>?5i110*F zjYDg?!xmT~*G|Da0)fJy(jol&>SO|}KC*F~&&S&*`7o8d%bw z9mWe+>=36>b+tf5$)(^P{OzE8G1K_~HINXJL)t~NYAeY`e|Nu>kU?L+$y;^mV%N&t zN8-A5i(8z2)(S(VF5%Z6K3r{N?gkCe~vb_jObX6?dxG%d&2$MSg{ zDGjJ|O$OxpKa1MbMwIw3i+aJIhczY?dh36fz6HRRlvQhF7saFLuze2_>(}%uiH`@% zt*iTt^(qu1-{h`L?kf!!IkilaEV3mvm=w?P-(FI9ubZ)|cks_g*mvP=c&}iPv3s8< zArQ8?j*1dF%D)l3$QQw=hVfp0C4;|7qf){*2pX@I{9f!j zPgZL#%H1_{=L%a3$1^ZoWNXJ1Ls1X@!pCp#GOEk@>jh9MsrPjy@&?58KY!sFqgs5;{G8|Cq^e%uMXe>;G4ZxC3Z}m6t1Lq`u1Lc z<=_U?7(%6{oyJwS)G8CIb7Ssa7YwadH{2ad9X&Tr)YhJD2s3S5E6t&(XRVz<_?UJC zBIcM`5~Qq`UZ>^DpcAUmYTq6G2lG|vL5F~gPcOY4Pc9v84{-N-tfZc}{r~|o9|p%$ z=ENXy{$w1GdXC=h52dbs{f7k+ewqVNw@k=!jUhB2`wG$=e0}qNX3J^`qJajw;9XhFxdaOj2vjvNMarsMu@T@r2`mUx& zk5#_lojs5H4rIm?8t*#Ci6{q-=*ora%balBMGJCp2GkDh`W${C^3d`!M#RgP9O_e( z$c1G!oULw?7|hb%syh43ClaljC1*2MX-iMA20xwn-6F%x5Zu~&aEOfOz)`&g@JmZd zZuVg|01)A{+UMd9af46E{6=EbjJCop`6a=WkXBwcc*ZD3J#}zvU)rOAREuITG>uGK z$-i-Hr1En~sRO~8=MX<1roTfs4jVfD`dffaLT7(LXb$by5HqbKLEA-Ixo%Z{w6H*Z z9C?{(>Cv|lHFT?m+*z`w#MTD~2Vd*@0qv`x%7egA3xlvka-{wX4z-u)t6A86?>yhwfP79+7 z=iaA{&>zG=-YBCPT@o(^D-nGxvCXZIqDNvgr+&({RfJQV?FuZa$j1Sx6ZfwRl2l|Z zsl0!0c&U*D)P;soak6RGArdRQs}v=YH_;~ur^{zBWA+Y7c)h-pdj5p&vg&Rka{auagtz}qb zdEN(qB#rnsJsFe&g(u3&Vg3L=M=5j5oXLwD}AlCnatS_z7e z63GRPMH9gJlLX~7y%6xJd6pVV{+_V!Puy%Y-U&pg(vb+e7m`SM;jc!YB$OzveG+Ur zzhxjhZO`1N5?eM^@_&eKs^05M=dV72o6KgeM{asy<6;uHRfLtO^y5@)+w(zaxF5T(cx0J z#0~7g6_FyH*i-fqC~~i0a)~!~U3A?RDR~NJL?rjjo65~u+zu=F&37C*S?2}$qS0uJ zlWu9J4LX(j$7J*cVQlyt4S$=Md zoM{5;sF|tS&GnjlC7`V;XNkx@$|0$Z#>n2sD=mr<4PLUfOF+-wp461tkxXTCeBcSL z1oCyDAkLBznP2F!f(>M@l{btjy6fzngE;#3xht-BlRPy4ahUDnjN_|Lb{Q`=;r0n~ zguf{P=H-;yOLO4Vf~M5$mE5EgZhI8hpY-Rx?vo=q)~*{PVWoHti?gQ!0HV1uuDwm!S5RUL>#Eibg+^P;0)5XbY1N|=oU3q~JqnLRuhH;k?>k*aN(KkDla4Rf38 zgW(xtW(ksf;4MCl+8-La?jIU{kokOF2WLY)5}Kpx0}jBhwi>h`V|$ZG$Oa3()Gu0P ztlOb?&ms$>>&-H?S{CiVq4Q@&DrE(6Ra#;pRG(3`-XF2O8tr%LHBtq(9(_BWZ|?wq zM6!c|6%MrbZyio0HfzGHJ4v2%7(X7EZAF|{Et9Rh+|+v5J%ZW4nA-d_x8M85jSoL> zWR~=2y@HlvAbh5(d3rS!eh0OFyw95<*{y>*Zp#z6NZRtPsyY3kJ0S<|yiV=>m+(XX z3?X)zkzfk>WengXh=HI|O{H<4GLCz4!$>>jN0nx$?*G1^51IF29XGc}X%o;#%~DRL z7Yl|WYY#Nl0s>xfUFd<*ZjpO`<(a2`i+-=rG2tD#1O%gqm%9zMwW(umAMEMTLB;Dd zr~VkmxqllJsalg|9V%NGU|SO@;xkb9nU@VJLlC##%$U`&f7AsXM=p@tbRMRWFjrlr zu7m34q1+5*oY>lg{jh#m-M7XLHDaF6KI?T3eZ*4dQMdgD^-p=f}_DhUp zvv7AECBRYpFzBS-@bzpk7a<04T!qpmRv&O&jHzTXNO%&67|{~oT9Vd?f7eI%+>R1Q zFKV$!Ew=V8v`G%8SjN3vrKF%J$qs5Q5bOYl&MH@wS8(4q8gMY3(mYPyS5nLvshn5tUx>H|y9sT-<~B_s@ldQfqz5{LPZPxcrMK}Fy#904 z_b}QpY|=VG2`5;SRNN;sX;H=L?`*mnEuRVEdXH-I!4_~{`=j`0+OtEGmZ^$J?eC{z zk!e1-CvJm!%{_Y!K%)XZMqiA>X08Hqm#i^Uo5;@eE4bjz~PZZY8A=wq@UYa(Z#puw#Vy_ z4)*R}aIl_nY*%^O)T+CGi9WCsch74#hnSiVw;gk&Ur(n_VrV;AD>!^U7@?J&n}i8Z zgyqxD6QTs~#9}1mCL(qK{65(t%-Y!+GkbZU@>!%7vYL?zet!BZGDT1l`NwW?Bskw7 ze;?!U>AgbD@p-o%WNUVSsuZ;SY^EEC<{(crxfKCm5`dUZ<4Orl1-k9_+3%RWFv^ct zz4GAaB|@HE^+U7T=xsXKGYgZns`DB%cqwf7@oxy$HceK%MD8~m#ZgP}(W-P%qp4J@ z7gCRGm4|62o4!(LiC`DiMq3EbaW}l2HKN`WNf2)+lj%lFMHzbp!9M*q$XBl=@lI}f z7D#AIf9{qI`zf4V|E=n#YxUiPtLTBhC=`BuT%#2u$<>F_c5BVy1p-Y0RX3iCsqS6b zy|%)AQA?NQA!+Zu0Ns|)kW=9#ea!U*t>;674-el#uH{7eR>A$*v}C<$emYRIVD@Lm z+U-sAq6yTj12qxa6sFb~SBI(xr1a;g-X9f98O3!7Wr_G#nGy(|&6ZhLQ!)0}rWgu1 z`T7p8qjrm}qrEWdRB*DUC-MMdGkjh5xbgnP9V@EjU`sF{hN#(eOLq7Na{XE#o1YTDHO;ALAWGD!M9)b;E zyb>0Gfw>g$wqGtETY<4%k6U*v+n>$-WLQu4QcC`J3 zBYfDHDDRjmVeLYu$hG^`R{z%|GwwkpP+@y5@0c>0<&-L$#)Z`c%yWiP_7onJ)1MoiO}RF zb}03f(;7;}zT!$4$FO(F>GUx+*EdpZij3)J?;F!La$5tHd|r&yZ&awm<S)=*-TIq$Xz zX(BKL`lzhD{pc77_E-ko?OC_ITkl2!TRWArhe@F)KxzVD9|s??i{dOg*#>-2W`JYE zX=K#H9FL7F_s|V?a2CofBqv{{vxJtvg_tkPg zcWyE9pb}4_Jh`KQi?{D!Ap0WBnJ4T$nNr|81A%BVE({tJrLWRtPD$(d?;aMI^0f=E zh+x`h{#FrXLP13@8XbR@zydDsoLkF-cX1@W{&vM?#5d&*#OJ@m_Z-8V<0!k~A4r;?I10t}W)=#3rD_iI^ zn3l?g+|H3cFQL(asGQFQ`)0gdzt%l4OL>tpGIHNVpn^EP$-xOg_`utNX3>Zp{t$eH z=!V;s6n5?Gv5M1rnS$hg{*sD_0)3E(#_gTYMpzE-mO;`6JjHN>PedpW4FhGKu~Nye z{~6bl-P{!N77}8kSH&d!kQA(~(BH2skKDy4_=FsWd;?o|re7T&!O+v9Is81Cw^RMS~BE7exywUXuw zE$jJ$Q5k)F;ii}sZYfMxeIs6V70w=CRdP!ddowm>JIU~!=CD4B=HR2cqQ|5*QE|&? z+Im(GryEOyf|025DCQ!~b{fx9#CJ^-eHqT+%K0S0W;j^?9-iROk5L?r?~_Ke`@Wjs z--}Zmjhjkt_{;WTbs8On3vWD5K#wWPqVOVhK+b{@4G*(^af%T8h&J&SsmWp|utJSI z;q|ei2eYKX)t@Nzf3f!-a7|?G8>or`Dgstex*e1v(pywSl&Uo82nYyBlim`MrXa?K zbRr-`KtQC|C`b{62%)zC5kqeY1W3CBZqYT|yL-Rg|9<=Z_Ls?-nRCv(=Q-~?bIx_%Z#*6w~af{u6SClfl+brc#C`gD?Aq z*B@X}$Uj=ubp(j##9)A_v>FQ=C(|eUq3XOa1N5>x7czL1b$Cr8I0R1+dKXl^bl*Oz zwZu-!@r~v1Q<7q%(;ZvepUgBAb=_>K_3ZAwwQ_9K+@nK%#8)6?+h(tB;60oxvLy;p z3sO#M^rzO>*AkY0bFb(e^e&L%}c|gxByyLh;YSW_V9vTd8 z=;&uU3o7F$)4dZxmg?t&4bt!|o2$#`&b;1K3pnF&@uUw|tpj^-)T?GA=7g749?+i5 zNyvD&1;JS91*DKYy3&y&p#N4Ss>R}%!33W@`0fW=qgTeepCv@&H^u~Q(yW%*zj;!E zBjLeb*?WebS8%S!2cl)Qu^zJ@xch{jkbGF#5+(zjRg*Q3g(aNN%6qwdEX;gB|IV#l ziz@Mx@1{gQAk$06IeFrlcLUdhuHcTzd0Fm{(zMT!u0W@1nrh2{mq{@#aZXLOSc|9u zqBhC3@!V+C;PRU%721wPdezdl1f%0u3(iRsaaZ#YhW8HF_ykaIrICA4HHOC$#(8g^ zO)be4n$a1HEG5Y7;f#Iv#7Hpj0}cUR@P}2&EuIifPFth~#+@LZ4Xvpwd80;Yv){+d z9`rJ1%hEIv)Rd^Hw+voBw1G5Mca{Ab)$Qudb8nE0=oM!hLY{8^RjnDnQ&y6N_;Gn zFqRY-Ggjt3wnEiRl+z$P&G$pVTl;70y_f`N3ueMlxrF z=EJ*3d@7JE-FRq}4Wu!O0k!%L16RzXd^=fT$zkQKOx`kO-lymzj~p2rD1Q7S$(BymS|Iq2`v@ktHQ26R>Zy?ApN(K^VHX}i-wl0BfoRufV zIwpUZ~Am9}W3cma4*a#dp{icM7DN1)R0Nchw7BiM`$l1=x zOs7h3N`rV?TbGc~Jo1aHVswe`^lWK8%l6v^=<;qM=FT$CwhG^K3%^Y-2TiO%o0@&buC&xDY%s1?hLA}kW|d3mm3Q;EwjY8(3W#_~ugV6r!!uwa z$CoH4&!{tT)ko2ww$}M>c;iI-rb>p6kr`0n^`YSv((4$rDWRxkFr*|-SUAUg@*+=l zr7<|oExZOTWV3%uX_Yl9uz!mFnD1RoLPfzmcco zDsEwcTZ%rX5^XXei4C8anx7)s={i*QOga#&K?0f^dwg&gs#oSE3uJW&}8+D3r8WXp+y){&w$yhqd$wvd&$rB&%TKif#uz*Cw?l66hVzsHz|< z2wUa=R_MHyZYE{Wc9=f)bEfnS+{*KGNI_%HzOr%>v2}AIj=WGKhvG6Z=Gn)vbS>A{ z(&zM^xzB8`srdQv*Cn4awjBL@aeC@VS5f-~(DIjCnXr@0QEYJ|ez}HCoxFyb+uogh zfyG8`Co`6S2qMkp^PcICXYY>P9SjGA7M;X%-{aWMiwbnJMY}F+foN2I+_UK_VI)r&wtJBY#fAi3 zz3AUOxBX++_LXJq>_fR~HG%ACzFrF!i3Je`M+c8;PD&f^p^3+?dcN2ggWR|#3r_YExsGJ$+HK`0+VQ?KJl|_ zynVSrd+5==htKM`tE}iAMv?c{=h2tRpQ~XySpz3#HZ7N&q9YbXVJ~d>XxT(wo?p3{ zmt|)UuJ`-|JGBsrwF#%Yv1megle$hg<0eSZDUoGhRwrWT%}A7`z;Q z+VqA9p4_EA5BLn-EjYIgnjw?c)gwArHO((G(mm^hXfj7>ibQ)oi){x%YaMO{A z4Fr73J**pqLB0%cvH$Gq=TnBhdLNy@}Ow6Z6f3CYztIxCXu33D4g5Wpv=4p|GH8E z1X;426KB^v!9Ponr&p?o^p7N$vTf1Y0zPtlkGvl&GSD^YLyfL=Zp%JG(i3Lh4n-V! zhN+iA_NOmw`(!QCG8A~_Ze}B{X}%MwAkK0o(}PIYRn}PD>qjts*6{2QIey-MvIs5DL zrnNW`+GBhTU-%9_}EDZvq|F&f;z4{lI|iT5!pS7y*AFwlE|IE2OfPxROlCIVIq>N8o_QmfgEQ1QqXLp}SeRG=$5k zyf(_DgX1elAFSD9azl|CfASUnZS#s^}KJ(poZ2_1WP#OMcIOT4Bm+$0CFGV!@ zk?%fU9Mz8y<)l^GP8YX1nCTT7d?(bjw?fF5ohy`@oJ>C-(8!ZL%jcesA+2n>5s*fI zFZr-&L4y;eZC{w$h>rTZa^B5{KFM6IJa^v3EA2#F&7n(4@~N}cgUX0@V_`E4f5O3S zmt>N8J!V-tsH|it_+2z5bOI7YsmrGud^%CfIR?SA8AIOjf6ig4&uWd(84HoGdi2m) zWFNcGHpU=+=6iQU#H>W5_|w?mvFK_u;cvG&g_*yMu09l93dS)wRitT7CG%R`<3c-0>t=l!1r7hXv~+| zlyLdNLy9u>(gMtwdI%5GqNWV;c%@J`o;`P)g+!;$TD!vYmUWDoH9%u$lbC$>RI7G- z>yu!7+lt5*@j<>zN@`j!QWq%))rTLwEEbD(tDPI7;WmMSHGRyO08vo#ba1 z)wjNIyqbGH%i`=3{+dgr!Q}QsS%J3Xp^?_ut0#HRUkF#&)5XzKWU(LE6NHg#2T~r*tWMn4ocz*@c<45?A{&x#2m!7 zvx(`3@;OWXH~fs!Hze+6Hl)R>>c(gIYcDxP2P@G5sU0ey)C!_d}nX; z9skR*Drb_IG$ZbCJW#2-G$~ath-K=0jS2Y@RH$Y+T=2@?<{X#1xYZCt^qt#BF1~f$ zh}&VCwj+?L2@%Oh~L-%1aRlG)wio<6FQFG8RZPk6dLe%)D zl-b>Ff?5i41k80f%x|c%zfj)t=wa1P2REH$#p7JX-N(1}o)LJlKknRhI`c#CC1OwR zzihpYU-D1|<5tRGBCFQbIR)!;!?K62>%V&I5On<%-`E}t3#D@c<6`fk{SyuyKkcP> zYxjN)bup1F{pIviF4`$bluwlgU$E892Hw-G+DFyF4`cRhj5`@HetzQ{-ivp5HG=D3 zsHM3ro>AZQPMw)g{lKFbwM}K$H)$QMkA896>r1rX7*pV$OZ1-JAwmbEb?8dm0!N=7 zddL!ydA2RtYGYY`4PF;)`1zRKUQt5NKscmsg zpuSKuQasv%J9(+Myk6Y#VknG);gU<^_gN2)S64gGrZoO70&n2c8 zWe~poO_pus(RO)%-U5~o#Jfl4sqk%h zbPvBhV#5IY$*mu}j75$%OYz%}GM&12DAD=6;sgDU`vn|cJatu`HSYWp>0EnJ8lxEB zva`91*XDZkY2dXcZ%?amN(Ud}^89T6U^8AyP4;BUrs#sr&JWS9& zqW<)#+NWL0AA8a=!qkuKEfWwZ+{-nUxnTW>-qyBbYo*(6qxTw)XYH9Rg5UY~+!IPW zRyN3R?&9E z<6|FIcmxc_2h{YBW$fx}+_)Sl8-uDGxfPg^%Bud9BS@KV=au@j!ncsUp<-GxP=muR zUEUhw<;R3~$u3H$~XjZGvd!YXV@gqIvQ|> zWwQ_OC%TQWZ1~fy9o_QzbZCt;l8nx=XNoo7*6qG1a5sD7D5uWVjcWTh^o*UmoxOSV zl}_g-w^JJ!HE&lP))2V)K3V*6@m(b;{9Q#=so9V2EYx7u;4}4S&J;5S?bzJ*@b(VA zb5!Q3v!57W9^M#v_}W%Rk#orK-Pbm39Nz7)<*CGFMsU53=40*Knb;5fZ__qJZ88p1 zla5XHJ@jJq@QY)7>f6VrIyh|ggkRkANx=t+WiOox+wxiD#7B}3CN%x#TNaOd_44&o zcspr^9kWz&ZU2l8u4+uaRdOl7Lx=5A64z|t1`y+K92BmxwC7bM zQ_n^qs9M1I%Ts3AniRd|+dP|>&i>@+@#Si(jPH3OJMvWH>}mLmE`9;`h78s0(ocd3 z!`2$!x!TvppGM0nJ=2Ie4gb`|FYX@JlyFNGJ{Y5Yi|fu=*}+gGhbSaQ9YIQT}W$3DlrVeyj&+qCbPPg$R2|h}2(@*K0uHz%|KH_lGkLjJa##7^cjvNEzWFOn~ z9LV`5(D5IfZSs~IeuT1yOlLfO%MAw7a}~DgRlR+C^~+XQR-au519>)s*ujjX%S-07 z)kDf}p+P(*x}AA@KQS-8`)HvITzu^<3;i!n$U;6nkT;P*2EZ{nwB@IxwbNuQXcgi{ z5We~9uUD)cU0683^_R;A8Bn?q`M6}bHr_8R@$#wD0-rQAbw@AlmCxMtOG3b9#z^bY zbhh6j_*wEfP5(2pYw7;rJn<1_0B!{KRV=?c(X9oRH{keJ(8R?LgADIjLU=ZTeE1Fr z@-Txofe({LE%Fk1?s&XqVI~dwygNJ_NC%So)#=!M>63=A>n5;sMd_BMcL6+{KRNfZ zuTAVf27nw~yYe@Vj;1}kxN$I41XTi9?c%sC-(ctlFr$eoJ>XaZ zM}wiC%(Iyf|9aW4M-<57w8Nzbn2T%+WupgtHI=vzp6+b?lyCjg;7yD9{p64N!X0H! z&{yX(Id(`qPZ}J#3}I8>dM)5(m|_Rp&KOD#=C(!rfd`gpUMBduedJsv$W8xA;0vzF zpu$n8;EJWJ=JK$63y%@LPJ)@YZU`ww-f!~|^VTx{Tq2wsBPC)gsc|snr?}yiuElq= zKM9(`ycIQNTNAi;IUt*h?)+ToDAb|vu>buhO)mM~;jn!mZPLfNy!XfhAbD`%Qa8pX zzU=<#PpdMx$+^mq$rc{p?+z6rs$16yCCV|o)~4H)3$0i}DP1X`Mele>Es&ALQKky9lCHRK{H-W*!DaZZX)0eW{;F!7Y5eOMUqeqx|zBN-FU|r#eO< zWCU#K_p|5E;U7`tv}N!34k*XyYU;mS)WTCI+KjFZAlyQ{Q&_>=rAQ@%9*jZ{{d#E0 z73z+;KmsH7L%1gD`0(GQ%~Ln9s)t{qyRfwt583oVPfZ_Xw<+zFvWIp?ER3>3euYyf zC2)T&5r59TwG*|=<5JhS>J~AaE}VVP>h~_OQq9wKkA}T{AlztZU=3~qRnAlnI*U}S z#Z4~B*~w`_ktsby)E4YL>e6n^?3}~{DJKl$yoAOhCk*dAWkZ$JgYt+cpL^Z7O%o-z z-Uppx*17QR-csGtZd3_Yn(|(XQW0VKtXE2>GVz*}6Ei!+g41T8_QSjbr`^C89A7AT zj4yQVSgmxIgEaIK(r9NbjNQh($c5bl!fe4A+F!e~*)2@$`K0e23;qx0h8X%10V(KQ-$_UmWV|OiJMNC_mdKZ z4o;S6;LOnpvw6y6dNEPi&ytSdBV$RrN0#H@fmp=9?yvQjc9_HtEaFB9a!qI$_Xs;= zSWca%cV|&9j|&IKt|DB(LmYj0?lBix=%X2=|NTHr3l{rmo;(mv%;Uu<+y>6L=sNju zOS=hi^tCW4miQTH_*$1PuMSlXR}L;`Q69L32I0JWm%MvbO_gQ zN?!^{atx{6>Y7RE%LGYIAhl7hjg-DTkmM9nyUlfi(pLtOoIz^0yKblURrB~xINaP@ zwT?O*y}*fb zK`vi=?E@f0%VF|T!B{yzru?)!ez_~k&eAeNo#5+M3%dbJBpXKk{HxTDs_fwb6^Rzv zhtC%~ok%naBNkXmnHU8T3&eq40I^_;lu1+<7?GbC)jn1lzeu#gm+MRuR6l#i^yV~v zx@F>+HX(|diHgFtikd_{1tXruM?D%V^}`dbFy+_PI#ZL;!aK1e=A}a0$zW+I;Vmfl zt)ql=hz4;icABivgydH+(Jq5&uP7wI?GF%$czO7=n|e1GmVp&Z$R6vSLCwcMMv3nw z`fp1_IhCfFAT*0yGt@ixOc2uDH8RIyHOLAP&HQ2}+Hf@dqqIqyeJq}cmx9;2sow)@ z1QW%gvxm?#)fCQolz1D_|1PZBw=~2Z!Gd)?uGz^tO-S-(?j1XjO;%7t^2zjvevxK^ z+b=B;J?cvqT5_@?zz*goJN0VZ(2u2x4yD<1B%_OXnzKU3dTxypvO-+r%u5T|R{V{I z`n006vx30rb5cbtY4*L((M8*vv+j)b90Z~TxEft6Eu>rV=NRnU6rG(4K?pA+M<{NB zIATdTLU;;pe+fOKy6n0iWYS0gn-#)T7sm`U2*h1v<3!EQH|6Lk3|7mp^w}V}60Z=| zk1FV!CRi<&yid$dbw>!NBS%~j!g0tWI5)vaqW?WVAt>D5pbt4R>(4J|qB;mRTS;sj z7&Dw+B#IJ@hcyVPlO^}32qWVqItkONt*+8C{ZUES$F8N%V#$^7<)Wfc1+OLvBcDs2 z#%CY7ju7TTT4CITSU^HM;P5Tx5W{&v&G6DOTmDXv(BSk$J|%ybQDTQ`BWfHD%5rK> zZ6XhZ^!dK7%k34Ge@%_?eQo6Ha+t7^^eNZ=wBa)8ICY8q8eyEa(j6F%6XrPxUf_C7 z#LnFA=YeRq&1a~+FII!97eGC85i$>9&1J2~veR|*E}T|{E+O5uLslH{XTWC%3tcq2 zYd4ON=cq1+yK4=ub2#+W@?Ynud*~3aSm?sqU3=*|hw>wbc%?!Y_U>9+AOtv3E}Rn_ zsJ(Zc13i*rI<#7FTAr1BaHLl%>L%ven~0nhi3hyBQl2+4uX7`I*Gj;OZooY8iADGa zk_wfWUMZ|SCayAKuPz6g;P5KFXQ{)WHVVT+P6$lZD?xG9`yZ#%N+CCo_`gbo82l1T(XY-j5E4%LjhcER3u z60V{IdDJu~ty~iA5BI9{&?~ZMaIf&VP-I_+EB0V7f*J)AD&8&F5@x)5-t{Ifj&{IJ ziWl<Xkh}}_!-=`45Z#MW*fE$-HlT?28YLVftnG-wz$Nj z##E`M+EnXFtNh$YEw$5197g*bCa>lvElIG0tow_XA*2Bpg}zhML>>pwZFKFIa~x$` z9d7dF2P_x%*%zPem0Y%v8CbGd87ICaViD1fM-b7|NK68BAVF~s^TY|}Cm-R+K}gAW zQB>jZOv%q3u*ZO(N;qDyO_}N`=1Pt5z0y;>KQ*EZ*zNu4Yy|V^hHzb7@g}J7bK=GQ zXn8`i1mV*cYPfKI-MIvOIi!zT5V5`0jce_yf#=Ig-v)&840^R36(gYfbp| z9ARy;OnLtddIM&gGzF*l8slukIe1?&#^uwk>02;{-PrVM@~3Om;(o|<9gJfFYr0&r z*9VPH1UWjRiwfXy!AXoQ(uZ6u?vIW%O_YEsV-w7P?_hQf*BM;6K^iFD6fyNqVsT4v z*Pfe}$6iMWzAcPr35;-<&m}oplKY?GY>Srt+^|A*^8R90IPuOQuLkkTbwVQZzLy?amAE{y`z411i!%* z%H;HN{X+3{Jd!I>(-;Odh9NINTcoCY9Wb^164N~nm_lIJ?SM%Gc3lpbXTT01f+4`J z!vW&~?AjeL*8R|7F5&&N3RAMvtqvFoz_-N##oyMVjoH^FF&*H5Ioc&rnAuyrqcB2! zLITDj1KV=5M|uvZj=ykwRu{U+PNt5#UPz22q%8(bE??@I*j-cv{h|OXDX%V*AM*tt zT!IH*4(nUQubiDFw&0J!TkB8;c#_+u3i$-tA~@>H!r1*~FByYGSo4!2xc28oH;;0K z1a=-x;H7S;vDrnpqkV}QcRJxXG-j;L6D%{)pBQq(S6ZYf%JLRiniCpz$i-ipvA51Y z+J?>%+!NZJ=wa4_N^D%oN8OT}%K4~?M)#twdit((n8GSwL*X;y%eHb(nkmKd5&f=R ziC0$&B1=Za*tmdS0>QcE68NMobwr>H=6y1~!b`~3+oaJU{z-)F4kYxAHP4;*Hz>NH zy!OGVlS8cU`R*#RhVn9>t!&||@5v+RcT!Fe^s$f4)E4!pa>3#99pdDtxBAsC?{3>n z?%7%z_2JI4n#q($xqfP;(5r+5w!ANi`?HG71}^!zM-)df4S=*Q=M}CgI3!P8>bTnE z)->{)=m4!(oek^3y{p)Wn?$;2skvi5PQw!zYJ0Q?io*LEP>!E4yZFpkDHfyS0=zT7~ zMbh2igZsktk6X-Th3QXPsaQ-)redEaYWqz43dRa$Av0SX=FYGY9sf!z62w z%j33M1s4vROAeF!idJu$ShbxGSHtE`~dqwG8JN`jQ6>eT7?lh*5?_C&-qpIt&83TsO=zbr`~0=8hbrEPEn| zjZoml4q7=VPpY(d@SbZ{#aAm2Oq^6Lo1&J|a{?zEo2`#lcom7>EIdS`%sTya$iqsdc8_JHqy7f_a zTjqUVA%v8j*=PNxoU5aDxi4#mVgx1&JHz66F z7ShiI3iKc3l-w&UV6$<{aa#5@MU3cY%I)xfWrpiE?c*yiuas=s-In-#aq|KJ__t)r zo%P4(lx(Xg-frRTkHO;L*-%XGR+l>LG;+^=g6(xoKOq$UO%rb--r;8v`e}e*l z)6h8YO6Su^Qgm4@O#K7K9{zbMPy3dT^byVM2<VCg+PVKl-dVecV2_7DW@E`W z9}1aWJxsK+B3v22rgz9F;$}g8+d=JcH9=9}pnlCq{7w6}2fd|jYd@Wcn?Hw4W{AIu zT6ib^29{8tWoEFOxcsQEt37N$3e=FOV>;4pL>VWV5dh_sf+&eEM^M8XFk12w3*eHw zDR)G+RUKzc;k|!H#7uX|Uiz`Xq5=`1d}UuL-(Ey?bKU$jOQ8b~PqVEZQ|2ks345lT zBK+3Ufv*)}!`7Y#of<8wTyFWU9-ztZ>363l(@MEm3?0ANfcN*=V1DoQ9I0 z=_Wrt&woz~t(4p*(^)e5QAlR>H#3-=Cnr@q-K}J^+|X4T)g6PGevgy0>2GB@n`{GV z=c_j~=l7M`?7}#_R#`uEa%Froz3lsnnA2yOZ~}a)+p?f;MSW2pr^(-0y;=OM`lp<@ z=VZO34atzS*B-LK%aP66|-^ z-hQ5C|8}*`k=gib$F3+VezZ}%zfWen_dupsBBC5wRH9M#F|xk1v)GCoe8FThtf$?)~O1Uq? zvp~h9<&H>ZYQEc2p}Z92dhd15`spPbE6r_)FUKlyxj(2@G}w-)zn2*hS2hhP*l-$|T`=;`oPg-AI$ao@yUGpY@A zAU-wCyAEq3UY=2`U|CRTBQ8lSC@jhZlNJpk6?9j0#)!?C_$l`c{8S^yk)_3gkFFS^ z;b_TR#Z_-dzZrKJ2eN{pLZ0U{Osq8&O}a`dn3K4W6h>W|^F%Dacu+G##aF|qD>xP^ z8K+r0@>0_;?!SY4tshYe6wGp*Iz zl&|&nuC;pG^lQD%4%FLws8XJK4+N(C{giwWb`uL_b`u_%tzGY42u7bL%s)LBQc9jJEh(DGEP0~JFo`HH5eJh!eCy)IgzxM%+cCB5r@!pA5D(PY z+s+e0KiB3CdkKvCi2^mYzl(wcP-E+G5{?~dK6X&!ctMF;M%~f^Tim4C=`SgQRw`CI zD#0ae0`1K`MWVW33yS~Pi76z4*lz|VE!QY{P@5#vcjV7l+0jjz1x@}`F^B7UN1i4k zGmqu-SdDL;s=MkZT!)~}ISE&uFf}1mn(R-;=%q2WxDdnaQQPB@Ijv_a%}0_`BGZlC z@*%~krb-9=sx6f3bke$7P60LX!uUk?W&anJLfSlI(bS=5{sj(6FIovET4VYRPjzG} z=?jIEQ@?b|%4Ue9SK$W*)ane=&Z&rXN5R_`EmSIcE^FzGnC#J&_K8UrIAvEUXJ_`_ zzbQv=bo}+p>S1q5WSRFs6V5TwQ#(|NYoEJ*oB5UR4t}n%zX{3cG?y+Eb=Q9|W$$>- zQMh^3v|o6o+@mo!%6r#J7vf7^Me$B6Z+Es7I9y(SYHVx<_+yUa@OT%$Cf(5*6V}E| z*&rCmh09EVMI)3W&Nc`1q`WxF+vRK^Ueww$6t`VI<#kMzHTuPCgK`4HeL{_wlg#B5<8Tam70YxxI+>0^Iyv5l79t+F%Nga>OxSC;_?lS^{`&i`<&}HM| zCdz;M`8Bvxr~|?%-8MImZ=&~=)@jN9KKfAlHbh` z*Sp8w&M3yCTcx1UG|gmDYwFfh+o%++GPNRsDbaqF0@V{JA)u+EX4PXQ&@SW};}N4; z(5RJW@=R;$jY59cXPk!tq{R92u?W#=RK-=tmFWzAjS4kif@jNsQOx4NfRgWwRgW)( zZOZ?t?F>dfpWv6-I)Ixp$@e^g8US_#owN!#5ZN_mF%hlgD-1;TW}7mx_LoM4FN_%f zf9$oa{Y%P$cz@R35Rg|1$orG_R>FCelQS0n-Hoq=iDmj`i=q>a6rql&ijOOAfb9Lj zU`MNts9r$IpS7O`0^K3;hqZWz))2SzmHq&u)B7-V^}9}?!}{B4&@)H z+hcON2?&MpD@^Z^2i3silJnATWb^ynj0Hx^98j$aQ~h4Y=8o1f9&nneUfPa9?4;gf z_o)jVP{8MHDe@M(%Ji09*q129WGRJaz$^~2XStQtUMF=rk_T?3v=2WSsJlTj<;e0Z zs~vOWfzN3el{XT-BG5+9GToIMADr?jtFWAf@&&J%IZw1v8QO?= zbF8JI(f{S5jA8*tM#wmaqI>3P9ZALZ%l?)xr`EaAImtX}&Daq^r0P6>3)& zxj$pd`m48|%}a@|aW#Or*S~s}G+$2G0mO|+Ds9`J5uRlCvhtM9M7*9jTsLIgNU@;V zR@c?g>Sd+)|GOsuCBxNFTslis2Yny|7-u;8%k}M_^BXSv+rR9P&WerK+n?dIqg@8B z`vfJRxR8}(h|RaV^^1IUjZCKYq7b_TRK^F}$fT8y%UM4P1(M1Jd}V)0%KF!&CVx#T z;g_U<50U?zl*cbgHGNHLJRFrlrBJ~X5QKt4kcS9V;tB#s?R^FzHqJmObJXP-G=&Hu zFM=SXM*ri~UKY*3WjKN|hDB57>LA2rIGRerg2=NFFiDYV3L(b>LtU(()@(cwNFYF# zhtLpWDCj-{D@mQe!YC`2<)oE`WnnO;#7`ybQmCM>)({FyqvOg_Hlw;tSMX+1ty$}Xw>@e6-# z^By{{FoJZ=ac+OHnxz;EUd>Y>X{WRaORm185_S}7XHGl;ynBLc@D=BbA$+hsI7IXRn!6yA@kP= z>Ayo;&6MHCTbZ0?@FrE!05KUZ;0bZ@dHVQE1DXw99XZ*V)WTzf6X;<;Mg zX#J9JvJ19%4+uALYQOfaihj$(7sTF2TVUH_XSB!S&!NPv9@xiDc0P^HK{%3Te0WaO zrPMW;zw$d~X;mig_3Eai<%sY86HtZ8Ud}~6gZ+;kP$|L*PgJplTVwG&@_N>5!HvK* z7O(t-Ek{~xj>nzeb2wA+4P{i-#&e8hDwNO*gj#^u6(}$IGynAHHJ#!0rF`wd}PeN1=oX zK%m{v0?U39xJc=rB45-Cy)MkmUOB{GO5Z$J`+mvoa?ReO3I_Q0IUjvNROr(CQ%I;L zLx&$n=M#BwGRn}+Fx+01Wa1i!IVK}w==os#hrVHVK~rE3wdP#ujVbT2PNi_9OG`{j zJC+~t1+Ds$y&rTcv3ztb7xFPr1getVuJ@_l#=@5Q$hrMkuL)eM0@q=Jiski+Pc%_CUx}KS=~JZSY#uiJglg!j~Z6xd+Czj-oD{ZAC%Crjm{$DH1Ap@ z*MyDc@HbVr^~aeQWh3{}zc;iw)0O^8gxBY%fUchdOn(Y^0Ib>7unGV`PU=XkUUEJm zp}~4p#>+hI?w?bRTTLaoS;Hz%+rWGk(@hV76HIqyWFwn2tb#XQv4OwoUQOmVLf+nv zzU3*9k_2`+qn6_#0KXFOCE5%cGNLF}-2&p;HplRV{irL6=zXtHKRNE%4d{_l+j|~{ zDRCV)GJh^>WqRb+N?o!YwYQxC)y~pbA?#D0T{p4j6!x}*Q0>Z%?V9BAO!9b6Z@Ueu z-KnwNbFS21XQ(>|TyEkoZ9*n{L78WeL0l_Ih0Bhf9{;{Q$_FH ziU|-z?OTP~ccDiN!S}{qzjxEOkP|w^^^E;WWSq<1(Dq9 zW2y(AxYaWg)q>M1K?^^^S~((w6dT=3VzL|65N4*$s*P?YS}SC&Tc#J%Cgxjaq9SmQ zPnkr8ff489qe90@PvVIqgXMeFI*&X@!zt3htdLRyQ49oMa#NoIYm5=y60>dlW>AFq zQlP#f`e!7f+)C4I5SopyDjJQ~PFI!U@Gny^bw~MyqF@;e@iUXXP^v8RepfVJp=ig7={eIMW5hB z_5IEpG)(51qd>i=%H`BU1Js=})Vl=8d*b)rgq<_QXomV>Y8_F2n9SYC>rJA1!IaC9 zhX&9)XJ$q*)H-_%nX9E)IUl!k2FL!K<35z&{hlZ{?9V-?0R1T{cIQk^|L~4lP}&^y zir2J+%Fe>MMvsmp4ywliM0~SZV(_*)p13+;>|CQ2sn?4121@O$qsrQMCFt%T0FAPx zk%1XjM|a-7GweZUzu8c{a_s@Lo2z)4zS-jGhf0`(Y*^{dzuAVw7=_(=%WsP?27a@_ z&w6Fi4ek9-=2@v7RTa!Zvfo7vbUqMNB*QxJL;B^N0kh2CBn|)p(obOyV)-U<0Laiu zMx^`W5$g}PzQ@WiB=g}`-gW8kVmAjmCtNQvc*FS}2JG2ljW>NK4Vb@!i{mvuX5jej zB*S+gyjioKoRn03M)#c#0-d>oCJr|?Js$ZkZ&EB(zZNgCI=|`)H~xoTkc@XsYZWO_lvVxMGYsfFAT{V#uV4L6;^50h$;h zX{tC#K{cKV%gfr1k-8y_tU(+_Ex&68&7B1_Y3Tr^e2OjBi{G*zZZ(`>&Ft^sSJlhxyq z;jABOpyKv`*FPjTtHV(BBVJc7#vhdqRBJ!h3FRF$ggWQYng5vGEaspeZAOq`{jo|> z7(b)`8x_FM7Pnt|X8$8ppwNu{Ay=!l8qJ3?o95&9w~7TSH65T*dra%LlcWhZj^=Hr zPE$8Wf3yR@1D?>-*rng-{3{PQOzSE6op8neuN$u6Y^gyf4Uz7QxV@MKI(#X%LKAEn2L_ zo|aIW1Y_Vwf`L8jMU%AvE$rX2mIFaX{~&(xwT=J#*pL{bCcvluUe55f@8D0TH~`K1 z+xsv6s_vH6E~m#M`)E?V|EvCszlh=hW-|oX@!!fBzMAdN?`{!eB>W{rV66iD^ZCUe z5DWAjj2~|Nd;2fedM5vZ?iTu?3ZU=c@9n?%iztpQs{&xQzn3$tne8v=ZrL&vjo0Os z%LaYdEzVSBu-e`KW4{K_-A|*l#F!TCP^CpXa%c(doA{w$1E3w5v^qxefBv}3AK@+gf-K+Y1k6Sk{mVsY z%p3SyM`QlwB44Mi{MXI_`In2V&B_7h4*knTfLnF#KK+k|O=yyazew!AT;$u*@-G*;Uh;3h$RC)G`Y#vxmy3Ke!}%{F4S$i?f4RuNT;!Xn{9mWd z{N4Q`DTT&Ci8N<%WYZc>Nu@QM(n(9`G_8S~a+;$-rnE+b zlz$uz5(D6WxJ7d=wlU2~;+-@HJ;Z5_@Bgi0ZCMk60mJ{snWukbG-j>F|6$S#u(;>H za}~@VVI8y=?bx!K0%jAWIkfOkpG87HQ~;Rmzi<`ISF`;mgGaWk)4*77Db2atG~3eI zKThKBy!32>rrrNmvB01qFxJ~kv)KEm&m!4Td@75!$;Z7CwZZpXB|PMkNt^Rlyo@aS0N~R%87vwDUzbCHKTaiRuNoBoBMvS3Ws*_CtKI>b+r8Z z;hO=En?{_`I(JFdI(YQf!IQZTp7wRrIlhiM-Pcj4%sT4)-S7eP>H+3$S_jWMcc-K4 zI(XK3D0sZBO9j%qEW0iHZ**Cq;O}>tne?R;g)u9xi5C~ldPc?1p_6^a-Gwn>< z>YnSAVY2Jo0q$JSA& z+dAs}{qR+XmINDKIFk&%#{*RP!ok>c{F5{iE~4!%9IVwv1HS3@)Ymj}TfSGtoR)If zXnK1IKdqvn;@K<5gK1eL@A9@EpUY1LG=}=%$gS)k>O{V*VEDv>tqa z{=RJq5}oTjK;pD?4?O4Vl={Z&R8Idj;)z;b{Qry8=_?=qk@*P+cLH_p{~UGt+CKP^ z`2prV0hsrHjyioc?~f0caIh~>R+X+(CaqK1Xa88{tu@akXq23*&9MI(@n+j*fcC-v z9CiBI2>y}z0quh;K+W<$N1eX5UVmhMX4_zZdH?sQ(^?@B2=O zlfeL&E}_LtqN}oKd#fhxq16@BNt=K<(I#Niw7myt^D@6ZGzr+!Ng4zUxRL+S6e)t= z4`=I2X5%lXL|1_lC8Bz3NRKpo7SlsqISefJ)jU~JWJTyTESd@u?Q7nfoypNXjkwx8 zZz|vGyJadzcMoJ^ge`b3?s(NH5 zHNV{kJoHgGemVFwg0)?w=wir{)d#ae=mdUZ;`Nh>0gq1Q{W+f5#%uy}s^Fv%Hp5?> zXQZmfX8QBnRl(*TgkLQO`z;CbfE$$u<{uULeHP?#YOL#>pDXk$|Nf97u7E{j09kxL z#rR@2?Mj(aDEcme0mp4_O@=zdT1T2&o`o1uXQ8%S%E_+ zjWZMyoVrYbL{SxT5X4>>cm)F?MuA9V>Pj_;GUtRKj^#jB_z_qZ$Z{Pd0y0;IAmc+3 zq-q|@3Jb!RarroeIMTaM6{86ulF?M)v#iZjJemvzK4FprxjzG;;ueBIUtl&dl<7JM zxs%kXN}2$Xk5FByvqTUHPvqzz2!o3VT2!~Pj2Fv(x!%n-5JM1RPr?PNi><|*VM=xB zG!froc@SSwLw!~h>Lk1yy1#`WHjhiG3u&=5#V-jjL>~|qMw?o5?|#8E=YL9hWj~q? z^?78p(P~Wos4586fg!e%EgQ=H{J|W)uW-?#Q3Z9cx-BcqU&(VDoO}SB5o#N}41A|S zxZa+qq9;hF6J`UZl@(2XkP>gXkf;Qt6Ub~Jq_Tp`A7bDGc)*cP+GYdUl@$*D2tR*l z-K^;1^3-ImQ>|rjygYaHPUz6cq!DSxPuADZ35cEt$hY*8CeC9j7k%~$nn}x|tKT4C zl#vBDGtIe0uz;B+dMDcVJt0w$S_FxogMloOQkJdpxw7$dXgLhRyH-)gbxfl~4Q`yI zE!50UNJ=-+=ErJHi)lNGYEKJmI|{CC8QPA(Ci>I%tG}T3w1Bqbac###+S9yWH&lV; z(PXnc*Je;-Jmi@)*-t|ThGP-K^4xfUxMktwRFY$Y!1rAqMvqJc%r(X$J|k3Zkeyqw ze&!=!V%e7(BX!TQAqvK!vsPE%*1e%xM497bqMB^%UxmKRFX!bn+|FHKR zP)%m-y5l(Ns3@a|h_q2uR1`!+Ku9u*iWNjeq$>zW5rjwyA!KwEP=ts`M&_%oO9Q`u9X#bdH37)-tYVDZ-1I*?#@tMy9-Io zmZi|D@-wZ)JDRy~-c;na!O{JTqH7+myS=yc*4wKm4;1gozUi%c7J0YOFDIw4u&7fp zy>M|Q<{=CjekFl+H$938+s%&x{Q&U}UlDF=C zQT0Ayk%i(p+CDe8^8mL6uC&5q2eS|DIe1(3+8+92%ZjGPMH$6=cyn{`@7dh#BrJ}u z$(>SXdPbz`KRU@AXM5?ApV5Y>96=G|8s$MS1o~`s2rYhI4NEBHgeO z9le%TZf-O$%kmcrEhqhUm@a1>y7w6o?NTS<$+XUQJJl{47IY}I+}>MxYf@Urdujf6 z3nf2UkALazW2m{_BzIjApmgthrOA9Nz2ueesU8*<@A2Ew*Z=a!!S*TBK2Ry@XnR9F z?oYYs{*<_uPvTnMi@O9>)~4)toph0*EA1P}|B2J6&B>Do zDy11uOC#~6ky8$cwB%pn^!m^X3ygbJXi>_vD9Qe=-159Th*w}2w7d&C@K1@JQ3(tF zeV{@26`1>!?@`XdPtvj*BH0ZKM!kCQq)FN*#t~19!55M*`XxV^9()enujDT&8U;+H7la*UnZuoM`()tHSHSl)_aP#LYafm(8V`ag5G;L}6chz3#oG5fxQ=cW z>jrr=FvZ^V(8@JIqEIyC4Fxs9RSpuxG0_ehSe()r(@-E-20=a%P$o(pc@^dZCqb1( z!~Ma~#71$TpjZ!S=J+J5`alJ8v5n!t;I8hx+MB8>#h2Ct zA6&N;RPGcBr+^vQ+)#PCC5qLlzxP7Rk~1w=tH{BR$c?tK92Yp2{d99r_VTQ=>1MB# zPOZmp&Oa1vxn8nDivP~Y-TYzh5u5mki;e;M$D~3Mj!7AG)Nr3}*3ALv@0)oWaq@0K zA0NuTm2$FSF8!HaMYlDh;udt8BZHhwq47q2G#(yo?qp7!!S*=lv*Tjm`Y#X-(ehcFM0Gt5 zr`d5H@Ea|ProO1xJq~2rSV*q}Z&c#|{K#`qP#-9W2nq@V1))Iu-Eg37^WAYLLpAyw zj7C9XLIgc5vX7)544UtWk}bnd&=6v;+S=wu-566utFA_#t`_taPIrisG!8Z5>8c2m zqJmlvLO6mwt%6dDj5iObE2Jcen8|kaTH7d!Aj+ON)FdXWU#~$KiG$iSm#UGiWtfF( z40?AAGQK!TV{5N+P!BU!uqQV<2H96+y=|+w@qFoJE29UUjK#WW%O>@KwXOiPGCyv` zSX^4w$1+E#F=8Y!gVmng`n~|I-#(!(Vm^Su?7)N=RPi9`JlCHYN2a=0Qh&QmRqO1^ zS&*kU-=;XA1e^jxJRt`dj<8NXq)OL^MdYbgQS*i;*6S&MfM?C-w+Cd%NY!gOFBbJ= z|Dt-of6>sVET#TrkFRRYWHO4_qdM?tDs>HPd9ud{Xv`?uLk19Byvj5Id5`MZqA7y= z(w1vl7Ul10%(?mC#UhJorklnScq3XqlL_m;RP0~ma@E$<)7G?jG7;^`%h1ltuv)`9 zc_5{$J+Z4j2gqUfU$_moxD8Ln>Emy;Smck=0+RNcdO(AKoik)~oQE#9-h##?6^x5xp)oPS zO9=1csocSCn2M?h#-mSF<|PDUGS*LK3omwqPZ<(@L#2KyTlA`6dsHY3*bP1Js|$Kn z`sVV_PA8%%W`h9l{7=kSK(+8wl?GHlBVGU`3*MK>BI_@?GE8?8kim4bgLHQG8CIB1M2>HwZBTSdvJI9tE#Oc#G@rJfb+okyaem-XNgh z8G=xkUs9_Emy2p2^0Gh$lzU;IGuJ_D$TToEXql-WD$N_sM3Xq7*GjP!{SF$V8d{tf zu{=bE>5aR(8iK6(l=FZhR0Q2Zo=S+*xp9)R_z0SFy+1Rp>*Srj3m&FiGz#fghf2<0 z)EY;14kX4GTu5Lntas5K+#K(1ainzV!yut_q&SZ0+t{<37>60)HEoi^kkw1=DQ>mo z;pPUtVz(Z$@c{B-tC==s-Dw2AV(+Gn;#sV zM@>5H*!tj>-1CIRh{;SCU8%;0M>k7m-|Cr8e6&kuucosh2o>2WECjvB_(%@!XN;d?H9pUouu7tk*#>3_`2yw666 zfJFX5mCr}a8M?4w-Smj1KqeOrE1V*hv{e+v`Y#e8#Ma1eh=Z9RfZo83FW|K$OX18$ zYOw5TTWHMz`6f2W8UrryLv*iAzC-AW z4#q8Pl4e_wzf-^{42_QQpAfb|m-h|a>O1S6K^;d@OD%@=wGS6koN}1`*&WG=IjztF zGq?vY2X|C(M@+XGL*b5!Uzc7p;)P=QUO@ptF@j>Hu8x-|+;ROH<>5a=4Pn_rtaAop zV7>9q>V%d@PMX=W``m)76C9s7fwJQbslEt1+c}Pg*|LY+>S}tKDm)_97`MuL2fCy_8~8({BS)G}kn*wfs)Z;Z6LwP;D8f}4 z-F(ykr3o_W+LJMsCR<%-~l@l-pI6(ub=G>tTT*)fOl zYnNx>O^zu14pLVr_%+rJRIil!s1OyX!&m(g>7PV3Jgm>tiBM7+7HnGN5K$BD0`9aO z%xBY)*}$MAdDI?k`4sa*&TB0VNhU=RlAqqh+du{ z;smT6dk4kKW~Afflvul@VeQn5l+>!?k{CO|gWFJ^42oyC-CamIIvf%b7&yYj>LLOv zs3_D9yE%f;i17Q@wr&r?_`5P$FS!8&IgQGmeh|iBsUcWA9Er@#AyF~}e;gf9wN;`B zh9W)f-~(>ahE)V%eKA%M#_t%codgMzF@JmGna1wCN1A0Y7L9Mw9IzSgt@g+)%Dau^9A9Ch~NE z<)`DYDUeFaex+yw59BCz6mNE@l%>)YskV;dVPZLwW~N9HRic>Ws<#-f4oc9LWG33- zEO22bB0R)7kQPxYuElxu0EpfZu_Ce}JGvrb6Z_np%Zm!T zl4JNiyr3&seq

c{tC|8+4s5YO_%?2H0&Zv_)4nb8-gDTi+nZ=nR9y-1rBA`r|?N zF2+&UkTQw%B(zl{YU>@YAqoN)5Vi)zF1c=YY2%KBqp6qDOtQ9z zC%Ei*w% z>DQ~1<$VWSP7HR8wq@ao3RGw5Eub?)#VDU>a{-Qys1;}bc$LE0bEf%^wPD)M_dEEN zS=vDlo6pT{qbt!0>o>$i@+!-_Pm&`&h=K#~W#!i)4J=AelK{r1;-D)^gIX4Emw8le z`?OBV#%ZlrPo&B#>v>MhgBp?ZlMk5L{(w_4s6aw1a8~gz_oovfy=H`;ZzlE^+dgfE z#~bo0udG78G_!bizUVRrKCgKD&EDUJIVkpVN13pGA;BhFVr`M<{+dKw_5d+RsXGXGgJ=m##OY&bB4(W ztm3oNB3YN}8R3a}CMk%U|3W~fa1PK`Ony**)t!IwSQs#+ zYG?bN#Ka$%6!|22`tQZt@dv;b`s0A?BkTN-^02khx+!V8Db6F;cErXXFfvvOSX;PV zDkJ`Yvhn@x5j&vwQ&f)28YbwzdLfl@L%BuX7qFJ*xZxJgK@ym`diIf` zNpGHoZ|DOCp4?v~*P|G)Hae2Ff4aRqk~Ybx$Kxy1 z8lt-H{DCu$+8DxixC2>Y8Npqt>^Gvsb!jR}RyrSMSXG-EF~JRKR7 zJb5#~9WoZvm5`h^JMnlML_Ek5k7FU&0(P+-Xxv3a!&U_f@Msa6j}cd+#Yvc!k2eZP zR;+*r5r`xqLQ(KCUM-zX|AR$cRyt~?&?XY-Z_d*@MLCkxn>KhystApVd(x!7VN?{> zpeN@41h&^f;SOt>b7F|AnYx`uVXPPS?R_hiD{6n{#1TRJOR-&VirwLXTSd&RqPDFk z&*_n<&LSdBi$Ud}0{f8sn5X&KA*;B_eoK){Xp*F$fu*bDCen7Jdc0|;H8gF@y9I=X z7>-9#rQZ`_VODKG<^G*r?^Y6Jly`aR_Lk<7`1Thmr<$Pd&!9IL^89!5${=iSGCa_3 zq#hO+kQ{g?WF;wx6c%0(vYYtDeMC%)K!o$m6OU-AkcimM zNUUOWehVe#2Uz(vfsSL)@0%doZ+gCJDXtxqGhsX+2IjAaY3^Pl1s1<*)*`;ybZ+dO zm41KG;FWNs62?5t=hYjoNB&AnqjAmRERxol;t-V)r{@We?BX8@UoY%CdP<6|D&>px ze?Gb)dm%r1AzWYojHFcO6=CBQkW%uaw1sZZgU&qnXe*G~xxfC3))~yUGZcV@`!ow0 zz~aa>3z+|NwP_aocd9mt=4D5^)sJ?E*bVhoymEXV^P$o^dJlV zY2bg0IPXZe5YWl@Go3zTji1yhcEd<@-bLCc;clEmu?zVR7EYR5{z<*w%4u^)afHSI zBEFFqZ)HKpRx2Y{aYOct0{sV!mBr2VN|KmRFaKo*$${&QBSP$IbSgs6Ogm|9-Rpf4 z(@rY5vD8@>B>e}qS{bt%7##%nAJA47zo>_dv@Jl#sMs||g+Q)(O{@!^)ODY|Cc zv~RTjeCPVqK*Qe%7a`D=45$xk## z{@tZj)(_e5>ZcS|mqb+*BOt&QtA;&K8*GSWoQ3;8FI#wHQt>`uoxRsWG~DsKXVMCK z`~?xa9gmD#r%^xl^o;h1Cje4F6OQE4olER+jKDh1ow1Rl zVbS-oyI+>lKHWOG2-Ol+;vPwYs-MNWcPvy)_=$PKad{2YeYyUQh2-r~r*|$)PWUOOdEL1U z&rG9EZ_-@2GV0HagO6h3f66-eu6-=4pk8h84X8+OZT zBwc&$5Ow#)s@9r!83$i9hMrLlMosp2hfcTew4dl+w^2Dbd=+@-!hffGQW53g#TtR` z%Wp5MzB)bp^&SbO#Gf2%F07fBQu52R7S`{jsnxv8KX`1vgv@)XpAFYq*ty-lWchpg zNv;31)o30RSw;OBwW_FM&7Y-#$#bZN`iq^#UK3V{gyIPodY>ShZY3P&(1Id3Tagbr z=aIeqP6(CHh6oXh?~)L5cZU$FciB}6FL+h!k0J3ZH_{bL>Nw}y_-dDF2$g3ORp;UO z?HlQvO9pM`<2d+v6pq4t5}(H_yYs@Q_*n)2&#@}%pW{``(}8w3gg#j*AWyv&L>cIx zWy)vt=hET`ejD8L%B2)xhwssR4&PI*qSx!mB-6`R)^TdR{qdFCJk3`S{m40C>un; zCB(ZDnLSlqP0FwH|C{1rkHYtZK2j0#HH(Kldv;eJ@V?L6P**K|kPzA!_Wch9amg73)8~3ibb8V>fWSwh9HRb3l##V?}0esD>in zr|i!m}sC*!8`4XiB5tIj{^iz4L~OaYkNe`)_Z^_Q)sgS8eb1Av_OHO8Nl z5|s4oNX=oGW-(xmI{Wd&Y>d&QYb$=KnTD~(uVYO~m?r|@l{*GFQv-O%jt~*pn3z`g zv__pP1r^mKK{P1F&Hq|_$xyKr?QKHW_azw7%FNwFd&@mw$q=BK;gr^P3ldqZeg8vDwO zV9bt9o+ALqQ)v}e{M*HDXhsmtlrZGeSYBid>thd<9X?Os`jmOFgYXGE=|u40ozrO* zVF0BUngJd)CCK_VmX{jC9J+?;(K>)FyO52Gg`4um(<<803`=BV7*JuSRrI470YHyv zQ{F_HJX04N*s6hsHdFp<#XPGX+v4Qu@zl;DXav{ik3LdC6EC4PB{T-#!N<>(6}{+_tZQ0(JJ zq#6mka(H=gmYpBJa#MzZV zhgxg(V(HdTp$l>Q^kc`Y>!F*Bx8sspHC4u&H-VtXaY>z;D(vPA5Y!u&M9@^3Xx;>d z-oho3HC1@c8DQvRT+*l%Ca}zTjJg(qvF}^ss&s!mE!U zQz-P&fZNm;apt)rZAxrq(y-Kf<7JQZ2{J)c{*QT;>LWbr<E-{Jg;C4S4a;O##SM4u zYp4F0S*e}`a2qN+1(4krmFbkJ-2k|yW7MwXh5<--Vkj>xnR+>`QvD*pjZ#+PLJvz2 zmBp2+odvi(#Hd;4hQ+X}P61@MsXsobR6hc68z@@^klhTj39L}l2e_qT)OO^C-C$Rh zyv+-{PQ84uQhgo3?M<2gIeJ*IsO(gU+6sVM3Pw#LH|#RIY*oo~OywUK%pUP|o+yGX zieR!7Uel!e%+D43o#vRIvNORGH1KxI5c4j=L!iicOz9??LW58mYrd-3?-!2w&vwiD z31fYBFX8h%;UON#d85+BG=)N;bb)z&k>69cs#tJvnh*lKhWmUY{W`CYYx zFR;Vxp-aPP3VuRqAM+Q5e)TN#r#54qwvoQ`ERk2crO(i$t<29AnxD4O=pZcXup7I0 z)fB$K6nXWP^g)_}p-_6C`7ed4fugMey||1vWJElRV(kJkJR~mO0h2x;F4gEnA3iPQ z(pe%VvA@f%SGceFu&ll9FPirIn?q$al$~mB#4Y<;1+}l)4Iun#-xs3*LMvH&!mKz} zN@)1~oxo2_9hNa|gX3mLXc8PJIV+A9!Ewej6B;aI?lfCN_TM$L-IDv7p|bYLGZO+1 z%8}5}o>@3x_wnF3nOPB92FIDtituD`+^j@H)eV{zzOf#rr-yl}rXqF?c~*phx7U#8 z&W2-P%o?)P%!J2k`qMVo$Q!SjY3VAHQ$k^C2F+hv)}L0{iC6 zVNO_FF+eyg(QsM&(QgLQDU+~k$w2I*&x$ZrLPKd*gar~B=$Q#a){-4E_cV{S&%#01 z<0#u}^go+~zh7!V%=egCIAHe!2@UmG5f(~lnn7K3J$nF&)uxk;J7K=qf*Yz{Dur4kyrnF#@x12JE2X5oO{n+%#4&x&xX zL9^854oEb=|weCv1&VAKC}y4eV%o6R*zc6+`hcM6W_FW101hQekzzXJhTf29ThWBX@y zGXMTi;P3au_lE-Ce$w#$p}GfZ3Y9j1N5Nx)^tfBx=9AGo_&HUDGY z{hOzk`h9cz;%c8tO$XtiCKy6Z~6sl z_zhoAXI|hqKnKnZvm#V-4CVed8;)pzaPQ27D>RBH?*|+VW<&b@bTd6+Ukm8}$hO%& zdF7cf^G)XWE6;C$v}HgH_|IQ?Rv4Lu>SC^ZORnbRLr~bd@7HSIaMC}5pwCZUt6iMM zb>jEyfxkmuK>qwkt_Mnufo+q#XXXU|9SMATOz{ECOa+vw3IG}Y^GJYhDs3N;ws>X) zbgV`nxF!5ot^S%9fxz3}_zQFv*kYxII)H#?f!$YX$@^ zzb2TRq1-uoE%wNjI*7NXTCJ~croXCM7`Xmf6$iiM&<-Rx%~f>=LDpH}RCN9AeN`aM zaOX3>e+4O!b3DE%;weKQgwSm;%wfwhT7Ex z?wHl9iNNG20+YitpV>q3wd8ZbaWlWc4G7oYY0#`Z`55AxZYKk?=o%cSGOJnapViBb zz$`wP)jwwdX3-6p#hDN5z$_L6vp6%N2WF8D%;L=NCIYhvPMFQB@KE!b3W=Owpg~FB z_T%L8E&o0_-#WPdGn2D)a&oSGpPaA9)_-f~bS-C&Ux`bj)Kp;Bk<0B1NYUFUI1_iK zHv&>UA)AfDJ@eO_>v8oO^Le>iF7w6TEE3Gem3wwpoLOnH>~24-wi zM9ASAv@zZpM1_tHod51!siHBY3oS;7QAk7}r!5476rtPf9D+DQ)k5I61GqvzaiEwa zi6-F1jMr6FWFb}w*+TT^42gtTI#J9JwxRNVpYXdTD&do>(>yV7ahowqNksPKU<5n^ zQ74wiAtL!AQQzWB!GI?}=TBUg4xEoO#_dw5xd8q4Cj7(21X_^zwcR;SL_X zy3q_}&)R5?+QUjGE7lI1JXB=G@5=~Skzp7gup-m&+H~mzF5=d}#zPU_0~-%amiAAV zj!&1;ZIvF>bDKl~r*qLA&d6hlmPg#?pOC@s~&(8Cga1aMXzyqSm zxWXXbB(j=d&`e(m}{HFYMUHT@G*(PxKpgVgCS?tvM~@DM$~yPHFeRur6<~&_*LG^O-~(# z@3S#C#B;Bgv7~+Is>5XSc6?rXpPfl8-bB0X-l)eu{HyC_C~2Q?1s|17!-w>SZI8FJ zeB1H&)3Zj?`3Ft92qu2F@8v#C9o@9gCd3eLcD-yhsw{7X&r!uT-DIj^4*al57sbRc z_FnF*)KT?)_|w!2f|3B^Zw*7GvY8z)tT5HBRGD zLonX*aNO&XBusmnRb<6+^Y%(?`iQi2)xB5dCj{5adL|ryA3;^y2g*xOW7oVpCLGHr zQ)3T7R=@(c(0C8-N@fW?7Yjut>EfbfG{#RYgat3`?YvW!-Um0yR~z17+ip{yZslXL zOwB=5E&X(5Y+k^bj)GweR(624HLI@4yz*tH^HhUJ$?#F2H_8k*)quayk*IFRa>`1c zYAAo5S!`W3y!9k#s==??%(F7E!zw3Ws(~JyMeyZj7EiJT8VF0wD}@X*&*CXLCoAQ0 z1F(Zxgb#v?tyt_PbW1lVak|B$bl67ZUN_n!G0nTljLvY@^u;-ynq*gLl^YNXNz8}u zte#fPyQ5sta|2%>J1sgUi!g|D8cA+>G$pOrnx%%^>A-Ohp4NLX(~nyqTkfnmt=U%d z%5RCTHlvpS%&Wg-F8?KS(z`F2hkVIgNB>K^UVmxV(l71u^8eDVzZGr8DtbNatjX|v z^2w`S+)To{!#*+RJ0!R0h^jNY$OW=(O=h0uSw81;9^`=8XVS;` z0W`hQ$C(y2@~M?7$H=~@*3eEDFWwd;i?S~9__1qR{lGa&wNLLzT>2yfH9px>FKYpdh9 zZo=ct?X55i=%e6sHz)(y5EJps^it`LahtXTv46mh}yC_5vDS_;0ei=hi1 zkoUAq=(_INdo(nG4LwRJeJHeM`Xv{Ils>Ws%dCVxvp(momK}?`+F`v-CLw8Y-(bUw zQQL-N+iy#F#!GOT%t7VwskKc277U4Dh8wm0ufj-X~p6suuVjfP5?jk)6(u!GW0}FuZYQ&Ph{%$G7rKN z+LOJ?0@aSZS4eQwD^80OR*_yy$Ym8URn19O2~3Gm6mf$ z4>u#_2ffQ*q!Xc4O;ui%b=|?tEBg(~6mc-xJNtNqDWc(`nmKE|87@C~=#*w)_Pq$R z_WTVT9rVu{`VsNGTdT_`Z)Ibl`?AzC#`Kc4)UL$^C&Xy2OUrEAk(6y}wq<_2Yn+i; z`6eSmI>aQ^_d4`|hh5#^kRr>}h-Dh2_^^$1%0_X)2-~r}6UT?Wts_m`QCu*_@V-;e zJ*Jtu;at0<0?WWq_`<|gYnT$wgQY%nZAYzUrS8u;VZzjMMO;sKViL8}_0|5ZjV7Af zuA3qfs!SGNX!n-ZicGD$*zO*Y&|*@c+uCCt#yI7_qfYVi?^71l zrt-I<2K@A0iQ_unMcA?BsMG=ZU(tiEE>5=U;ETEX!<+&rT*on+? z0*YjoTnn`_9##ny3t__jOx`&sTcznCEfvWjC&@moip<`Moq0qjTSHCeu4Xr&7L*DD z?bOUOobEVhYuwUIZ2)LmsM-l#EhE~AG;K|wQvBbo0Nf61@>^E&TL7`V9J0^TM1x=m^rBv^xui|K}=*v7iD{Lq&2jj%v6y zC2(S#=0`{JGDOux0ZkNZhpZ>^PKiZ)Pa+Ws-;GEXoX12DTY$Vz;rKSWCw1=@3*HVZ zE4(p-F>oE%lk8yq9q)4Tb(-_ciHIQij=~>C`J@-QS_~k8_#tdM-Z6iL$UJ@Rb-%0Z zNryN`cgJ~(IA`}UDVJW?qgiyH%%1UW8`!*C3CB$l3rvNBrY%`6M7xMIEo8TrnB*o> z=@iWG66`Fpj^+p|mCaj~&1;ooxyqQ)bUHMB5SCu(m%c{pgw-lnE%{E~prCztfx>WF zC~rNlD+QI}BM}_=DkAu$LORY1|P3LDrGvIRLiW zcBF7aGiyyt$5Ap*M7CTw^%*B8s6lvz`8q$c8HGQKaNopt zu#;6xY?|mkL&okb0J9T>`L88VHqL?WpgxCc3&p->*rsF9wEb^R%td5+24;rc%~<{B z1myV%8?Q{&l#HOb4D$06La$6Ex6BQ?9a=9>K>j=-vmXG)IG>8#l@H5yB@Blo4=;Dg z1n=rVLCiGov{LW$etr0t4=ZUkYki+?6BX6*Sd)gOa;y4txZ2rV=T3pLo9LRB_-TSt zbprZ%g3|K@^s@w|XEErfF-%`v9-irj$`|!`9}N{aH~6d(BSrTOMcOEVr=qS3%JNxo z!iYi3vy|0i$4vcJ;UZ5MWPn>!z?c;9qZDvT3OFeR9Ge2Zl>!b=0f(l5|40dXn-bKR zvKiEl+68=)vOJ|d)88y9+$dr8>~+Pi%zdxrlT3(*Yf9_edB^8!4$EEV1>ZX)N4XGK z;$efaHU(SnZAHaK@JaJX6aMifL9%j^|0b$#)v~AXMktmJQy*K3r7eYLM1lFAV!dIQ zsZYVnWV1;m?9a{Ap30%qNO%Z9!jC^;HYR|C-9JI_7yyFTP900^Enl|KuH z0SMlwX2;t383ebh8m3J_30x)s!RaM|9eN)G`(_b>{tcx2KMAr+h7|w=KWn5rh2Z~Z zKsMksu(i;AzbO2ZSJeTZe+J>hff@M>|33t<;b#aQ*<2utMV?~qg6(wppG4Hwa~NnK z-eq?tWBdlXA>P?ay7y3mveYWvnRMKP`CZ4LXVRZR+RrI<7D%>>bCfQoqt^~E(19eU zUy8?cs%xo}l47+MxP{jF8@2MJSW4juRwj%0B~`w$)*wwVG&|F@I~HhnoJG5qCQ}U( znEX~dSGD#V=+q5++pna%K)Nm_yY=FzoZ1w?G1R`q5^jGN^dxN`?OI8o+LhANYCCjg z>Y6Ce&#A>NK01Y3uL{oqn02EpVY_TAFe3!K+w`fmba?BRRhue`=EyW?_2pW3Pl8rJ z8#}O!?=8gEZMRK%ukm6(X+C z4lqqBeL3-BM$4*vq!lW{Mn@xDBO_p1TCZ<(~XZP4?2 zV#TIb>vK>wKt1=zkR!lBWPP>VhUy_k+a;B>xmF(`IiMcnGxd6sagYmlV5h7ZQWNJt zV(R&nn@x>btPPO#r1^Y?>m9DVh%|Ugd~c0&F9Z_CyP5fhc|z&Hl4qq(bbYj#1D&u- z;GT==1ShbZlv)^qC=0v5?WKoC+NdbU)aMg_#(s2bXJcAH;l$8LPT(&1 zALv&79gLx~Qf}|s;?;x~hu7~z9cD0%odd>(25Mi~*#3%F$O8kJh%;J46O*8pc0t=n zHo87GYRx{S+qwpyTXz{iZ8V#GOm=huzA)d<^bWGg_p#a2>=VAD%csV=>l$+xB+wPA zitg=iODlT9$k+-(xViz=-ljCR7%bpWp>m$=*Gr6p>ODm}t7@IiO9uqwRVM}o?_$cW zM>X}F0vgBT#xgozS<1R5Id{0OXbBILV4jBryUE<`jp8AZ66#&(=4V`?GZv-!SJt~w^rOtDrv=xyq0ut!|#L$E|pj4>pwJCGRsXa^(8mP zQ=M89NFMT|btQ7xa<4M@gg^;AM65~+!PsYF)~m~DE&+2-(;2J1TWbT#np~m_HtRjF zUKxSY+wn%teAK!a+R>`TKVyfjE(*8KfZhqJe+9c#?u2(!-fJcvGJN+=YS3pSrs;X9 z%2~Zpc8V`zggd7ruytc{7gpCPImlKLBEp-b^%yi+Z*n!g zcF}r|T6e6igKqHt`A~`d1uq4}2y%(<4zUL$Q+XZQ?uNY9iOw=he}wMi6Khai<*mVk zO-B>nFy4%n^{d=MQDW!MM4n<-KhO zaXMtAbF;X0l@`VO)gW#s`CmSr?b)R;qgFv#Lb4Xb?Q*9?&L&If4h*Ucp#=~dX@xPV z3}-o}b5^2-L#Ib`k0s|xo%{uoJmrT3OWEI|=Clv~kYFYITftB=nsXzZT!J<$z8Pt$5gd9Vh_`gfsqE!w<1SKjY@FW zL8s0Erb>*bs?XXy61JWTlHH&*|5X{tJv>O`tWvL8rzaAj#d$2- zaX=5*{vcY(hg*$oFO1f5E!=OBD(ch9jJ|`2%0cXBBJ~m|CttnTvP8B;%sN*!;nB$` zPt{FE`l8+Rg4Dj75`fu&!&A}@7Iale5r$$EuuT&}~XDv8B47(jLd|z=_24#@C zn-Rd=4bref4Rx3X7%q7&rLPwBd=wJ6(bPbxvA;27yY_g>mYl$ihk}vK`&i&TP$D_s4^jvyYzK zl86bu_3YK5?Wa~Bntxce;k3&}*)8uo<-!#!8QfJ1R=*~vC< zp+9WRk+@s?!>~8t{574yYioKNI~ct$Iv4>@7%B3!z>R$`>O*dYndvDVQce7|D0t^? z_nc#t&R={ya;(K3xybU0z#hv|5#CzN*8RQctfg*! zilY0DD`oO~95f9MET>-lSqr+Y=hrZwT~|7tf^T+>`R%%rpeud;f-au&%XKHUwCcf& zX$I->O+!G-&@ZlJ@7~>*%B3lv^|+)-Obv3;p;nN!kW1YeB$ zVojG92WYdRfNEekPH|rLzToTB|t$VeY`sHHgKLz>h$6DYC@W%EtyGO$y|&r~rK9 z78j+ozU>zbRC+NW*%d;4a>eu zoxhz~9kBhXU34M%jbIhi_=bf*BMd?|M{zqG)MOoUWgXO3lOo09dX%8vQx{p|vWkfw zdhJl@AJrk^E4^#7Imu$<%ZFGYR;t5z`8@EAvDXWFJt`8;hVb4E_0b99aZ{nzSC0D6 zLWIBt*&Txi*eI9GNl>}lzjO6ZpwhW^|#S;9*VPp(H@PxMyZ`8gLMvm8ouH9Jo$2M!il2p z6HX&RwC+l;A1&NBYx-imM{*~ddp|Uvv~tvP;J9H&!wY&hXUUe^>G^slb)2+l=@$0p z_cbrUb}YeyJ#{=eQ#K~P$fb=Xt=C!S9Zx&Uyh$<(I_O8+odw@#Xix zHDlY#n}#O)J}WGhqWk^#etA?(Dr65d-T3U_q{~ViVXMS zjONvxXt#bZ(ox5dqmFf>T@iRW&&_&MCispJbS}y7jGk7uB4gxHM)S0`Hrue>oNFNt zn%HhsL_Q!ayhUP--!ninsHQ=^%_F0b7ro8DJkH2&Tk}L)^NO_*M;C|zbwL+zAo3=+ zz6&rMhzg}izLO1ai;6D}W9PldnR{_*eWJ(atc7DL{U>6e6_H0B3wtY`J$!7P4Xho& z!{Pi!EsqM?!^f`g>T>h>J`R3mW8H<*TER&_ZGZ1=yobK;`N>I`v>+?|aY8;n8X)yL znRxc&9IX2|2OFm608Yx@+2A_u0q4SlC#UAHRlC)-Ap8Byo=p5Sgpk?0VvM|BqV31kNay8xx4SCPiX$A$#%^sB>Z%a?4^dB% zi(M3`;pR~tgZWycs$C_tI=6l{#hS!+>MRi+?JV&rq3JYaykSgazAPt9D4OJ6vovJp zI4F2lth<41ZO|@!wX1XJyd^fA9+*8Ec#2fz8(uz^xUv&M0lu6FPaajZ00mMVY2X4Z zu;(p4xNql^^DlPwdMfmVdu}{GMo9{EP|b0WBi{FMX99Zkyw_v!RYRPX0B<5-)cROZ z1apAwdZ7UYa`VnsH*8WGx5NlkFu5zMRt^i@#}JnMw8djlUhmvZf_7~Pvbu{#p|G{Q zp;HY=*EK{YT2N-WP8p*nQ@e>lU5ios_?1gAk7va_Ry6H&Xbd=Ff!ajXa0ETf#@=Sd z)dl1^2HE_j{RBw;6UA4D{o{?aj&dgTv0|Ia(G3{2FO<=0&cyeMSXF=p_ zY!WN3KoQ#M&>GNefzqXFID^Oq2M4w^F?@*p=h+;MT{M4-z{P zQPd9XUo`GJ*@fZy{H5{h>YK>y{hTtH)m@+n?{vTgj98#R)O=?UI~)6tHzIPittmjj z`L|@*dN#NIMN6tp`@gSsD&hQ{Nwwg^{N3DJHwe~OA=C?}+%&5R^4?yXF6qt?3 zc~W^3bHTq#o8p>kt7hvdgPSylv~g<#u#!KSWhh~BQ}DocZ}R#EyUk+BXcL@F8rstc zVs|H~Dy_oy1h_r1F(d%NJ4QEF8lE?7P`MkCZk{g5TFOeXy$5c$Y7Yqr2RcoZhW7!T z2Z7EENmBeDRO1^e-R|q?+1WS+8KVhV}d81_X?U3t@ z)!zFVJgMlIkn2qbgM%qQGLKz@rPu3cQx21<#wT1A8xw+`KTLVzlD-0TTX)G-qv}mR zL}!LXWwv(P@phbORBXH(EDY2L6ka=oH?U|wwn}S+rNU;Kv4L-%l%en%(~JRpr;2J! zkZ;lDinI@v71k z2fB#3odRYdmjY+vWGHCQ*1QBXy%l1YjI08Q0}&#wNWh%OqsWcpy6|XvImFH%S+!3b z7%t)}3Yq(Ol*DnI`H*3U;K@xX1EVFnx&z}krS=*v(>*w_BT{Ogk+iPGz{N@r3{S}bYTPIkx~bY*63av*l|nhpwW8W_<@VJqz)Nv(nXB@RA;)%SXcMX*p)id z)y4;PE60Aqn#vnn=;Ft&U`-W`U37(GKh+1cAw}MbhmRrexhk45cWnnFGayr@DmVjg zZlTi?x_T10O|aX$@2DTs%8MGk7qK*Sm)@_#?|x5*rZHl71>JSEU9hmmKluRAUGUSr zrBb20j{Z6<u7FzQ&bGI=no<}!+q7m%00$MwSz4BM;*Ns z^cNKnCmg-_Xr`kVTvI))k4Oe;;dU#F;TB0+qi$U#PDN)%iq3QgpOKqC`rM{uv0o2R z3_ibVy6sb8T1%IZzHRJOS!b}$q)xojpjAX; zt=~M?O9oT)dO~O-aFyGCb)x)DcbD?RAARv@C3?1~ct*mTgjWgA6CNkrOSqMAIl()@ zKH+$R;BeEq>*o%gTXe3``MUEV=S9wqPS>3dIW2N(biD3($Z?Tl*ouK zT6%X<+4uXRJdDdgE`8b4EpA^Fro7Pjpz?g;9s6^&@eY4ZP9l{urhTR9w=zmjK$GL`AiNOwf!K@Yi(A^08$-3_sg{j3d_-ZL# z3e}>I+7Y05ZN{YqzevuPbyl33&2P`J@7v~1{^b z??9~MMD`ncSB?hYS!Gn8sftp=`_>PITZgCCGwmJtxF+3BsS8~>f31A5&%`MScaC63qpPZrA zIo3&Y>t{9ZlpoYu=L|F_&ENsWDG$iZ&I5tg!_8b%QLd(v`km5~8RcaJc{@{R&JI5x zVQED>xnPYMB-8fQc%IL5l`y1V02<{UF|2HO;$mSD_E zb_I37GRIC3Gm1=Y(h`i=Nx-39Eh4ruO#uy}R_<42wO+~~AOkDYoQ6S@!N)csgL97{ z1FT6(*9Bs4A_ zuGEHB7M0unANIa7s;(tj7)XE+EWw>Xa3{DE2u^T!cTLa`ELia1?he5|OlD`3diSC)>4shJFSy6yw-*27q{=eO342F?E^~+#P zoFks`8Rrn>)p)Q$q7XZ0u#G?+0JpKvIfQy*0pL!{kuY$(ueBrg2Wv|285E2ojGF?u z&(Oyrv-b(|kk(tBw!9{`I=o*nEtQKeb)z!kTPYu3BQpE$t{BM9?c4B9^FJ~@*q5s~V{!8-@SjE%+m+Hl? zbpUZ_{z*I#Kp%0!QTb*W&69rRy^CFKNtV=Uco_3>wLazHdHrvIpOeqbu;9cwA`Y!{ zfgmGk03&s;>j7TCztmb9an`F5APAFBUoAjsaR4>>zu2<3@s1{|IE|fbZvR@G0i?c1 zm|w=>1xZE#O6wiSN{f{ZWTh1kiqgVmKLT090*wJq<0R-D*an>gcA#^B0|X8L>~#jf z#(=0{fgJD$#l}2vpbc~mEP~DfPz)Eq_c3Ky11kXC#wdbjV}KmU1Dyk-pmSgo6b=l; zR06E*4^RXa=v}RWS%A&~7SK5m2Ra9OLE%6O!yeGj07YOQ{EQz7Ap04+pmV?;bPm*j z!U29mZh)t?Zw2y}bpYMd;sjj=@IdDPA}Abi?ThCxdu~|J*$i}?|AmR+F~p0rHUMSV z2fr9JS{=>5$ABgRN3#J8pvVzir;n2v zU}4um(JcTk3}9hxKo(Y3b`b2#!*<01?Og#CRuCv`MM(IMkMSQLDbxB)i>2gWi zXAyNxJ7?)~O#@>UbxV7~+U1t^j8)V<4TH7IJ?#an=qF(9$FyV?QTsGumM*z8DJD_* zG$p1k`7|x2Tn~ZrqHH|0(bm*zB{^*WO=|Jk-Qi1Y{>{+zYAF1pr!0zhO@RY7>8pl8EzAoihaxw*G z1s$}~Bz_QJ;NBm3oXFldynRQscNckpzj}V@({r%I({rF`_(9>UHqS*GzkSBBn5T6s zM&s>K!Ia2Nx+Iz>`cYj0|5lLb2z5mE6}dEvTkyd;`@AxUV>G5gAHhpY9D4zD6=X`!G1aDDkvGWS63nB$4|E+Wr>wPPv! zZvDmYOS?V|7t=Si4Yyw!PKs}D&gSYH?oK}ipLNciPLt+)nWU(!%TwE!ub#Zi8}FVB z(&m6VZPu88bpnFkI~WzZ6MqBzN>WYJj{&|Qul!Jl15!GtR>R`t0~;vu)^US)#}yE) zFEDt+dUT&e`xmhQe#83f$3r+^eU~<4S*6^x9Dt963b<*UuyLZCua-(GjaI6*uRqQ$ zR&ASCS1Yf4wO6Y^%k{b~tQ-KY(6KHa$OSFhZLhkbsJ~|j5YzFH+_tO2)inh$GH$%v z`d{Wrg8ORKZ;9GgV<7vf91Iqk4be`!@vo-2PRAQ{U4s`me+3cnKGW&_VWyI8Fvl46usarB)aBlVLl|J6Nu|FWs2qv2xS6&Y$l$ z76X~pUpb&_rq3aGJO3asAPJHEG<^_&#r6)M2~qcoqzqM}@_x@JLo}L?2HJI(#SOYA z6LUNGR~!`zcz~kPaeJ?-RvGs%T#iOO7Y0%APfbS zm#cIh_#V~HdYV5T=(<9R<6YI9=(=7gvK&rmIzO@8pU~`E>5dy+E#{$?gS|H)}7#edMGK6fPjxVh8tt`wj5_e0dE!7=t}qE6rOgpyXF908+Sc@(z?#NIzf~ z^?(pj1LSW(PTBy&)gXC>12OG@!17-mr};PBtp_hQ4HSp-A-OOJN>D9@K@t#H{;P9A z|AxEuzyVTF9L@(0gn_~Ve!wvX5Ucx(b3y-xyY;|Hqd627t?L4hSv()p44Kc&#nS@!BfTwyEipmV?;1P%Z)qC$Z1`d^(3dQe(EpeU^e4uGBunFq;m z^~W&yF)sF?`hj-mQJ0|)#AN%LK|F{V{6dg}PqQEfpM3go0A}m|M26|#h(7(t$M|Vs zK@Y%z6w>*RkMSQLU?j%%_Uwk|_T*qj694x0!d1dG@M0zl@r>tsW$kS4 z=IADv=i`U_@6<12&+uKZnOv7;dp(QR>5g&mFC8QY>_6!5onTz!trX5p0h-`68vU~ zaxK_tiE<-2X^CwX@vqIL~e!hNQlh}<*|^66`(f866IKM z!vbYPFvbKWS1`u}B~S313CdSN+oEhVw9%H-SS2}he-mA4XR6!~0o#&n1+>xb)L3OX z7Jm~%=^Lut6am|^>`1iH;nY|aIYoaHQ)y@F++qRSitI78(dpD!RXHJG_d3d4?G@T~ z|HSDaTh5cftjvQE`oxJg*+Qf5(222)vd|8(H%ZGkbFXgM+A9ISf40=V*MG1x8k0E6 zwU?_o(r#_9v5k1}AyaXKG(j7UE4i(UEeMkv5f)QI(Mlm7j3LFW5_Ex-8SzrNEos2H zTM?5?*on#KIw&*rK5gyo;!ms|V1WIw$kX4mHt2}Ai8nsWe~q|Apb_L#Q+>;+0q=In zd!({9>hq1~ns<1#m%{Ld1)tmbYUV1*CHHQh#kJ;cWgP#ol6$P-?sod@Y))hUfcs+F z^%bE z9wlH$n|+TF0^SS%7x(A^X(fPXw+s4V?63B1|Np(`6jdL{`d;1h{(AnuxWwEKh@gP# zF#r78~EQy&Me;XLD6d5)Z<8*kAO+z4RqW=P(@3dzu(P4^#-)Yfcg+Nk$JqD8NAjxp`Xq^+$RQcn- z`UU6D$oFYaGo!}M#2n*??Y-0Bo42x*fMPg~^OS`;iY2d2*HtAO?UHAXZ``0l_v^nA zj`x|Sk9Dm3u?$KuJB6XY7m#Q=1ufA8(3_5cPk})A`c6`@0dtmPqRwN6W1{dQ^cAP3 zbASkfOndZ?Ym6{Q;}wiBwZhp&09aG2Y#u~E2+Y-7piKe7^#+AerNE#*Fn5H0TJjI# z`+&+{->y{ZQUS?70FC@O09O`4;Yu2SDhY+1j*fgR<$8&_Qiu2tdRTkBWgT0zVS0@u0;+FAio zk)tk<(iwoL$SUy5!hiiiQ!VgD#{XVu@ZtFWSKqz|IC_?V@bLd$Xz*u%9F$wqKREzm zcz6&H9{%e?gOZX77i+F_cT1Z1b2rBedr5a|$K%m+&X-nqEt)PacQZV5cjqlx_Gb+r zs|pJp?+)5Ek631%t6lF7t^l~Z@GvoH*YU8ds6@52_1)S&*1}+ons@L%HAh`bwakti z-O|Z8#GTTfIQs3(gy^lp9|^s-3V$pFsJ#$;Z5h5R7-A8gBbZ_m zo-0^v5}qg6WFiOcZ=x;DMV0F-U|XEcj5gYyilr<^>TjYiT}PE0BVb#aZHG46pNgdd zJn!N>U=7*1QatjRl(**j|B^@#n2XO)7U#&5@4l=W&L* z*j4rNuuG97swcFoPU=2m04uCYA$i;JO*)ItI8aKtN7c>wv& z(SSR+??~!wWyTp zy8kZWd!PATe)ypOYC1?dN+po@$Z=FCR)oQLY|z#QS6zs-H$8?i%wR|yh$HDu|MfL6 zzcJo)h(TfWO8`n}9N0GD&&_~+e%czE3`Yy0*tNUhy2`nrCFWCsy9UWYgHU}6r#CEa z7L2h$B|2hui@0s45z7hNpV{AgGw_=%F2J4jNJVbvmG3sJG4-*ZwVj6jxa4(}=!YgQ znGB_LiX*IX7fjjD_sw;#8fx1i5b)vj1n$=6H7cq6=LAaDE6}sh-#xn zZIHW`IS}J%6)xS8NS_q_A9Q>_tr!xzK~m|`m7nx(%TTq_B{gm2uy=Afu5)zK-r1J< zLp$y_jyRkX>?%&|nd`AEs$|)M{zzXrk|E8jH@VgCC*ng}R*C5Okr;@;NWke}+(f{{ z0q{NI?+PHbK(ded#e1Y?*vuq4wci6)DqPyL{wl3IfQF&^AFdRzc$b{>jKwHF&CAz< zu}i0CvaKcWU)#}i^m#Gc(@cz2f>BVaf^ifn*}5bWvl|F=^`+*_~hCU*s?%l=Pn5K7wAUaZzzyA3S9_y z`n2B*BE*HY!in^J0gL|0TL65I_`Bjk1mv!V5b5b#Y}Sg{Ui$Qk07dtw2=uJqi^M;W zga;9zaM^&yG?ti}lMLzTgPi>Kf&+c($G7>ZIf!*VSS|Dlu*{iBi0IiKv_|1_ZhiNs zk<@OlLb~2unkEUqoQY|L11tIUp25T+w2;8Uz@mR4{!SQv&*&2s{oHn~=$kNLoj~RS zw&lbA{0AHJ9`(m6Uk%|@HY5>7CcxgyY}vQ>O%?T!bR{K_MUPa$($X0K#j1_Y9X8cLXERBeA6J}F)F}Q@H*bK%hyTKugXAhkgI}2NL__(Q-=9PH zd&&BDpcb4Rul1CfK9&ZjSwd`&0|Ir(Xy%sSRKF!jFc5R1w6bYpp0%MDm}@H-m^qq0XVoKGSfF(ZogQ_w0-mF14+&XRoQyt2 zg&~EvU@FP>O@lpOgOECX3SHcpfjHUpZMZ%$8o@6akxcg$Pgjo?R<|dSv1dTed8!J{ zV5On+oKUBiFjGZxyJbgLhtC&=m_*KrBz$P6pIznH3H`WcBLF6&2R=s1`bsu(S+5hY z-vBb#RlyUY5+htg7eX=HhD- zqW6RC0tP$jjh13JaqaRW`bFFK9m(|Kd)mwav^nu3=a}O6NB}8|dqZVDS0vWv30!G5 z+FP<=7v@A5fd+ft2JBHx@!c z&<74>NLMpHjTCGeB9q0^7i~{hEP5guN+QxsNd&J!U@T>dS<5%%$rzmWYymYCs_+Y= zgI9XfL*4#U5f4RStXk#~En4`~p+Ab`S%wLD4|S$&aQM@4Em!zWK92F^SqSCrAgJUg%MVoJ=8M=5#6D4h%%2{NwS&&j0U}ZJi#Op^ zbcyeqn%e6?6t_NpoX;^Zl@QHKMGyXZ3!%)ez1y#?8>wuU*VMlDt5Pl1>n*#osa*$U z1t54|U$UqVqhg<2&Y=;BN-H){{V0FtpyaEA@~1Ieqn)5AePDMBA=4pTTFU3Y>yZvh z?q~XMk+}HQRce;>*??mLm)G7c`UlN&zX|>4NDF~H z1db(raPm(I!1cxMCd)tc0&p_#VbZtN9tsaM1K9^$a%GylZF{%OAFD_DO=$RULNop# zlo&`Thl;IzEfw`|nvH++LCimj*l5Om48U8J-y{z`Of+iK-u>#2iT+??!0(Cl|Cs3I z!$fI-kwSjgqx$|H{+}avi~<3CY)edT@oaTgDvh4?m%Gna?GP*=(Y z&TcCC872y$#|#UZh&K@oruLWTP=79p)}U%kiY&itvqgACZdy=FU4x0OPO*2fKhFGb_^u8}22h7^L5kt|sh z5C&%ndnSbsvB}TNMaK-T{>6<#m=~Go#Rbe07l?OBZtEMa!V2SBqh@aj;2{wj@ zHKK$y!iBjZi80>7pTKQeynzT{9I=<0d+iK;f;(dW^v*lP`x0T3BYQ8oe)ybagdqk0 zB3s>*Xy()BY>U7~heqMT*I-pJCGd*{n+#dD^@KptNMSl*A|_%Y z=3W_vrDzfJzrNRnol-@iDKCER?Ej)QE7O=Zf}$cm|K6IuzxV5ZgA7s_$EEH5V?Rs$ zRu}L7&=LPdYwj4m1?=pM-}MRhedL|r{>`y?w&P%qXRC#MZ@Uz>}Zw*QE zhlZ?q(2&!Exz$Vh5F!eUn=S9KF?Y(@t$Ai5@(BfLrf8^U{6| zcp3m40V?sy9~&w>_+brpGrG-Vwul`m4^EoPNp;qZQfY`%>BF=5Rk6X#VuJ_AI{H+% zS5T+-;fO)M(;gex8Y^&r#y~CyoG6HXo+uKtZ{p$1v(C(!#lmGqPq$WILI3m9e z8`4+BtHQs=^PLW6YDY3fyFa8z{&4xq7Ws>aMZmnpzo)AF)8Qqt3NRJbuc;;g?G%2E zR}7dp|5qnnz~HLCh-k0CH?88C7ygpHRRAHF1&Ek zLj-YUB9$!dGcUe;_Lx4`4!AdXBK>K3I+6*}p48#94^t`2Y$)tLd_I2CX%cS^=bhG6j*0U1*f!A6O$DgaCw8CPqyC>N!5?bNmP4 zsyZ!&P0&O4yO)#pa(r@|P<65g`HiY5bdq^!b-igTiB(Z=7wTPNH{@O(CTDA~^VrQ* z)|52I7{7nDC0b0NYnQKUDmd#=dz&8;rRdjewEXO<8)Z_on_0*kiyB>l$+*(gsbKF+ zB>0F2GKNn}*<=qQ*y*AKwGB(y+{5Ey#nPlI0}YL22$2Z&t{6UXH^^uav$F-$PL|ojSzmr2V9jtjqOf^Q@l+PWDNRl0 zlKLMo*eM)a-K(o(QE5dd%9KxuUjZiS$!NIz#we3;Ku$O+0{D+;L7G^$!?c0bOHqO| z$6{&e95|xYohf$I96bm>I#R0jp=HGoJ9aWmd+5(mwu2I7Z2RWpqo=T7d67K`p}62G zo*3!KwZ0feAhCe%uno~SXw^21e(q!62RDOju+CxVy@9~clfdwD6M-R>!%*-Cu0boH zZW`BM0`N41Yd~b*7qB~lc`!4LX>1=IGRwqZW*c4RgO^68KHwx`R`dk|lry-!X?M!OZ8=YhV$Wsdx3KB*sL_Ei->g0YWqS)YD`3 zGZbej%zlAX4-vhmF}#`m_MyfZNk8~^UySPSw#r2T{-?AK6uoOSR}ZcM!jZRfOT6}X zI!&t4a=CFCbun9N0Kk$`4Kw;S+k(#)IX6yf#&eV80c9&UF0C$Pi#z%gP%lAvwfKbu z!T5htR0P=Pis1~k61@Gp0tOa#l=vTy`Y=07Mm729+Z+o~TiM(=nVIm-OgR9`SQJT& z5IeNTJJu!ih3E4dqIe&8zC7V$RNuNG#ty*Xe|~rPG*he$BKfK_V1oluq?UGGEV6sU-Ro>nRyFp>O3U_Doc)$XE1*HL+GS5?tue zz}66NRz^yIpZn1xJ<*m0VeA7FA$e?Vu4a}&!F7WJMfj->1;1z4ju_$|%tNuB5?3iN z6Y`^#t33vYdzUb_d83gNSOZSkpEv81R`#}oQPoww;=)_3( z2(-zhMaTKA2o}$iMdGxjrbUnXc?r>XqxuKyTu5_5_z?>q2$Mw;wDF}Y`JwoSENaV8 z3H$ko6_b%i61SygDaE4rhv_)VP)Yd_ixvwngdWB!l(s$*`zS0tg%nyrlujPEy7-3t zGG~L7M{=EX>@6b~DS@z&6moC>MjVM+l!{o3z6csM{R~nmHT@9MBWn6SBv~r@78xP) z*vQXBai8kv*I~&;v_+FeVZ_NrG_VdNKj0lnUQ3966_4@K?m(utMZaC}@xw1sfx%2p zNeXq`gmbimQ+~xKXwXqjs<(ptikDx3hhQt|OEJc)C;Wn%9YwI1vIHLFdS;$*eqRQk zy@KPDTi&+b2MR$f?;YadWDOmv;I@!k zDuT3i+l%bz&2};Hq+6=L?>AyGI|hs!n;m1|8MJ)p*f+vv{s@OyyDMGiJE;Mpi}=QQsRWl5=g5Yg-W*DfQG=B!bBGqBnw>gw3I;$<;)}k#d>D(#7d? z3`~onU7lq)A`*PLuL!n0M#cD=!@gJu3)>(Gs01yO5_}V3bawA?_mq?3OAY%%C@O4) z^iB{dG|>}^K|5azN9?mMj5QTO5OHgq8;D!z$AkWD~55 z`j*qCm0w7uBP7(8F^hFE_hkY5Vs4u9_YjkJjNPn@r7yWT0EPUD(X4fPA&&Lz^EF)S z*^t$DjL2-S=y3wQblV4_1^tKOPy!r!37bC*7HKd}H5`e0`(x1PR0(GWsR@8@_;nTQ z6Nee2s}GV^e0}|DG=;LOIdYUg6WvA`Sx={c@{_q~>h_+-X%woH;zjkKTTUHUw?ZDpe*8CUl2C_28|S#YE@D-4nky_s7dVnhC?d1gL(jxsSh_!s!@bB< zf*^=myYlw^1heKFlCw5Re|$vR@6EY)0N2ideY4CKY$%X;?qH%f97xT={A0pGx3u?> zA9Y`7!=k8$n9?~7<`)cHI54~=Cfn|6k5Pm}4>PQftJGfQiTRbayYqz{^QH(TB-Z0Z zyRodfIn-~>jZMUm(V48Je;4#enQEO`PsI`=Xf70`JG)DWHM=7?3yPNQH$u-)BRg}f3=*8fEZHr*k>C>S=}0XJWa^B}tD$-XMOT`v>_8`xHJy+zV9Jn<2_ z4jeWecC$yg?AWGAFotoTwe1t&V5yd3NBY@C=zXrogmqMONpfCeM#fTNNRg5U`wd}~ zv?;vo6oO+AsuNX{L8LDT!MvKF@z?FDt}!NJvuO1yAB!E_)8U5IY2IdqFigx>J^i$t)`Qk#sq%AHgVFpa+$zKDm~ z521V}Po>gh{ldam!5@|+6tN!MIw%k7l)&4Zqkl za!-S2B|_su-!KyW*vn88ItmID19H>x0u@7TQRbeBy|+NSrud*aw8GYjTHQtRW>T0; z@_6O*N8(%!zc@vmxr}vY=%9}iuMSKc-m0iqG|P10zZ_gS7yEWc)D9o?5nP73B=-93 z)A$>0EEZvG)kKQ~JN2ivf*JdH`NwdsnHk1{5hQW8OP-{O%irN5n7A+xyO8sULS0s0 zIZqE%!vB{-wJH|c#};~&*tzA_haj*;;`0J3t%BEATL&%WJ%=`aTji6Y-30=}ot90X zW5g@+%+4oW5GT1P@oPmNWi~U(ZK=saaHBes=U@hK9xu#8LvyhvH@U+hXj#pFdW43P zJr4#6O)_DrUFlVa#;-;H7&)v&hIoTCcG6tC&?^D$RGBc9jWG6Q+k1??-dt@>!&m*t z!nmi>nc$8QC4T2MEapxnexvU4UuT7~sP{=#HO-c!)SFSE*;o_1LJ)#7-&J|&=HML7 z3sXRIvj%kyA_k?tdqO0Otu5lX9{SYxsQ_Qq;sklSAnUs>@KEvI_0SSuQHu6Rlwiu7 zq@r|B8xd3iVz1UP@@d))HhuQ41&to8{kB z`8`p54(Q19T(!weyJ+xxq$kUCHVw9g*|*}2?-ke!ex=NW&8S%xR;y5?7FM%RS>{$_ zP^9KoeNb6uR^OpW&8+GL^&Bz7;RSQW9tHzU_-n3*8IUTNbMEQ*Tl5pfkfl+1W_e(p z=%ij+^-ltSktN+_M}u9hw}Dik(=0DuVlI*+leyje~bOqXyx}Mg!T@Bmrao zfqj4!k6B0dbhqWAbT@G7Pjk50CC{zz2ZMn|V_!B=#Y)skFM=R? znN0+k`CE9)svOG-6Ei^Y0W;rEAN5W+Og9!~gh(yJGcVjK!W-vH<~rsA1@X^k3WU!< z9*9#BpU#0um?uWVWV%+mw9?-CBs8TJYRp8IFjl5%x1W4Vlu^)(t7yj-K zg|o2ihPXhn;y}{w@Z=Bb(i-o_W)D)ARS&X%-x&9D7Uys^ngzPfStYhNY*+^W{4~T8 z!TD;U67kj5dZp&e=A$-ou%zP9MXIPmQa;hyH_;$XC6SY*LaRhYqZ{@D zNr9pWGhRiJr*M?t+^a(gJ2V$K3+WCp;jd9OFgi+~w1~bUaP>N><_|_(Mt7;_O(p5kusGgO z+WI{^bk2yC|iDSV;;o z3a`lIBZWoo&LdvlKGhvB?7s?!Z;;rt*FQJMb#=H;#Qxv9NHHlLuQP_UtVz_N|H+AFJicx45>c+(i zQE2+=#smsc0pO|_U@n{E85^@`vb9N7>h#K2B}Wyw!{w6FR8} zvH>)2DJ!ByuZdE{kbS60V0qrI4~=N~Z!}6iu1>!;PuZ`_9Vb4qfQ{IV_(nr+6-T)v zuD%uOSK*~{`cye8yoeg5Q1M%Jx`BC$N}bFov49Ee%Eo9WO^&E)wooC4tqA56ANYsS zEV0c#G>Se-7Ihh;3Mm~8=Z(;=60g|9r=n5ep}nZmnV)P#b|&~n9f;G!{MyjETJxT( z%ivZ>p=(I5hrTQF;@i*VjcT1kBi!>+M~B!IP>O0DLlb-Ha?lcq#$aZgLP$Z)x31&f zL`%Is^zIY2c`%$n!x5E%~{HzgrDr`Id~s%qqbNRdj(ExQ*)LUgs*cD8A*2C;nG% zRWy)I=FiVh2`ts0zMm#6+wqvHM(L;!*q`#rwPs? zH~I6bpJZLS<M=!lyy1~pjj~=QU^VQ+WQ$iq^(mqnDX}afSyv8* zcvEzLAhN|vnQB0R@S`;GcQpA_-3p{5zY;QZ{qqfPIG!-#YV z&)#=t2Eqzh6bECn?1Y@vuwI|0nz8uwarX;@D22C~vOHYrKq7ra zu~S(@kHN|yVQmt>_=B}gA!KozwQVfql?!FiTz(@xvP6h%{L3s>5ee(acpWEE>qNEU z7)kllB2oH%(?T7X6&)*V)msEFyx}C)gRqgRO;vSD zb|~O|;^bJm^{|z(5D4d`-q%McDB6vbd=MTVZ3*(a$_!L&Lvx+2?PT|#p>JE@X$#>& zz2HwQIZC+ZU!@M}#nN>^E!+57Kr}r$RAkRi5#+u2*mRb&31)@cnv*=kV_GJ(k`k%h z8Og5VBwyR_q||9?^0^CBfiJf#j#iuTd~KTt@-&-t0&+i_Ip@h0(y(`$HIm|_XPJbL zra9$~NN&<69Wh^}0^x8S(^zxEiZ+LZ#Hb}l`h=+Fo7_0fv6H;ANts+qTANEILCG@B z@gsli$wgHeWwFwTjN+=2A=C)8g6pqIZ;NmBe8rz&BpyBwuoM zl1zV|Y&|dQ8)sj#)%US~w6r9HrzW$UV;%Wy?bgZ;Z0)TT^W(KwRwSP^Pma4cT_QMD zyCk|`dtCy@J%%LtT}BzE4e%5ckkvcWySC9?&4e~F*V)#Tzo(i{WUjRnsUKaoR3jKJxmr6C;#AKTUpQ1lqoV&biU&m6vx9Jn^B z-;^|nQlvC5TU_1@IL5v`!eXPx3~t}=--szWX1U=*-qixHxOgkKqlBr!O@(WPilE)?*~SZEumkGdp>IyLw_$8x8ItaiH6eI3G25KC1Wm zrnYZIv%b5#-=L5rt78H!+k}Q+ou`&w0 zAVHC{xC~dcd~V4(_FUF@UaSZO{hC;unyNLV#P0%(%|ZN8lqDywlF*)Ajy#ZGMh1x zdd+{(fsM%5M`2$KeaSynH*v;M2%#s0gU@cP0rFJ|23&|)vYxM}xWNsZ-?mB9DF-E& z#gSWe0AlUaPu@bxFr2|>PbL_Y9KlJYmu_)%r@^H87T(t;N-v?lr*m5(Z-#dFs9f$f z%4oAe7=%lBs>^Y6xPt!78*rU#l$}PF}R`n_%C^X?S z6?IqHQB*u{oc(T=y4&ZtuD8DPSyC!>1?l(ko}kq{27~Uq4pooEh*e`dMpsNPDc}`^ z?!Il)dc{uw9&!SCYgG|_$C(HzwR_l$e-OTU@oaQ@TH};$Emspe6{2>PWgn|*`=zVa zyIZ9j@1*Cvn$+#1b8AN%howgcaHyMAJT6>SRq;Vlx5CCIM)Y9in4Hd~YJs%%AGnlp zbyyJhW+;*8pC*1~Sa8O|r&0)Gz=+e|f6?(2@0L;X`iU0a2?S2&%kaxVJ?k%wkM&(n~F+%Cs1D?)?(pi1j4I`0-6d zR`nQa^&j`)(obd=wqChooOF^O<8RzO&d|=x8?1_Ib8r1PM*4I$De!gmr6Fv#Cisv8 zOc)K^^5pjZ8SA^c`Ll+*1JdjK=IV4UTyYsiGqqWaX{}wv!+yMiUEHV`Bq3sJ&bS$@ zmkNshlL*WMJN1~l?D&>DH zE>`UanAOwEOMM8QJfqrT2M z1tNRUgouytpI+@rn7GV=k%`%ueJSuB)C|fp6xtRp$bM@hjR3Htoks8CUTx-R!>{dZ zwV;w!b+&n2ZO%TQm_Rj$h5DG%?Y7BItZJ!_QOJ!Qq-g0~sCjq2c|4kzq*?E+6UFS? z^k$SNSn&PL;aZ+N=kTBzoeDJ-#@d>qwU^W0D$zi?^#|KbV?5ZaT=Xv&E3PGH*IM-F zIsFaZD>PfIcKYIPIlw>CNr5Q4QLL0@qRC8CS*S=YNwL!all>%6;W*dp#L!MRMBtK3E$xb_@4b=mY17nI8VK zRxny<(cnA^K5F=L3IP3Zr5_#Sor zEri>`MjNplRK?Vl_6N;4L+uYZ)w&6IH@n+O(2mLTAL$#ax39Fm8$HWo9D_Mm^%ZSr z9WQ7bNiC0_daUL(sdZ_i5LtskNq-hL0!vg=Y;nyOY**RTv4H8t%nx z*e8C=MHMS296+$QRs0UX(6Gd>c?@jjLMBU;AmcR;yP@sOdbB)WRg&O9f1R1TF z3TAqVY9+TN_{HuJ2p)4ywJF7=10%=s^MDlBvJZ9aWAiik&~i(x*g*$dVth7@rNVS^ zg`Y|?ym4jOUu1;4hP$8N>~;4UC&nztc!3E3>eIwTp#&^k(3^E zZnI>Onen!G%(F~*-W?$}Xn8JQ9V||YMKkX2ypP^aL$A{kK#bhq-1BJ5aMfn4O*wzT z>3Y5md#BVS3ztNFJ-6Ur>BL^A!b{S0vTKAWdgtL1-&6m( z`B6MeP*BjPH9D3avXNT|0ZJi3fi%eU!B70CAMc#^tv-}LzOkisSRTc8IbH~}Omse3 zj-w4KZo0d5y|bsQspj>g&wLh<$dv(RzAqI1!R36XR>a7Izvv+HHI#7B?YAS=kB)d9#hUY%W84mq?ply z$Ei|c$4e-5Bgbo$HV!}Ccll7>T(r{!L-P*rwc)Pr_Qf(-b@rzvEuF>=s@cJFIn6~% zgw5t*AV8W zs==J^Vt4oL7yT@8I|6A{3Ka1cTi@>u<(s4)4xbLDLGuh>z`q!h3a6y#st7oEFxHo>Bo#8{z zjky)@%{JVBaXwvx0Ay>rLd}f{|Y*(8SUq9Q4-NhfS3Ck9#rWx5hiMP1YLpt;K} zUUPc2YqgWLS#WL68LOtgy)b_M>57B79lURAi>A>|(U6UkgFP-PiF0B*hI3-0ES!4d z1}92ze7Om)Ph>;=eY<5H`0@<4=cS#6<#8&-9Cf^JzC{Fn;bN0VV9ai-1s z#eS->eG#nCF%NN8f2VlKWn10(diQ2;x#34}A#DrG&gGnA9=_jQo%?+7++Ai41#3X{ zhKnmaNpsD`+}%yXZ9^jo7ix84=^%8KFhxN{)zqSie;zduXn;_}zE$kcQ14kY4A=Y^ z=3BN`6UajP)IOT#YHi8i|3?iztzww}>vDe^s5T^f2E?nvtBc61VHP_2GuqX{WMd+o z&(oSOQJX)yFehlz`1`o9&|Ys)4v+CmC?&cPUt%GLv}7(XXR4oOsCSepmcM~E|8Da< zv{BM}{)+d;v>~s0gK5t{fbk=oeIC*dX78i<12L_~$MIiRSM*N2=Lm4lUuJ2&xM7XG zW29t7ajs%($yB)|fgR;ooU^#E<_2u*K)2 z2EQzkRK5U&7(sS)76~?5!G&6v3#|$80aN8k>is`qKdHn43 zQ`FH#Fwo=GieC6Js zrb$?kLoe55n_dYp?Yd1}(Gr_|-e7mI2y0HdmWMz-B#lKhc9eiZ99ol zK#hutOQqysZ1;Azm~_zi`iC@)SBgG;?v5E+wph`;-tj)XB<+IOZ`_}sY5;a$y6xbt zytXy>#pWcUWc|)vJ9@C|`R1wb4nr;CxbQnvT92nQ6ii0XiyH)0A4OhNyBHW0^K}G_ z-yUv;XIA*>>jtRDF_nDUds~MXIN075t~hEmrgnD-kKiciEC^3?5_V#LTHPSn0ApJv zc&8Gmx+P3r5f>H+uSrcV9i~Bp&`8U zo1(jPm9DBjL8~a(Vm3i30H6o@p$xSkuY>~A6E)TR)5kKb9|;; zi91$JL8yJc|AR%jIa7ic7hc-PuM8s6d!${9C`Z?M;;^~N<0-P}vJ zp)h9H{5ZX3P^ci79DEp$`EK~(#s4slJ#(U*H%ImMc?MWiYjrVi>D#1GHf%{29f5Lx zJwD1+G<|iE>Q?mbFU|AQj`WdiMkL^3CRdyL+5P6&l^$Cv)z)v~+v7+9-bg*GPK#}w zRJbW<#<;MAugk+`S#6<{Y*yVs*vc;|z=cm(<7&X2mm@!g9KLAsrwqdfz_h7OtU%S+ zzlT`uZdlGQv;XW#u)-v0>R&s(J6t0XzbydC$hLb2Si+s^tSOnnp5WopWeh{!>HT4R zA@U?k6B+Y#C0GVrg{NjX2L^D`|;t*3X~erEp4#^!^(@GQ|lc5(a598Ry4r`GmMzFk_5<)TO9ZA1Ir&dco1 zC*W+i+n=qCnpNwIbQ|wHE7L~1d%vwo9iqz4K(1@P%{K6Q$7iFKM6`aL&Cxc?>x<#Z zmMkuByA9$F=Xlx-DUVDDg9P_5rZC_Pe!|IMoqIeK(ll5`7g$raLP;BVZz=uVyV9kH zeM|Rqb-mNxJ&l6Y)AvCPEi{n_zhgcTZqS4qXGk*MrnpIFYQe)~`r(9~@S7Gu{&ps2 zYM7T`Xn&Sk;3f}3sTQgc(_NGdwJ&Bc!q4+Og~k?EZ|2uL1ov>bBq0HnBVIu&&@#sJ zq@A`Iks4-ZnqRXdTkBEK%M<|uB z$`XK(wnsELj!Encs;UeHMMd%aLF{>jbv-&Hrp?IsX(`YCbU?C8G<+%Mo1C{-KbZdf z`}wixV7B!ummdhs3I_=KytUT)zdZYYT+RY|UPj#gKX+%j6u*GiU$1Gs{^nnw*V{gy zws)7vZ(07p`%0m&?Yv7FF?*`|zqfo8DI-3}qSM#8bNAiS6!}{;f9PrXU?p%nRCr|~ z+<%YG`Id%wK{h5W_%j^4%h4z&lviD(7YQ__YC!aY?&G!+PKJk5b#@d;`uaM z!ET+)kBm=wV$j~+Tf7)q{V2`wuNcTi=^g(%*g*kojKh_63A;^*bcamInt1P@Q`qQ( zb(npubNgR@SnEQI$zCR$5>|oL#6tSUJY(}KpdR^Zdv$j4<|u^q=efn)?_T>X#|10q z(|$Zb*GYZheEe!8zWERzry}Xu>`T(W>5PG2{#wEN+OftRDccbw)-t~B&gWKSc`@b8 zn-LV&O%?`!U~s0-PdyPP7F2&Sx*@}X4_@V|!hieE# zvI=f|>b_f_3op70r(uRUgepSCI5hA6$rRt}+uYg=znIG28lvE~#py+A!RHrm86N@R zH6xTopIUjzfL;Cfk2(S&1l*y8#wE_p{(2Ag2Pr@zGen)zqGgwcXzWl#@UEY%7Pj!8>WzMcAcYWV8=c6;wGx zSjB{oYxhf*DgATUS7nqJ6^tfVRGCNNDW6}QN_{`4bp*sWIEa4aa+E(=sc^JJrp9R7 z&)f30>3#$tk04X8cP$H$Z*Kl0J+&XgK8;|SGe)e30LFjaz^@o-;@#8TRN*cV>$`V- z?%R4XEEg1x_MRS6*iFt`+U!C3=FUBPd%N9WedZ58*)5Po)$XINy5C0pri`b)vc0o+ z^AaEB5GX`LUiK-X?5or>T0W4-AvVntFAe6(Pyg5<=ykTfmM*JMvZ70t#Q*39D#TxF zSJ(1{4}p}e-=O0Q^$wZFaCXMT=Am6HcS+q6`R8mE0nk49U+^<7w)umm{oY<~|MSqB z1XwbEyv!%zGHpCHK2T+*ERW?7WKVQe$GuAVmGl*Y&^X($e|&w8Q@>M8`PHv7MShtY z6&d4i=22hXkWaj$6RsP-Tm$JK_mRIG>N5&6IS0ZN&HTsis2GRK`gkBsnGp@N_34>d z3dT0z+vINe5%i(aAFOFi!6wW;29Eoef#m5s@Dm|@@0~SfLjBTteFk|2IWaPl*^9Vc znTnE~Ij~K$aBvF(a|`Flh8-f&K=+Pa3NP+P9(F+jT_gR~JCv`WpGUl*Mc$x*ad(bE zQi8{N?VBv-7ZVpRA|JH+!!N#vubaX?kOB$zPfK23S4VblNTHkkHeRnL-I)I8%$PWR z;-JUB03{dKyI4>U;ELtJ*gZA=-Y{u^y)gLWbeYw4!GwV)Dm_)v?aKv10Fq`; zdM|HB5O!~9d`Ru!w4%ZQ(@w7o%!F1f(?;!d=P^sY4Sz})x-G=aZ1z$Z^2-neg z-+-;v?j0_P(jO&~8fCAcIn`sx>A6|3AsVh=_s3R)&fUB1<$`%}ahg$aM3q*{b(LDf zyEd*5w7k3$Oexg;>h+=9nLD;j9z-9Ua6m*|4xHTWVO(OY?vJlh0h6D>*(PG8s^}vK z@PbZxakpE4*}uoaoHrMpFQ`AR-MU(xd)a#Dtd;2FhhDif;34(x{@?*s2*{u5zj|!2 ztF~#Xx9L#l+)`B!w>G^TZioUyDnjiYLV8GO=+c}Ra_Po_xw!smHGs|5Y@}_-qQ``l z0yFUwEi0nCr)t09mXo8+$CFcFAp5ImzVS4R%)>i^;_CP({~jRu&_A|ARJwrqe_0`uFo$PI&RwN+-vo!SC2^+4Jtfw(#<3 zM-0vfM%ydB;;mA5@iz2Br9j;?G_HmeQ&Su7+q-*v5HUvY=eVA1!8La;+T$m`J_y+%fZ z%;O2O^fL|c%pF5kN@2Fjq&2vrea9)w4QCyyTaNf%5a&rHSx_+SD zmF|@E*dh_=>N04gMZfZJ@8nC)T<7k!V7xrqun-Ljao2cykZOLD>}t$|=Fs4LuxBXv zQm58R8(|X}qYToN=~qZ{W$XkIoD1}D?QH2IdEekK%CV2UOtYNmk*=bjMrKSv4eqAf zvxiHKU^u;4vS_8qY`~9kTtmUkUyEwap1B^wTg)0n|Dl-O&X)%Ma(O%GW4r4$>l1YN zrHJHWqlgsLx@Z+uu{lt;j6b(9uq7rk+UcBf0^7%Z;bsf3E2FO74>- zaQHW%sPS~iXY^WW4sltmC*I+h9>Mo!w8)<5Za9tDENRgYD?kv5=(GFlCEEUL!++(z zbmpn@ekKnA609~d@sqhn&|R`lIHh2} zYpEiAeG+E^R314{2!Y6m8_tge8y$F4#Ii-nT3A~Hb^Neu4)|#I=P3pMcN!F_pK!Y< zBw@D$`u)-3_=;5i2X`O$@yT~(^8!A-P&h7cj~-G^IFq3D`Ots|_m}l5mnAC&aE?o< zJU7s>kC=EpKc`V@@6b+TrG7EK`weLf+NhL)WZ$oU$g~I-OD2ax=gFZ|Ng( zB>(i}#eJ9viX`m*bPG zpNAbks}oWhEtKANhZE61QY2&&FY=_Q4)+(OYs{9}OR5tEJ#H{*)t>nIwCo>{CQ8C% z!)U%3&(Gb<>uMTl3lRdn8uH_{_QVIR=i_E z97C8m=>ZGO7^57Lx*)r765YS0uz__KROT^TO|rr*`pCZ1SZ(8%Qmu=A2kX5G`XKYt z8KA2+QL9U8ORm91IKnz*ody=OKJy;Kt&2WgOI?;0TU+Y)Zq=`41+ND!nTkI5%Zfmf zC6?#KgSUA0G^;sa5+O|nV}Ffle7KeYSO7=wXVq1n zQ+d~tx51h)OQJT-vh$FzAby-EwM`M86N*h|I~~(pGMsl$ewb7Kc>!VmVGHp zV~}vUtA@LcqL!`(zCN;{Pm!PzBTgetYX55tPM5W7hHt%O5C{Re+@Q`Zu6|H0{LJEL z+SouN0kvo=0mY(b(u`C4b3!VM1X&eKZTGer?DF{<8X%&3r{|LLjG2OQwjiFMEvwwc(xC*KQQ`w8}D3j)BmTG;}ynM6Vu zlDM{RjyvD>e?7V_q5}A?`?Kjg={35q1NhI)J#lmwFE=liw*_9aG_Z2_9`LG<&cjqW zdh{#Xl;z)Rpq4E#FgM@b=k<$*4$q7vM(UmQyg&UUbyWc7(x~#Evj?By>>IUb8rz?j zC>k%dS`zQHZ`}|K4a=xarn!{P3{K-loLSqL4>3KG(fsEg6BX9`3eAxq&fzc~#1fS? zWGUYrJfGvcuK0gI`_;SwvwB5CX-W5K*V`s8gx!MNdUI}VKpz&+_tOqGaE@-AJPF%E zCNHLk(+A#@@t8By+_5Jhb=M&1n;J|&r$Uks6E|Mvb-AaW*QUC?=yvBpN41mRd^pSW zU&4fk=Q?ij8Ht(7AmCNp{0PIza#@g6e@@jF=P(2_NvaeCb1WcBpy$nlpAXQDaAe+( z+|F0~OjyR0>qBTlligSuJwL&MEC8EgF*JPb+gwj0J>0buDha0o!LT;&_K_eVB#Td+IZhxC4Ata$mC#lk;)Rb2Zzi+R7AOecg=l zu<5k!iKG&BmG`(&-Re#Tb=z7pywE-VHaU!=S{a8TE0nY%ezXIkdY^r@FDvYNn1k{V zu~?>hiZ{iYkfuy0_|r>~byv$ffuo5sV3!Y~DCih3MSD-U(z2Unz=1GFy)44|v@v^8 z#{<3gG${MjvHO?iyWQ<)n}TStm5g;!)nF_@=FD|(VyPM-x+AWTF}!Euad>{mqXZmh z`X5I;RW5{@{L9un7Nf>r$n;Nn?T!1=!RN-0qVro)Q9*>M0Axw~XN#>o?r9v|KOMR5 z$`vPe(=wW^kMbW^SedfZXp*Fh}2fB2yaUeyL1Uhn?_)rGS68Zx(x@IT~2 z*eC1C!9n)^cSSX9&geamhBY%ho-`*g^jfr*c9Ym!i$i?VbDMORGxRtD+}gX_pW7Td z9C>_?z9l5KbC`1ocYM7J^Ny*90fguzw-dv6B{T{r3e`+V`Ty*i4+OIh)-kVBgz+(<*0 zBMYqTIRNbmK<_SJg5nLDi4nH6sprJF2I+FB;ic%oSb}+>lj!pgZv_tB*a=g94LWS{ zd;AWv)!rKYB)KZm2A=Wygq)8K6Cd%yH3!qX689!+_OywT%B1_u*kvkgr`&s+V=XNE z=NX^zeka&WCcd>Jk7I-o89?u=d;tEGJr_+B@+J)Pg|h9v#Z$#}6p`z~*&{7e^t_B< zFHkV#>l4@*R{nfj6yA?+aCGDO!s`Pn)Z~rov*ow!(%`=wQ|>0u;eJ`}hsH1C-9JzD zX}-@)6uRY)R#aQi2FH+u0zC$xi#9BVey3|+3d)M&->DP4Fva+ z$~vAJ*txg*V~nhdR-Tt&ej1cZAOqadGz7b_}oJv>%21yS|=yH2bu8S#SD z)Cpg6Fn%oR^#NZ?(Uf>hicx-8go>Ugq_6Yu3gQV87pb&t@ z^}hXxg!0`e_TA=l=SeDAFoAvZ2o$Fyh`Bac*!z@<&Az^?i{-)v72-D}gfr_Kyzd`e z+{scVTr=;aDx^lJEi$)wtXT+wbEnB1xLF9 z8uzU9CRe#Fk~N9nYf0ofuJ#L1O#A0dL;^p+gMiVs!A3gG$tjylVA_TTqXIHDi=vBy z>Z5|b(&EOgQH`0yZulHe`$bH>ejj=L&(kOt{F?a_D`VW~DU?d(11*vu_(6?qO zl*TU6#;REuP~PR>aW< zoG8VYp-q{cY+h34;=?CcBV~B&>igYIfyS}Ix8Ac*K~3EW>e1&pw)0R#28!7h!Rlh& z9jubP8?yK~OECE`|2ITT*&?Uy4(QY02u=%k$Ywn5nJjg`Tmi&fq1mr6+0DtKrs~*= z@iH#@XP?)hq@vQV*UP~oDS+?iViGVdzSsL@*}mtKEjQP<`bc&0eRj5_`J=RHX{b?;`(UV`D+wDhkK@-6(ed7ykj?a|PVA4UE6f`{r|Vkk@vQ z*>=!u59Gct{F*O3tW2&^8mXYZ+h z|NPg-dfK*tAKu3Hi;&;|Frvmpzn`g5Ln`{#smp_dNT3@BKycghQTJT>dfGcYh-uF; z5}UaW7hZchwi?{p4W4`b_T5-x#4X4TJPdGi)kjiix}95J|AhuE(Dmj~U)V^16sNYr z*H_*0kyhUwyz2weOK5^U-t*l$ck^p^_wEGE{U4*o{%S=p4wU5A+bNa>qE=P(4Cd)Q-9LMbnnil^|sIZrG}zU|3%3Wv@dUM;r8>ifN~ou zHr{}2J#=N|5KiXn;ru8<^7@aEZK2Q4)jzX&V6e^`N_ze;UT&@|xqC&sK2V>YzU?o` zqmux+wgVyRGj)bntlWD>GY?>d->Y9>=YU4i?H$VO-Hyse%?FJ>2@77Y-*-zubmgg4 zP-!#b$oQepEb&xr{yW?=B62vg1K?|D2XH?W+yqU}3z&P-u1M1GG}y4Ze1!ySAX-r7LEQMuk~XT2o0O2JYKoD2Ote@32Zn4Ppw?pGiPFll1@z? zk5sxi5#1w+EA${ImcZ-*CO8uZG~lSYl)}$7`^;asK&5zx6Mq6Gvwa#{kr8aZCjsNw z=t|5S3}(%26^^r2c!=FYE2ls(u&Df<1sf!7EB1b>?J4sYle$cRT$l%e`4<8REA1^@ z>#gE(aAF$0;Dn(<-!yQ_bX*8uxB95EG6P%I1Lo}*1=cq#}lw0uZp z+HHGZ8GGgNpt3eLnhaZLVW|Z9QsYQDoi?XU3c&w1_7`w+a$egbr}p+|5pd28(KXH^(@005EVqo(+;xO-=yfy%GuSOEoSeRNuRaFFpPb_ z$X$EZ?gjOIqL?O;W=fMdoW;kXHF!hA3uQ{k$FQerB=x~iL`r{ZH2YZ;G}ycE7`oF1 zQdV(Dk&m90gIRrsL;f*;cxb{)ajVypt!Vl0lqJsH-@}zRBSpfx3y*2XySPwxTJh8( zVDw_qfCY4yvD?ruKs_`H(&8iF)m>Hz?iH z4!5R!ywjrJv`(`wzX!^TT5J`bASmV-a$ZOmxyq;bpMO6pQ+)fDZEDhdXXg8$!1=?C zfH%!R6BnEsQBkh`rESR~Aj+KVqTIOa#YXS2DKE|=*PndhD$Ck#m^XlcERDZg!8vjJpl-V>c z%o>5eS?%qP3#GW)0oLJ~ANtdkh#h2DsM8uGLN84&mKUYZcZxK?g;TH|4gz|O&&3ZE zofF91B1n6EjAn#our4FRuHssQ2UI^$Zt#Wbn5i>iLyWIMgn4QEDWMOL8^#G7=*0>Q z)8aDk86lgz^^Os@6O&zu*PWMFCKo@LbpOgl6VQ?$xv*@5xI{#RujVA%Y4iPAJxs3` zt6Yjd6=jU;^mw$MKsPFbjd_Le!ziF-bd)?K~!SOt9QrpdO-k^A^jz-iGE& z&&5}tjphura2a{!t0ZIm)ya;w^ZcG|lWg>YGog@_b?gCsgFja(-tx)!Z)(Q~=5(GU zy0On@uKxyu?miQtCcc&mVEMhFb0nXx>d!d~3ykRixo2-6jCEGQP4{xa;$<=*fP;73 zTd&re(O$GcKTx~k=5oPS$~F7_@qlbM#9i^b0_i5SVXXDRU-<+iB3jhu1=*oaoM6*? z!mVSBC))jtdb?>g_jG4}1Z=%{D{i6R;Pjdeb69qgBs;?G=W}DdmLAdOWdrs*j%}FK zx-rthKvYSYrTeep(!u=x%prNkPAFXlNl{VQt1A|#7gBL*GST}$gP7e_{*HWsLT{u-oeg-GI$7d`f zzb*RgR!6RHE;A<sDk7K57!qHVTAhI!~!D@FHaX4p;h|P02sAl7uL=?xaBl3Y>hkrK1!@3o!4%Yb-8w^(niiHy3mGW|mD$e|2QNA}gs+-NT(KSgiL z6MhRIuSF>?&eKc7RC7ZAwSWpEPZg4H7jILIjkn2TM0;w6<%wn_a& z#gL@DQ$kh3X}oxL@E9aocjlf#MQk3Lg(||lP-E6`ToKqf(+o+2&Gh7?kYy4zA*Trx zd(@3l&y)RkGY^prQUAMS3kG5*G%U6s#Q^OAO3hvr?^u1HiWRW6Dp}+93_X=l) zFSDo;Ls^f2YUR{RvDKy|D<=LZkxQTLA_L!T%ip@Pu{sVWBFbmi?MPc;NE{Us5X#*#c9dX&J7rFUOhix`MxO;O{6&K-w``DU)~s^L+)ghW0#=hlu==>*qCPO16IyA5x`Z8m%Zrk&B_TB2&9 z<8R=*PIH*O{HsGpc5kPYXHkmgg#rOy%XAf#S5b5pdjcTtROgYyZbRPePiy>Vf5D1m zwB5P07ScTO^`3-v03lE)*MI-ju2J}&uLgn}UoE}yF-calhZVQ<0l{kACSszmR$};= zy!|l!K+l9LThp)2uU1I-wzHd>hd}7a5JC~nSQ8$yrY)j726M{1H`=YwA3pHPb!YL+ z|Jgyy_a)tZ@UV#wTYO`bDqWj4FcPOYK(NRj%- z;hou=`UqF8eRnoRH~NEE!b%lal6*CGm+)5XnuP6VYrGXh8J6lcV}-mq!7tk<9qBf) zJT>72&g|osq_~!J5y|atYu!n0tD!eGNx4!5COL^}DOox4f-oy96L&d;d*Jsj#eDD5 z%-=daE#;=`T>RBn*MG%yatd2yTn+cSZhE^7-tim%rkr^$V^nf`jO`8xc~2=%M~-{PNG^h)=dySniheMw<9)jNjrS6Wz~kB@NHFD2Yy%6CNn9%r!QrrJJw(M3LPM z4>T_0dk*#Y+ct6zu~RhxoFAzgr9knWVA{s}dXd-AU1j2wc6Bc9pItJoYl!Pl+FjOb z+AAqFm35Cjl~WIT&0FrirIN<&*It#NZMO3hdwjS-66_Gf>G(V5k# zKcSn|XzyvL-k*j8LiqClwE+O;h8~g^>-U6fR$%suHE~_{(wkR6;v>kc#?Vn`o$ZH2 z!M8{E@hqX%UBxAA2!BYR%lC>F59z-dQ-2E_=s9J9oG}%)?4^;-HP`u#|gO%xp?gcTKH;s=NuQ^M%HuC zZ$-O&6q-_UYbPU5Fdy=RBA2d9A>WENOlz1C1Y{h*&TPQ9+rr~GU*^p|?Ls>*S}j|* zl{LP<`dzIC||!Ktih{w!zpDkfgX0&jSns+Kw9j?MGYl16vxTApeN<9Y>L54dLPsaaH5`Y2;X}V7vp%dqyYebsmlVQ~MJPjUHZqw>7-{7VlY+2|h-|nX zSSJo<$R!X`awx;i!V2q8pX9K>>Gq?4Y9uJ9&GzDNP)+b6fN-tf+s7}L(5#83}czFL8u|*)H9AS47 z$#Bi>PLFof{X17%shwZn!0%Km)`#P;{xeNWzD?#7m%(_b|K$4h^;F|GVterKE3cFU zgMj3EmNjcTdz?POm9uS#vQzRx%<1+8CaRDw3(Ni09oRv^5c2MS%s1Nd=k%yaVKFR*N2zW;B|et(!(B~B4ZEV6H3%npC>Cg zSGtVmLl{8O?u9VsB0}HpWb`mhERnDzQr|uT`k%}xZqx(w?i?95!g)bRQD5XJ8y5x&fGgCSBEa*`L{nq5@BB-D3@Vkzuz zP~zOT@Bk&@V?amjMEpp~6;ppBl6)Q-Cm50XEzpI13oSRJns(R(QzrEMpkpRrF5Giu z|5wJ{&+HJ24flLN!|>DzbLl(Q z3oX4~%>Z891I)D887s1<%kvNjxl8~9gU{R-ERuD+o)*t&USX;TE% zrq|Gg6e8h5@53hDg+J3y)4amT5z2&_2!T=(>V&l~HG}ea>m2@h3$~4`Dc1qn$RF(L zvB#k{FUVV#`Z+zSHr6ZaJ?>GpA7AYf>B|5{P0H0B)!{*JxZedV%iySQ+0=j*x9tyt zj~>(%BY5X%-=?VnKQ4C{0zEZ&UP@rO>CQ8&gFbG$DwJE=Dut>WAiu#IIb|NZEPG4r z@ClN(by>-GH1bk;v|!lpiSHish(?v#KAjL|=9Tk2Mgbmb!Y{zQCs;hAxBmdH8>@nfpAXCviy#5V z{dR*T`Y(24g-O=XWeI<4lOoxVt#8h7-f4!i-)0{yYf}M`KyaDHfipJbEOH< z(alRsey+h#Q!NNRB^Ld?LY-!oLChm!?(f4~5x@yM(!AwUsKPySjym9^>HFq6RNJliHI09dDy{iy^#6rADzU4`#(_3;tnN z9r-(w+(sZ?sUEUYab8BGB9N1-&HJ+RJ2kAYtFYcF5=OfB=*IL%rUoOX;h__1me6)F z1({d7Nyx9NLgE`u_c;Ay(0I80K3;J13g(KiiYz`7ryJWlEJT&2lhJ0CU}YHDri*{i za!8VH1hWlftw2OcH-*+=3#k%b>zEneBk&nQfu0}Z9qx+~))ggz{X=qX#o@I&i>JFe zOXvu4mo7LFZdvlDoI?6KlRa&dN2r@-DoyJ)KU+PS;S8fw2|dk*4NOKb8Tjrdg8TnX z-4lD(k@4jQ#3C@bxOV7@PUnnTji(p!)|{PHSkL4_rL}O}bQ`ChtsV|TZP1yOd#Hok zJsx`x)A!7ZxLYiyQ)+@T$Va^uNo*Pk-10EE@#oF6LY&t=PJ6o)SX3HC5^2jKRp%GD ziX&H(g{#lZM7a$!XuN^NKSOr)ynt=p`he=VoXw|7l_5)z+UVWHn4AwbezuTmgCf$L z#bdiRQnhSz##_AG&c0d8#{WuCL+z#=a4S~x>{4@lH&WZ!*TR%?F`7@Tb-{}g<(9jN zIjGxR^^?M`4(Pym9Et9jMPI+hk!t!ZoS%-96N+x2EyT{^ZfT;8Z>3cLR7E+9SMEh( z3A{$F7Ep&&!saIG+IqBXV}2&|rJNV#k(~Kz5nmEH`ZifdEdf-#l7p(EPW1e1vW4>u z)Gm57G2bK9B_4v{HER5bVnieKKQE9R9vi9NNCT-fgoN}Lz8e?)p5ofxR?)lPR+B38 zB(yMRvuFfVv{OcOFe{nVhjN%*Dq^UUImlH)A8I2Tl@D3rDw3U_y49}gykzCFo}0z}}SN64Tn{0?!E zJ}+=kK1>KNdy*MN$iP{Am>3ligC{7kdsUQ&VWv8TLu^eqdy+auND+HovUAm%#KUjn z^M8zdO$vvEYu&dn08ffWl%Kp_W# z6~eb(A(zw~bmJARzuYr?JT;ZQf%kT)3ma@}n$6BeHAE-ajbziQVIG2TRmOlwX$mHqdRSaKz@ z@_A_!cG}T0@}l1{2a(F2l83l5^kk8ys%g>qqxfWwM&yby5K)QZENFz14TI7i4!3$z zv28mxro-hDgH@0N)f9bYBb((?S&M_l8o>i2gJsZt<%Y}F*_Uv7aplTnr|kLj`1z|k zGe6rNptu#lQI-ty*c6(jb!ekSDMV0}%3llr5{{4Hm%AXLoYArolQpV~msa-bB1N>s z{dIS3VdGV|)M+<0+|W)SWPM7|O%h9IpAff1d~y)pL6uZkPfo@v8bpEa-kfg<^fjwv zbs~IPKPorO_zAusGFaVrpkB`&0TJFkLccuR4AwFJwba1LY{jb0Z1J0@#6@?}7n(lbr;cyS+cFNKUF-CcQlaJ9dXX8t?;pV2;jirJmA5z4iIGw?{ z^qn!!s(ECMJMaNHdA^(ye3iV`5jMwm36L*1fhu+cE-fqy!-Ekv?dGRLt~{w(wPXxG z$41FzXIz`#H)vMX^&thFB~v!8$q;m1<9Q?RI}va9@kH}Nsq_8j!$n>H3JoN#j(!Xd_t%Gf3Feb^XpfA8RK8Z0!I+7lk`(njW%vat zm|5Zw76+PbA5h!z1QpIT;2kq6BL$;>6q7AN0`oS-3# z#-r$W!4)wSkI&rePFZfW=!qE^$ir@Z%sKxthK4gk!}&zi^?XX-5hZqT&q7E2Gxc6$ zRE<9xyh5dw!*I<6FHR67G}@FGG1ZUgJA3`NepY>ulqzSkczZIuv2hY96IXX4T(=!@ z6{;CIC57o`u+2EpqtFS*hdvHDHke&m3`yrrBt73V@y5QV{D9I)iwp?qe`b&knm4UOS2AMnqgO&V0F-)vqpz4=-Wm%Ti!5^-2 z@GMo|UGyAwk3)7TK*FNYdXu4LbcHcRZIIqn?(+apTH?Hjd0gkNnTtW|nCdD1ay4U$ zD`j)a|Vj}rO zBsOi~n@HhB$?>U26BBTTi~do^tK%_mZAZKe!C&`-WSE$lslg&tQ3c2=C0ohC4SDhm z`iY>(EX{~oHW?sFGHK6^dK}X6&lN{tXSpOTXLiIWxyd@o+mKHhJbbzcPNQ-dV6-VT z;`=8Jx>6T;8feX~kRs3Yx?N5%tUrh%`b%2W&E9MbZqIXD-?;FHUG0RWZ0M#5EOq^r z0cF>N97m)i$`>zr4Ic*qDqYxbf1VyM3vF#G$*NXh{G?z5B%mh%Kz5y*LlCC_(lu{P zbDDT_<_C*h)dq2k5Q3!8!++T2{%KV%6mEZ{hT-9k09L|FHx>YY{aIm7cQtH%Fi~#Uv8zL03Mqj*UMcyCy>#d?mMXd7@VL^u|TA zH1PP{7Rm&44i&=>)SmMHi}FA+PNF;hspjxOGbtFfF{KI_ZW$CL6x}F;b$EJ5Yn5cC zqhnJ66(^-HF$w`?zHzbSa{1Jz{@b;yryb1MpBir(T`gl%xY5xAD8;%rMiBGy1AZy( z_*z&75L254AsR7i1vf7Fp{RscQbmYIe85Y>QtMMl;)@yR_Ii(S)(Sy0X805mm`$~B z?{J`cm}M{MH=xLHlFi`43~SpK?ZLicfTnR~HZm05NJ*W#sx;zxXCsV}Mc)n$1vA!_ znd+G-61X~lN~)112({x0mGuL1H2spa0s}JrB8deqVY?uj;{b7!dy0QoBU=` z0s2+n^G6YE@YQuP5!a=SEMZ>S$!~)E$EpwRt<(7tZB)6sgPxuhK9&>2-u0UvN1{tH3CI>Qsb{7BfgN2k@dsrL79YvuDL2wvQ}-ObcDx_piqqZIlU%KlsjUr zRSeFp2PBJ~$pk*4XqdGFWo@vvwf40o8XB!>%Stx3d{`d&Z2^mQ6@B(%YB(S9TLlCA8~5}t2lw&XNer6}8zmKlhA*-_^w58M zV>q?4u^rn0^&Tb=QBB6BRs*kjl#}bLEfrn+lldAM^iOXrVf}GG?%oGiw4f3JO9x5C zIY~Uj5jXY~LH@v`uUGFOim76L-ML!c?9KHN z<&#>=tRcf&U=ZI1b`kQyEvBIF<2R#^CjyK}!0wq&9=#5>79 zM@#rv+9%e9>vRf8D31lg^(+I4m?pIbNsBh-3SKyw}EHU$m>a&OpIh_dd2u0 zikv0ZYd*)WRL2vc@WU-4NQ**J=$Bh)OSM{4h#!Cl;WP?nFq5~cH0;w=$)FIX;xp^+ zZM)b1n}#dT&(FOCqH@)!8#J6X<8_{7e2=(rjAVfD|X&p&|)s|Ok`g`ZIhSEL@PSmC@xhQrX#3?OzWOf=|DIO1jXY2BBPND`B@ zN!_MdT>?Gem*s>6B^dd93sjUGjR-;3N`PDl>e8b{URS~T^?#%Kj@k z98(p$5jD%?vv7G5$>a>lo*gn~KeMS1N(d4t|Gd4{Mi-Zx! zxOxuG>>?e$?7W@3_cAecI$*LHXuaya-yE(-ANU2uM(w#~9oP2= z{kj|My#BsiPuC3sfbagvCXJ#|EcOPRHQj&6EAJSr1bSaoIutEaSY904f59>ZWiS-& zz?qWDr*bh>oZ0Wf$3a961gmxCk`u$*=zJDHId(y>AX@{@svnBH@O*&8of{60){RUO)@e1sP595Rc%+;|F^xKr$HW)PNIm0lK5)3fWZiH zr)Uq6_H;V@`=O?GBvjrcyr`t?T)CDrM$9f($Qoc^(m4ZynC%{q(er}`K6ZHrFtW1& zD?}Ff+VVeM%m0#OeMAmCE%C>tHkxT*^0<&H9Gx->j4}!c3E&Hiik-Z+$xg>lOHPl3 z&jhP9#G`)~-PsLeZl|J4Ep19)_5M^t*Gtw?W(n;aAtwr69PWu>dL+l6FsU4TbN4u1 z-Ta>btO8U0;Z8eT`ExXjH>(H4HD$qv2R3I4&g>VI>Hz?|d(Y`Z^YPGu!CJu&G<#=r`oZlG;o!=KCwFm3| zFlk>TbpC)?NIl5zvo>B2(P4NGL~Dzzh{N^eZ8KV9zcyNH$pcGT+1IGuesfL?Of5Ti~oUf*}jMkOaPD5UY72tlHVlZWtJxKZ7TqK z_bKhfYx#kItq#)8AsRAN%!`^372({ej8~jjECccmGd;zIUsL3^$1A689x|Yl0p0Tk zbbG5;Y`lh>%6I(cGlWh1J&FS{l#D)Q^eLmy;YFW+!fEvZ!6z>#KKATJiRVvy825Dq zkSFb6C;@OMT0MWtv&Wvtv8QVM^zpaJrn;M4g<|9Hy4SBI{=S3Y;m6-JRVib$pW*i( z!9{pl{Qb*6{!g*_@yD)heuWQ7WvDGfZ5e9IP+NxDGSvPj2({s7cP(v}rgK_fe9VQk z58iWI_l~t+RTJOT zFq$vZb-uk=ZoP%CWo6n&$X6!E;BsDVW%U_4oFP{nPZxIJXw0RpCe z#{mNVES}F#BM?PeU_{J!DsX6dw8gzR1S>8HPzV~VxCSQ>w75ed zxIWzX^S*1nU*7pJzkTgJd*-b9aAvJD=c0*z@#4wj@$A9M+RDz-+}+yB)WO-t)ZNw2 z-P!38=9bo`c1~6vmhR53rlyYOU%y&gaX4AoyE!{O*>BxRotLk#ziO{~rb@%9!4cId zR+w!tZOUARuLUFeLz z*!>xq_qhb|T!a}9;Pz=ax5X@)zde_hgs4^C<=YllPpClt+(o7VCM;7X2W+78plXv~ z^jG1Ct(ChCBq62Ine615XaP`P+wbUyH&C1n^{mnECbjUQ~ySe6|^B z&q`tg7*!bh75BbEomAY$$x4x`lES`_daCv?2wO6OI} zFYoC=kCnPIY8aPdoQyzWanu$$C#?Vjqhwh2aV=}066)QslUbQuk500^DD)!&(%%vF z^Yv`LPZdEMlb4izUw=hqJd>ve#?Etpp7cA(+7s5?G1CxC-%N=61v>J@%$}tlXPuRF`WkA~-5ik)AS8UVta6TsEKww1 z(!1-(uwX?075t$=xxeE1bakl>kJ7H2rqaz^T2$)LtG=}~0fVvgD%Tn4EhbN9_4dSG z8jLuVg|*;IEw&WK_q>MCnNIS#^85!+pt**BUsj~zqNV)@j(k-!Jyze8ZS^vvbJU#d9Ai-{p+%+$hy zG@i4x<37MH%KJ7eC_bsfYPHo+fQep;9~BHm@`=LeN~`KGzG@7CL6+6#(&1ziZI!Z) z?kpQ&+^jVW4qusMmPs>sdtpJMCZ=Lk_LWf_Vd-?Ss)XVelaSe;^y(*Eg)Ud!H z;loDjj|kS_xc{0O#gvHJ#r*W&-MU4y=b&2izO|eU7<_G`!)iTrW*zdm*|puxJ=Y_| zB!qbP;vIQd2Biufz9NmOsFKHA{|$HI^6&oV=kWtY&cA9Z2mP@@J{_n+=2pb+!maLt40a$LQqmab5E&ig}8n0QdQS6OGlsnr-On?rLyCSSK zsgt~XF+Yg*NZ)|y=BxCB|4s7C(Ok)UwG#*`rsa7RWL-S@lhMek z*{)4C`+2?~)=g*oG0saS^Ne#NuXnF!6I(AU{(2=h90JlgLZ~u`_am?Swkry*@7Gw1 z=b-<5#VCw`@Vz{4{nwSlJt;vL-CPyC`WNqphb7OTaPYp*M@$6c;Gd|lZBY}s9OcPJ*N^)?PKXUm3Jth9Bel*DKj^5q7gU9ZF$ z32Q7p`XoLo`Chb!TolHVg#ifg{w5*rIAEeO`Yq}3R`G3z+_m{x1R99hSk1qzV@>eQ z$GsNa*FcKzlfnp%M;sMDZDpGI)U~=Ta!_?>r+uV+!hkszN{?mzGmH#Xl#l-*Gc%^d zRZVzrVl|K~)AbLkR1H2j+2>ytAYtSS!~JZ0>~RqT<^&1QM8gKlufBLvmklcE2fZbsh$ButCIg5jiLq#dNXQYQYz!ZY;F`C@$ z(bS}utj_*xCO77?qUx^kgvmJ)ucW<3q(eK#)M%=A_mV;pzpj4tfu=WXMrDHdj?uS5 zQ4h*N8QuY zZOyIG*vt$tuEk8Bj+Gn_4CNy&(`*KmPa$;PAqjn9veb#3&o7^lMOb9_(5e(6(v>%z zfr_H`2pSkRN1g#g%iEs4U5?3QAwunagM|!M9 zl;Z9olVPBq;9br-LoWl!f>+7|c+rxOPf^dy6CSpTjuM{`FL1^uE|MI>shPR(@K{IZ zI0`*qhOf7AQ=FkMi-aH&B1(x?jw0uvYNil*X{MU;b~SkoUy6_{Gc0Ajps0ZEEeQJ_ zL+q&Y-OpGQ`a|~yetLGnVB85pX}R}QXT~AAO_kvk33|>DVA+L#6N#ifwf?5#vPaOT@w+YOs#3kUvY1uMni?4_ci^Z;j80dM?J(8g zP!3})G}{rQcD-=%P!xE#d_A;fD*3PydUn!4*50Zebh|Q>CV788->^(68TfFv95jA^ zk5qfORCzetV;sFd&McC=xj%~cO3rK6(XTv~mm~3L3;wmXN&o(cj>Wk&7QliS)Rij3 z=VxI&>Ne~lZf(|(N_q-{mbNQk!ss^$3uQfS9` zf>f}Bwv+axgsyotryGKdF35t|Vwa!a3A71Rb_sS#!g}hQV>df;C&5Q7-n@mzq-pC{ z;%PJ{BTSM#!>+H>LtL0lb3C@g!|k51;(k8jn+p96e=9f)I$>;DCKB9k9?GDrewj!F z>#31^i9KQ3U|WO%ei~~!eHlF{5iqb{UsdQ;6q#y0^2&t+Yk1p4E3xtv$Z~TZsRKZ2 z5^bz^cq-->riK#&X{3V4ZxT+O1n@z%T(r63jOMDcQn4OZ!haHR*>%A9?@W za&F`dKVTj{4VhLChXBv%flmZm%#yjQvceTDV8`2gnp&Q!$N~D2N+s1reqkNeB+9XP zjxu;6!`-JTAo~>3pD)V4En4t!9Fmw3X$jKcl95I*%V`c(hd^U(dJT+!iXUzEFc;;4 z?0%c9G|x}Mx$N?)5C%RGyM(O8W2yxop+*jKD!B(8C5A75O2YqDp8M~ zGO|{nN9K+N9kQ>5K*2?D$T~^(O0_kS@nk^sL*jCl!LQ^~(=R4NuZ$c7cN%?5!V0Y3 z%Q4qy_}Ov+=jd43LHZ1fvck=^#B!!RYC?wRNw(2PaGZVc3NC)Ka>)=n6McKY=2K4H z!=vs9qM{SF?;995+9;)ARLCIV9T*qVjf14F+fp+sgtE6JQB_!Olongp#wQg7Ru+L^ zZnadgwP}M;wxiG@WzxWR^yf_k#ZYOK)|})FhSO-FMKw)ka=1tANhP1B^iuj2?xOrs-!Xz7WUFt9)s0^--6fwRny0 zTL#wH-gAB66IxCy#BB{c7m3Kt-rt%oRlrt0fq$}TpTF7$T{kD*<=FoeP|^e+(UtK` z%5|&B*t;5kL505hc=4|$V9us`>9RKNGFg0&-n89cVdP)#-MToqv2}PO2d5J>Klf4VmmuN{?0E? z=v~1|_It~Ehl1Sy&MnnAg@M9e>0EZTvPbc={k;X4*_|K9;$qYn2gkFk+S>rThO*;; z-&StXcXwGdhD5rD+Xd*Xe=Bz%p;%VCy6P7f;r-$N!l&#Qwpt0Gq7^9K{K~VKDFy@A ztw!J0c-i^CwCJouac?Di-mzB_c$P`avdh11kwuG(WoAA8$SBU9S$4Q@d!oUX7I)~8 zdBeTdzq4)r$`mJ&cl)VXO~LU!Iw)VT{p7;*d=1CqXP_Y%T+^a}uYB;UE|_yuf^uc? zmbZ>MyQYL;t7k0kuxBj(u!rlBT#x+y$lvjYYi@CeeIX^-IS{RXQ^exT9wQKo2!kM% zr4-G*$^o2G3~D`#*`p1zFbWpq-vz0~-V=D+C#uMsev$kd-sQFY+nq)%=supN?WGvc zTK5`G8gDhpuu6lbo0>HJ!UlSS?U--OWHZuB)bv%!^S#EorsA3hNrUYj9NIgxVj9@G zjM?s1@ja8e?Wxv*!gu?0m}o|PC5gZjc#!Pxj8034h_%1)jr6sEu)nIWbmphgBDBA- z-_YCuJ(z{opk&h1@;ETuUED@#pd#)y&%iLnNS<>Y!9D4a3Q`qO9Shxl+2D6@Y-sYMk#l@6Z4PUwBNf!Hb1q)`g+gG zRr~;1i8f6ZI!N7>%ac6RsG>P{+O~b45SD*JS4yIw_vysOVLZPd_#_tRx7R2w$Hp(r ze_3?l=#vV*=%uKv{mR1B&f}{Q%RMLRKRbXhhqU0a2yXl$^S5^r_@L?+fKNdnYbiVe z?FziX@)7kZSN+)bdaop`#MP#518dS@;tuy?>?ejNV@sChNCHEdUJsR!$Zo=4g+r0= zdRnIVeKNfIhnN^GNOljizgiLBTd-nrLI4_Er+4EKsjdz}nWh)1`y~%%FNXwA$kNhI zh|c>4a#+DRP;d^oXDi8E&7ttnc&}ALc+*=qnT`IK26EcQ+M0MTlXm}UU}BFm1atCf zAN0V8Z>-W_)w(&UvuGfVGZmPDka2!%>X%g1u8OB@s66cIV3RuwU>3-I<`rk0nxz&m z+J_pfo(`%)2!eNWGI2!h)ODa9qZQ%VmU_EOvy7f{u5P)rDTszkMcf3M;?8kZ}YF%vOAQyJ+%j&oWFc8%9R(CJq4^}$BrNHAvp5Wlt%G#&c?I(5DfWg(N)Zu z`CwNHV}kKBS9cG~Q->3^FyjI$o6ERlY&a9ZHoAF_w(LG0~1G zofPY$`RB6^brrM!N(*|m(WUNctmwTca+{FcM-Gi#BDK@cig_Jg#5b%-0dS;<`w~pC zWXomz1*2#L2v0dvlgzR?3LDFy`c%Ub-QP5hC>0A`P17lkLYt;}MOvp?GBDvpZRx7a;Q4KB7ry9jsA2_Wukpu%sQXP5RNi_{b+J>=>ME(*MR4-kLa>{BZj=D3cbt?bCF2B z!)bX9Y4{wpLKM(gp=Y?k{PBNsAVukl42dKN48-td&c}AgWYT8eKKJEax>AO?HE8n2 zR}bY*-s6uSLL)a3BPK=UYYhpY3T+#`&s$UG2`A&Ny6s2=>YoO-oC>5X6S4@Mm0*}(gEVcHkqLAG<+XC&`NjBNCo1&PTlHuDfY$Rx zK-LhP?wp2~G`vEbbCg(D%Vy%nf-h7-^fPdXyiD%OJNhbwEU7Mk$!s9-etnVg8(Bc@qJ)tx$^aT=21?RV0w_XfQL<|HsZARzUdSxxwxekc$;}s z%bI|HnU%2xO9*FM`A(BFsmgQsrD%juR+4?yY!G(5($sBwm_{gs!9OOv7uNYHiTCOH zM4Yvw=~OKJic=A5Tn#?J4qZ_DlA#Q7zB&+%oXI$8;)QP4Xog9w#2W%^SV@}1Xt}j3 zIqek+Ylh&?+r!Uxn$fl#^hGOjp!OsY$?=-MBKWF!TNX)t)sAo_^0|bOzN^r{t)bNC1td*ycH9N1dTkOOGc1O1BVs zt&d-Rhp8!7ss>_5oJOYH<_Ra=6p}1;vM2l#418yFBa>slAL~=YnR^>cER{C>uel$g zSw6GQY!@8&*Pl5`+1e^GSBdWj{<81N_Djl6pk$y_fsod-0jucSw)1?mKW<8s>ysa5 zIMsqtXZH?VG}yc!kx6NzM$}=NE~ui;^|?fO;uxFzpBDsI_k*f|{|-X+l094*MHReF zl1~|`brSmB1cXkYKV;`=F9yscfU4*xQg8BVGj_$|>iOUJNJqJxUJC&@;(&3M4zUHg zC)|5$+fDxKu2f(@ssgIM%6QAlRVI>F;WL+gJQwXIfjEoxH7DLSe9y~}Ytdz| zlb2q)Tj32`_bPutT~&5Rgfu9)GTbG?D2;9KgB9(I%;QZ5&`NN4d1VHky={C7gyysWK*tQE4CT8x1^o@NP95Vy1s9TNiEz2G} zz!u_dZrSKq@%r>v&J7z&d4%Vr)Vy4UONkXwTcx~YSXd#oWW*QE`l8j7|BRaaa?6-| zrqV-e4aLq(ipCE4`B8=Xd#Y)8gzV&?BX4YnvybCfi4JxILG_mtSG&>EmIetmB`awV zP4D55yuL2ZgLQ7oFC3Pku}cmch%)lUakEX%W}}h&wWc98MX#Hwu?-9@2q}7Fa~G(# zE@o746juqbvbK)kZu+Ghp;0USad6v1aw(ai4(JdiX6j4uD9v+u@ z_1eb;z|@^T4{9#UJwF`lRQC8Z63T2?d^Jx_q!Qufdh-eAU}D4GNY&RlIBz+c&@PNL zEo`6=Hxw_tmFa-VNPgFaxbm8p^97csb*sVKHFYfRMBz+))yQ!f>UMu#^KumdDq`w# z5Bxer`1P(i(gZ6z2vTe{95okAM1KN{An4y>SW z9w};XL%7MT`1Kdf_@7>^$vG32^yvSKD{~o7(u|l$?TXZxMN`BHicc?5sMZRC!9q*@ z+HQ~M8f{Ck5O?67Vb`%hp?%R;#guZad3j6Y+YbeT%haYB@{M8Pn+RYSYw9z4xbmkO zUHec9!#79hS37s#{J^0}aspkV{zO0?2ljnVmZ$v*%q3^N<-Zw162pF-*KmQQOYL4v zEOhGI$#d#$nk)0N^CMBpw*39EyDnIZjrk!wvfsXMyH3e8z9el*IAA zRC)b%l#Haw&ZNjFduWDw?X!ih6wG$QX-o>82hq#^A?$UtRW0C~>o`>oMjgaM8r1tF zfpd`LqWetOr2TPq=ybAq2v{{5)4h0l8q$Z`xTc=JXOlRKQmrQ1O`z^jKDDb_cqx0g zAkhbC74-g&q73$9cmR#K^Dyat>~~Ek)EN|B;8-s9gxeZ z|=V=OnPg9En} z&F}UznXBHeN+`Z|Kk7+u)%&@mWV&Kte3b8Hpt!G zpS&jQSFGSdYn^ngsRy57oX77E0&3P9Zd`}Xp5vIzqXlPf-W@uEmyNJKNXFWM;+bk6 z{_+HxHf#QZYS(x?bBu9=z1Ivl9PK?$;iFM(2g$b~z?uFhLk*e;ezW?lb1gSxRaqvO zIjR_wB$T_~3=~t7hv%GrVqTD_SF9NT_)5*c6>-2?Y>&O$UU{FYGQql0N4I=Bilzzb zvarP|@I(HP*O;gV2-I{>-~+CuM#|jc?aL~y5{a_{e2)eNhGpGgQDX)*+M1K5`=?~0 zNVw)I9}E(xp1A(H>9Q(csK{S;0CZKF@*y%={`#|kl7-DgIY92plexx1Z+*1(Lt34g zb_l?72*CWMI24B9Edu!_WV@EZVXVj!c@}zp*&)rM9*#4uL#jEqgVN;ytVYf2@+^DE z?zL)O+MJFKiCz0ZStpBN@7WH;MtuV4C$pp$tgh~Zd{gB5uJ}u^e$lTQ&1>}m#uVAM zE`W}2(ZnnW?eJA=x^5^wAguoOOLgDxO>IA=CRU;8C5x2am@EWfM<4ppT6UrA@ z5i-eoHM^mk5;A=tUB`42GjrupU2hs-ubmsGaJDluQ&Of>w5T8o>As3shb}JG&_9<= zk#u!<`L`}A*YI(52mn~OPSrISAD`%Zai+Enf_ir(NdKgau ztJGhor!47QyiN>ve?y%QKYsT>olH@F4bI3IBDT1Ib}t#9h+1)u+A5ufo6u%by+>Y5 zYDTdgub-c{zECR3e%1*Yh zq|P-2)Ry@VbZDOinD=*GdTyHR{FXmp$(P-czKL#bZpcnjal85kAE=6;;1mm(Bl1w=h{eH@#-qy+R>RyE7&4wDY}q z-{4yHGx|C_TD(@UTmEaU#9DnR51hzt%# z*y|L4rkgdI^3MljB;IUKujZN_CRK5eVd`ecwD{ET$yk34V+qw&52MwiA0EeR zV!jW4%}GtLuapSXziAMdw}9#xnx^ZQ6K$0ylx#eV%gG17wMQ->iQ^h+&X$_l|h@J7NU8(w{ZbDX6eJB)jMzU+z=5V6gXD%%oTHtBE zeYP?-f^L>+E%Dd~t6$3oDS5bEvz@AZkQ}Pd%WFOoiO(R<4YY;jXcEeu`mOlAGzI2N z(8M@zb>@>}vyPN~=hKK(UB=XBg!4>_qq`TLB~*PW+nqzFWm%YN#^Tj&uFKO}RuyaP zDs6@-?=M_h*0-87xw_cuRfrqPuL}R-Iodc+QKB%mJQBM(5S0kK$Y~aIy6@qSg7=nQ zUZ*imJnTli!*6Gj2U-%}UQUh{eY-P${>BqeXo3G%JNVCd+*5v^nQw!YPp6Ha+c#rR zdEwdaQ;a

zF?{E8N1K1eT5#ARY?I9`3qkB*lY1iW}VI3gtul)ZWFQ!_oYP3i6M? zOz};X@9fkTm>IktM2;Q~@hz%@e>_<){&RvSdA+wEaH0IVy|Qt4cmH;gyd(vevn{`? z?+yQEmdEI&T&MruAX+%{?P$b@XlKZT_~Ry;{YkVbyd#i&qRI8Sz|y2*oO5vhQN-Y{ zPK0us5W@T7@8(l;*F^!gBu|5XPj<$A$T*g*))0&9DD?zB4GYpFRr}NJ6Xw*;W}E@> z_I*t7r~ZS-+w(I_Zcd;Y{$(uQ%j@_@WD z{AR@gv0|4A5)vl{PhVwm5wmddTiqx3I2!?U`z2}qlYfGzsec;%Gk+WT?>M)qgsnk? ztGLCab+3Ohymn?qYUhnxv2ah}!OQp7hEF^!zg<)m{2rriR7$vHAK@cStRT zpie__7KUo>liCjGKzlL2d~x1%l0S1hL_m%A;ZtjJ?mM^{0k^VBX%{aT`T(>Ue^#9u zzY8{=fCG`(QIKWnAd&bxw%vFP`JEVK(j&-@bzM>(+TUfUYp8rcFqB;MN3?%eZ&%Xp zr0Kd}lH*G6vx7Uejy3noEtfPzIW)qfmf6QMFD*IaE6> z+H3{hs|}Oa4f)Z})^nUyIhiA0`A)bdHQN&~L7H7K8qUORWZZw--(gj}eWzOGKQ^#E zKN6}Oc3GJmw`Z*Qdec}jX2qTItS~Kh6`zP!^S?xn2_FU@mSSCmgTsWBi<}5463T9?dN?^rof=DpkDq#q`We#LN77~qzw;2eDT!^t?T6AmFP&XJ%*2_k6+ic1+68U zkN_fC4zR*8T6kF??a(uZa3~s?9gVd|jUH`)r{lfv_*o=ebOTuSa+`?R>n5KW!Ze6{ zpYkJ#FfBDmWc1M`+`7Vu*wx}EhN<3+D#>hZriKv218Qz>Pa4XZu5luzuh!{Sp1T86 zPt6q}CGCNCi}5->F)d;i%j>@1CzdgUDqfq^ z(XXa^1i@(`ia9AES5;(^clt98=Rb?(WyGp3s?c51vk@rimUwtjio3b{Uw(}miW<8+ znfa5^5g__YgnRZBNp@~f5dq-9-nbRawNut^9j|i!O^gx9RWY>hJ-uD-spo-!DEC;C zGn-VHf45s}VXeyXC=0xBiU+ zvlwd~Kn!N4nv2Kzk(G8HD$QUK>mFMJJzfN4ayq4Q#NE-|0}2&2mf4{&nBn>Y9&xDy zRZc^+rXi3S2#a1FgBO2vN^w4aG@zKOVPz7QOsc|8s-gj~RvIpmK28Q46QiW`dvru1 zbnJ=PeioTp=l@(SF=byv#}?eOg$C zgQ=&KB{Ze4*iOTX1u)($Z4K}VDZ0|y(6Y7uR_*hk)$9PWERZ1jiPuv|2jvIU%t7gz zh3U!V=+X1ZR=O$cWADKIBzWkSzW$cU(#4dk!B@`K@(yXEbH);OF02&}=L{$a5>Fsw z-eFi@0D(P}L@s__DdH6Sy=0*|wC_`G_c|kV%iSTc&WwC{&ogXVWUQb32cWuPT)B_5 z_4JjXbrOgF5FwM++*B5K!IdPEk$19!-prow7DQwE!$s`pkh+hI`H8xyR{QUwjGp_HygdNx1Hh$7;U*-iSQ8~F%tBP^= zcV*pE*p$--GP8n(lMLw@@G_M>;)c)UG1QrtR-o}ghiXRN8(9!`)bO*R;h2OSuVS4x zfaWX>X&h;&Ro~B#1rgMR4f1~1FYQNdmHmq9>eN9}elTZy>uLJ)IWi)T%pNc$^n_NJBFO)^RUu+!p)#@bDereC2NWN-C9(73_p>o zC3aqMt#!gL<{S2>e0A)qCiUr}5f8ePbF1yswOx%M{#N!%po(Piybd@vNP{}BFEXxEkO`*P^J1_n0T>~ZE5`?EcRI85Ouufkzpv$%BF48S9Y7O|(neOH* zZb$*3|IjBm4MlihJ71gRG{s)pCsONsnp&!`Tufd4vh^3$&ELWC`PGZ@hTW3seRaXP zRThg?N4@p%r=UfLXs^hOym{Ygf(znZT|<9O*!LwV&hR;_(s{>YD{hQmrU_)pqg2$< zC8+wNQ;_w0$M)=x4LvsU5(yQwPDrx=xYNdWHAInJzNW}Tnwh)u4=Ry{A{4@_9y z-<)a&C3$5hhdu3W{C7PfZcZpcnX31Rm{i(edKCZ|xBw|r+G4#iZ!v7%MK zFILAYMO2())c}+6YtAC)xKflx%#iVzg2Dl^5I}JxD5sEeefEgV@oTUxDo6DV(kV7c z25z|C$<($n`3+ab%>aHovk@k!7^8GVLJ~Ey3%l-BeJ=6JSa|0wAoyrMS+5k~>&iNX zz5ItcGX`<){9AhZtRANBaW|z~>WI!SSiDOq>2lm3pU;1P_uRxsB+ECZzO=6q!>Wek zASw^`mz-ao5?mUml94QlR-FaNE z(nd^D#G}sB{0-oSr2~S20BEjg%ZXe5eE91k{y=#4(!1+Fcd}t~6ngXL4W4tY9sOez z=Od0mhBipBTE*9Ga$hi&Z&+a8OwO+Vw?3b08!dQg5WM7lij%|&AS_1z#HLrZu$do{2QH48IPa?q{d7l5J&Gau(KWO-dTXxhLM zZvX#ZcD%G6Ympad!$oXrhHaX@M5dXoQRabDjv|cL z`p!+%c0t;e7IroZP9)$g^`1&k_X_d9*OwPp{OV1wST4R)aR{n6v9MfxO@Z|YdvYfvbhtg(D>z+_)6?# z2sL+of%n=62~<4u>TOv6S3uh?*s2&bsJL5Y9`yZbP{&HKpbS`LYfQDqZM$MTH!$%U z>^%)OoA&$D(c_@9#idr`rvI4tNW6wqQX4tE<_M=W%0jun*&-GVM?gx{R*J20b>)a)&LHxRdog0@wa@R?ZjSv z{)R&yEE4XLnBC=Yl33evJo{&FcG4TZbh{?ng;c({Vg!nz6VcV{`_=UDa(fH6)S1j$rufm@< z=9;f*G4TO8BiGX9IBbQe?K_+%X?w56hhMH5%Mj^ZN9Mx7KhhMjIhVPtg)ZUGA7&QV z8xQs`EOT|>ZDX4RxQ=y2W2i?o6pft|;2!Y#mdI3&jbvB3m$qWL?Zu|KD!r;4Qs8Ku z*e1Vk`oZcY(HYbgo70?CUj%j3_&%5ZsfW0(ZyM*;PRE|dOZlwdOaBMm`Hwvb9C`(J-D1*_s6&=YX{eS zJ~R9PVjnGTUAvgWGiRYj?$}TgcgtdW^xYN zOv&l*t2mvGisoe#4Yu2RFKwzVW5^l39)z`N&S7AB6Hv)-=vvW~xQ9$Na;{vLhtmr_ zme39Z$W4ILV+q=nIFC$SaH?Eah0}Xcur{#^`bL}saO(ZTd24Ztw)C*6kLx%L?V@*+ zleDtuNTv$WC!!!P`zUnO0+8f~z;W^)dz7^F?gn*aN5vLXnc zyOof?<2bsWlZT7&s7fh-9-$_spbHnNc~qW{cvPxz5m(jEk6@&&sNLB2;?k5-8_-#% zXg@GCIy?9ms^n>1+sHYmsK=$u+Dj0Nqu>~wI32G);A@x+3+e_qp}O5vJG$K<{Kr{Z zT*p};6|pU1Ww8<<(Wo#M(Wu@3En9X4769_?wuoyBYr6w~$@EGXJpUo*7z?S32O{N@ zwt6?}9QHk&jE>(?VoF(f=ks|mR@$ICIcwBF>9AAu;C_-i+Ao1XvZs1L230e`gW2rD z2M*E1H~Ahj_-ur=$1Wt+>?$yU-Ee>;Lk4bfIo>d(4JbFP7> zpBGQn(_7>(S#?e~N%w?mty96>_L1^1lx<mwEq#^OD2tmbb=G*Yoz_Rtpy4-a&=MG(68r(`NSTI!V<#5q9ne;u8Mz-11sk z#_|d3Y+J|iNECH;tu=R9y$ydEguPlw2SZygG+oc8F&*y{TV7`!TOKeB)~;X&Yadve z6xbu*zt);K33&fHX$BiT02t90&;+AF*lt8*?_iv5<6n;FYXH*{BRb`%RGsp3mr70k z686OzyZoD7fKpTyYb!h`Mm|iUfL$hcynoDw>gH>vX5JCzYo>q4fPl6pMxBiG(=v~v7ki2C$?-9+lc3I5 zEvMSQ#S8i!DUTDnI!mML?F{yL8)2(!+tKlKVRi)M6x5usq%Uai*~>+l$vq6Rc@3{7 z?|PKKDKfd^0y}NW{@Pn&IeUJEQ&29zKsbWX>JDTLMfMr{9v>)R$WB*f#IAI}2{l!( z);(39$zOLs#9bF3_|{NSr8ly)4E=FIBH`nL6YiJCH~n+&FM*NVoybXF*)nKLcT09t zw*=iZEu7FaZRhFap=#yiF;~+(a3$m=DD0S#oE?Aqo~nr*?utBCq=^ihM%n7$ec^}I z$#=~ul$*EmQ=lX@@hB_Ce;+57ag}{comlhz2UYUn}1=(pP3) z#LxO>gVxxE2>|AU`4>_+At9<)UuN6^V3hly0-{*U0A8#mF~Ofb0pZU+NvPbJbNdga z;Db%7RsBc2(AtGcH!sHKl~(NFy{(OVGPuaQX?go{(sf{D7@p|uj>1<;_yO%DmvjiZ z+sHb8&OK;zd@=>BMCZ}Tp}n<%veqm1J+xQ+uWU2`4YJ1-uw>QQV|Ez}K;g{N$F^NSnB><5rg=LTSERF3iRV?u~ zzv!;j?X5Q3_ddN<`!rtXgxiXGkrS#rY=pAYnbp~8noxwY;#K>z7Ogx>FFWy}B;q%j zjAMqSpy-{G@+s-)r@;UKGpksfaex0$csWNJA1*sYncYx_tIb?6R}$C+k- zZSfQSI{mlRnmKdjV>Q?MI#^f)mbP}6MzLAM-T5C#v8tIOdPKj}17BKv8Dosn28t{u|u_e?3#&*6co*+s{k5JzN%gR?SkzaInH*K zaoQl%>kW%VbdUXH62)54Sb5P~;{vDN)!50>G6%o}gRtY^Sp9^3by;^@!gOqk?$0&4 zI&J2#Z5abyBSx@-LF!AjupD8?m)r~)tG7s;VC#2}F190V84z~cgXB{7)yzGc=h{40 zMjnx~Fr`to5bm{cwYE%2fd*(PIZ(y3i*56}sDb?b*jbp27b2@MPZEeIOd*J-#<6k} zM!=Zsiz&k##|?bU>4p`l% zZt!OHIdK`XS$Yv%2Y;|wY2;WXpo!hdrDU=Ddn0jE@_+p+f2UWthaf2*ASZES7ue3X z=rNT+e*HJ%=kD7VX=`wdkkR$2^*TGFi!rM3Wy0}TNw~?dEET&0wP)KunRt3}x>(nb zXwJ4JJ#W8bn@4{o{7>QMoaBCXAL{FZNXdxB$Gv9fLn`~>yt;P*fPE6)%^R5qk$39C zUh{L^tOqWd>)XfsBJZ%Nr^(mbzoH^T_ZkjhqQ%GLius;Y^p4 zTXjAga)m&dI(KWcGLY$cSeyvOC2gJLyB(QHb)_DOoL4X|gsZW*M*MvRVFVQm% zCXEr@>@+J`se$}a91n?hkg(*dPo%M?FXZFXEo8L_<3Bl*cC)>jnT~mG^++nl{4hC~|4%&lbFjmjSd-p>aaQTCwjsWdm(m8c#ov+svA> zEt^wB=+223zvomH;W^UG7urhZ2S>Hk(T|&At}%>RtMk~clf<&HGvumSOBQDVtXb9H z{!iqXND(hSkm&1Hfrc!?vd7vwH@xAH$6|EH;e*1At<4iWU+s4cq5hV!$~qd38TXDV?e7!G`Oww=cInZ0T&cL_*?Ypd! z1Xn7#fv^qEY1rRG9{V((tGj$HIS3z#kcJ(dr$Ust6ls)iII-S`!Nwc&vafg z>hz;gre|NwKb`E`Qi)5D_PzTP(rn##a)CB{dw?#(R0poc%hdSw ziHO+KwJ}2@;})yzWAiNr&JXZuy(mROm*tufkD^h@AWW(RiMCAz1yQD~&9Ncs{!q=)fg!ENO7yr3)1t{|nbIH%d9O@x z%#-D)5uCqy$^{8$`}6Pc{N59oz2B>=jF(Qe^26xe=b<8w1&_j_aS0!j+4n`9gYh>z$;~>0> z@S2g`MB8*xurrl9@ShQ1C26R^CM|Lp+3`gD{||d_9o)v#ZHxW_wqs_d#LSL4MkQu; z%qTl%X6D3>Ic8=?nVFeoW>$Ph|=@+619Ql|9y&^GXR5o5D{s8ldPvDXlSY%IQWVa`f`rJ?D*=iQEhK-t|SfrM|vq;T~(wiR+Zmn&xMW@ z-<}A~W5KHo7w#>v9aD16502?H^78#GiVw$K#V*OgW~L{1^=gv zU{FCKVk&AsFhq(U$imVK0McLL;~y$`f8lhVO=z zr{^MAO|XPVQyZoXZb~UcmiuI?VEiGXq&COhv;qa5n`PuNM4Q8$+)H3IQW%sG4b!S# z9OP#so+mQZ(rqFCmNxq!5u|T-6cpd28NB#GebW{g0=u(48}Cqx^;0wLMqG<`P-Ms$ z-lzy$&r7xCt+udcT;W@eNGp0X_fHZpXL95~e*G6124pkVZomGz zNvlq2nRK}4)J4HjmlA0NjV@_b!8Ng{J%1R>Li)=256&N29L49!S6~16 zLks<<@1OrsdH;7-^sjNS|AG5M%YXNk>3>KmF4pX0Aj6xifBwT(&_7oR7;b$^VY#s$ zs6mj%&06@cdi$TJV&6CZ)7zhX;=Br_@Xz}GhZgrP^tIogni2&a!#kuuH0h8mv-fm= zYSex?e?{um-;kpDLrO^RUPx*DDW&&x)P4qkMe5C;lcJ(4LHTnO1>K*v?tfH8(ce@> z&W}Irvfr~_IxX7Ykb?i4_D%X5QU-rT3iWSDq5V0j=qxk#KSzaR{qfcNudbfs_c!ee z|2I{^_cx>n{;GZdiWJ=6kmCLuQlI{ul$c)*_|H)f(JzMUab#76NP@kq4}iWN?#Hu_)2bM_3C@LmRTdnNHSR0+$i)Gc zH|8!hLsH#im+9WyxI|_I>NH!yb*Zhq@g1z)s@COj>&f&URk_?TEvW4C;&#!KHFsis zE2pA|ACaJGbsPE=&+kWj$kLkB%FDEbKQ;aAb$$6D0f1ee>zo(#oEZ$Ev@cE^dFm6~ zu5U9T+OzbXH4d=r@4zqSHjyXM^+>VqS8dNxpzOpb1InZK?9E`Y7{<*E|Zh%&SIQ{&7my;ppK<4+Q<*60G?b2KBO1Qkh(BVO|~gehW2dIrCm#9f@#hjnLp{pODx?b zyU{-sI7gNL{FIqkBi%3HV9STt?Z_RGraTO5!a;3a{KalyxmDat!}08JZJxk32QzY;PgGP~&I9RpAQab+nYxWxg(>$b*gbH9UiarxL@_JMAH1XW zI-d6(>VcBX@eXW}Ip32_W#6!+o+X*JhLEZ2(%+EBJ~>>IA~H@s+Od?;OI6Ue894U* z;;+zCo*&i{*B6bw4W@C%*@I^07seX*_E!W=@eG}cCksApwW ztq(ohyB&@Y?;Nl zqiXg%O#`6hD8}FC>=jL5@a_fjJ;>3W_YvH~AuK+UkmVd9!Dyq4Qk|%_LF02B-^x0L zfPkxEDzGkn2OUA2&I$P807KTOtEYlk;UNL%^ ziWM0pV~=>@4?sznCY|Gx>RiR=hhmLh%^G*@Y%6dQyu8==7#ns4iVrJ8PHuH>TQ(?g zX>zFQ@uR-c_U=N@c(r$&kaBNgT>;d@odPm{p5mq^mO9&_4+oWPI~%Pd-%+<44l4hRbX06}m$1FGv%O68LBZ}$jeh8u z@e`Z83@KN`&oCFgp2b;a*K}+W`MWOMjY!a%-{ajmhuh2U z#;Ew#8okEI4aoJvQ_Wk9vy0LpJMzUGxW@S(OWSIaGb->E%(>JJ<1bM8HMaDlT_44C ztuJc{6c!_=<~Ii3Fy-%;{X#upD3z?D=nK8v)Q%P^EOrTkD}LwtcxC3i?Pkwo=1LSc zEY5MOf!7z0d)NmgFb2=p%TcdArg-fUSdrA$ZI%z!=q$I==uvJVmJcyfFM7+36*3g( zHaJSbm^muH`dpP!zk3T9P}S}arV5xZ5GI;tM~&xygd|H{C4fIck3M3#P#wpY-qoH(ZqxZQJal(5yE zH&o>86KVz4*I&fo8t=o6lPRuWxvy z#w!t7+DJJCb(zhK z5VM^L6d1nlex{d+R1HkcaZTH_~T(d+&)+%|6f8V?|CMO!cEO&Dn>hV>WFc%=uN;5iQ3Mb-L-DT`KOkrn9|FsvSxc%<*6Gd)wz9xazUHXlC@{YiZ&^TkNF&0 z+kVu`Im!?C249M#-Fck5(Ev=0*T60SHY$ZS%eSW8*$B8o4>P;GxRLsa#c`UK58O8P z9k>xHC%UX;l|SLPj-!l$it*d+i`|i`a#0=T@h^j4Vo|ir(jKb|?&Wmpmmgw%tUp*F zd-t*zU9u>fzZ*3=?@`Tnl4gg1erd9RmYcB7()L#*iPrL_9!NYJ5R3M=zqqMpCl@Vh zj6?!cSn%;TGRtx9!;r5{9l@WZzi`eLrOK)06S5|xPwu?lf+k%ayYVFtiun&|9y&1m zwg@dJMNjIEoc?(su2NF%rCMM>X0M`T)h1BA(@)OLGWrs-;2Gaxb(6LI$wX|vI2+~4 zFpf6QUtS(7Feex3+Hf?t7LnA#bN&yHAerJ=->WV#>uEKiUBO2k8PCTWKJ?fh5u}IjndT_ z_+xd3+lvoRj9@_&s5kA7hba@Ax&PJiCmh(}gN>dNYI=nK!rj}@+T^r!{{ITzM`x;X zQo+POU)f=>QJUP;Ijlxm$v$5+Fp)Q>sO#vrynFhBamJs#*T0O}(UcBrn%qs%h7^L$ z9w_^^Aa@9{Hmz5}%@zNWgQPNyxIIpxE&hf@#H`#qXh)ZU{2#Z00)XS)(EtcWYsI`izfxvDDh(DDOvDcSLU) zAtjTAi%(AW#)PXfV|Xb%Gvln<cP*yHr%DwTaN+i#x){jfoij zX+17HZ~9W?s~OZiDef~ zMM*i#c->b?+J87X`IG*irfoXxFJpP4v7^`}6H!%pC+g^mmK;I2zQ%Rhx zFv<`OM~9ct`&L*3D2WWZUe@w!!I7_Ud6FwRU@I1x5hYf*y-K{Gr07jD%rKUa@o_*$ zo}Upa7xU1p1!Zrm5L_85B{_~u&0&}}bohw13g7M^Wqm5@%=3`_Q*lsXd00mYS79c@ z+|E{cF?psf=xW#mK~4UjbMEa`v73ZD(sXsk$;O7_L$zj}GikI^)%ulXl>@fshSrmf zJ}pE#5?M~XV(HQzIfGI)$-;YFz12p6gy7Awo^OXVHTtxW73Mm` zSF5$<7sD~e)B|~<-+PAGbv>-=$5>n+ zdz8yAAgw_mUbPChhf*+Ye#1J;ebtl9L(ibph!V@hUH7F=B~JR}cORdD;7O@OU+tDO z<)_+4b8>ohA@n5MoY3qfT;TcFAnb^UAEmarhYw6dqdoMtJ;$xj{Mxb3)s-6!IS#5E z9nuy5ja)ftRqMu43YYnZGz~eN;hbfcI;J2{AW<;_7qciwncq0 z(eZb`^v;h7m9C$5oV+IvvVJ7Z)eH&048ZbTS9jU3MH{AJURWqAqA`Ag&V4a>9Bdps z_~}8=fH})D4~i$RuZoQrJ@2(nojqh(($r_b9v5)V74t(dLXSB0#Owu7@@AqbtMAjc z#0|MZ#`FE*X?JsuyK4zWvep>E_75}$R6^12(V=z@ZBECBe6<7u45j7S@C0w6I$RXu zfbv$>Q6lqB^aP=GQGu#Zvgwt<>4ET;$?$iJA-2s^-C-1U10A$)Qawjyug7}IamJu< zeIT`R-^J~P|#_OE#&VJu;ZhKPX zzlc+jXIiL5m(-{9SWLHg(sSF$)1wOmhvcMtqXV>{QWFj?GF)5U@3dCRC`=}(?otY( zV?QK?dmVQkQK1{wYve{s5v}<}nRh*z5IP48VeuK*tIeJ!%w02@-!t0p?~ACbi!G2G z+&U{q(H{IZFpcF$cf?hz4ZOU^vX;(HPT7cdywDF4#7a-(YF$482T#|9;J3sJRe**C z(bNu*Fj31Ni`7pNpw~jie=kISdmI>{jhEBHzAG6O2Cm^e1J?uvbO9O`Hq2Lvkp{Ih zOW~k0N)rdL`s%cXiiiT3xi2*vxm2*}iV;7(V?VIVuj*>nOqcv|0yQv_z^6iff-hJ6 zQHB+>+RdM**7R54D4%*$+6mkMqq-WZ!8e-EgY)|4W;D&W`M<}MK{5xWmer7Q$t-$R!RWwQ#&EVBgtDs7(Uyf-1u z$gC`lF;0CtbrTMqp5_@MzMc6+!IG&#bRyAeTH8#v=ahZwTkiTM6V`E$SirX&1%Ns9 ziYF=E>6B>K->R{#K}vc2W;GU<|EB_Zd&i`67zD{j!u_E9=NlXSHDd@nb7;=;;`%~L?6*j=US}7~XEeZ^@E{#syL#zz=1>)9kpWy?`Sl1txr}wr*Hbx_uzucvu#&5 zyveH%>-N&F<4)?A9oAPvEwLf#+YL4si(_p_8&(hI)rt$;rS0WtUd!aS-mB^=z*thT zN#|7(g8IGG`V){eL^&{UlYegTWy0Jlxw$yRLAEb%w7_*KC}r8l(sr##J6LlOS*K>Z z-o(&mG-CVd#s{Jwd9liUecTr5UATI7)8OeFnZ7)*#;WILo&{_3yW+17v!yPDJh!{} zJ00!puLzxN2pu?U-_9T3>2=_GA01z%Hw-_NB4%{t@+fxyIOww$+@rQ+Zx`NfI{W;XtD22it6Pd3%?!bR7w4V zNSGc(jd14hRg@4qdb#WL27lO2xIp2q1}4+;Hnat93ry8OFY?p8FY?o>FY?p1$PaBv z0lg`~E~>Wfo2)6UJzZ$xUQ?Se82aYCtsd-tx2<*J zd~b5^M*%(`^)!}P0Uft<_sf7f->1_fK!(7YV&Jiwep5d&uIkJknqNd}qEl;ZQEN6g zL-8(yHe9~YOi@}Zwk@vm<*_)N9DGt)4vcJ+I3Z3Z3QhBJDg+SbN>~^3Oi=+_OjLqvJLdr2(yF`jrs!$=hswE zO(Z>;ScXnKSpcnRiaw#q+exjtj_z~WS!wK0~KynOP_?Cw`V%sP2MrZymOQhWrS7dTFrn)_;G3x-T_W}i z@UznKnR6hTgv34pb){96o&I4fWUh#zZdn4J+c7njG{^I`%CaXJgecobDb3Al-5j`w zw;X#{T~Of@2fzC9*>3QMk=iq8*@gY}t8cd73>P{`U-68W(H=WX#@CVbq2>=Ye^%d@ zV?JkRTCPpTIp~q8O2V*w2OV|`PF0{MPi2yEYSg!H%UA6m^uyO2bUadR+C0{-n%R?Q z5yQt1v$L-%Vrv^%OILncY2{FHVk_P42JNirGd%ZM%>ei7)Z#rZury zzpH&1TEt5Zfp=w89hMzoJ1o}XcuGjH%z`eRskG;~P!u=MOi3<5NgIvtkcZfLi*ZNF={nfl2T!GjN7f&A|n*6Ti8+A{Yj$^w9=S~!>cT2zDyBn zX6&(;B2ME|o_;wjp-!LCPim#2B&DunK8V`tn-YKqF!I zq)=2nI60o+5F|PdmPWZzrr^KmF6}kbqdwQ^cLPx0o9edf%3Z4&L}?dmTvk9@6~mzk)s^k#H+ z5zim0&2hZn;O?@_Xp<<&qHSP8|40F6D~X9iKb)ZIXrJ(&3G4Rytzz{13C84;nvD$? zvzBz62C!me0?VTH4&II7)7i(4@z94RczT)`j|cMvkVbtG^dc_9Qifi(D8>Q7bqR{U zQQSapO)P{zzqB}B0f-rYNOXdoj|v=3t*SrPY4i^2A=^LMuHOAB_i)lYr?x-a1JgP& z<0TIA0}9EH4-_Cp&Ciz2xR=(KyiKLc6zh}*R#4hn)NxmXZNXw@caAaJDQ2;o-dV>h zS7x18l0Y<PpQ+E7THNU56^5Q4pZcuU6rlY{ znXhz+(Qwp3yFpr{USw`Y7Zq+T1JuVSZoTf*)Yk6GEb)sg_u(*Ras_v7Z50>xvUR;| z>o42n%XYSw?mo0enqW87N$p6k!>*bbGRmkdr|&$nD})Ww6Ib}=2sYEjPE{6fS^XWe zegI^Lb$pkhK_KAd_j5A?AUQtSez3vg;Rqgd>XDU8u3 z%lt5il~_fejz4F4*OULrwJC^-Wd*~bQmX58*#(S5(FJ|j-kF5tUG(gsip0Z z_8f)nA_0O#&9AJwt%~TrAFdgs>>;r?n@3?9L~yt4{#1U7(LvTIq^f8MxhJdl)WQo!K0G)#W zX839UamAYgCKY;6>ft?O3!>Y&=3i@n?;7uQi9T{S8`jJ*sSeB6_sd_b<8&O6wOdny zFER=Kl*xdVnkO(Nr!*^WwQDRG3d*7Msa9~?oHd|-%GopcU;@DUp&N(ci?(CV025(l z!<){jNy=}VEn)-|LR-lr#FI}xd%xC^6XbNg7GHH|AkW1v%zIXrrrg>ZiF{l@_EtPQ zDje-l2#KW*A-7!MSYsvEXSWzCxggYbPM0!rceseI zFq?|pAr}aqj{dqQZ8bcWX6kz&;Cnuu$*&Nw7}jEH@D)4Vi-rAovZ@EV=n*$!(0J=E zZp!$aaXn6QCmk7Uy$&nUZR5>_mmcVWd%6va`aR;#l3@3uj~tdsn~R=f51=#-UGidm zd3aVPSDa>fVx}cL>@J;}haNZH-!^@RsOm4{tq7oqPtO#{<%v%tr|~b2m7)~GyOB!I zbQg2bqbZEIp!1|Zn*4U>nUSPu0GW6Un-voml6N%cVKSg^nY0sr*vYK-HJD5ttHxtm zjwzZ;7U7_31JRVjX?8>V!ut+A_rK(DJf3dg-(L_iw*^g2JXdTOOx`k^Qrm>44Pu^Z zW-TcXe!|yAu&_}aF|VL)nVT+5NAxyy&6CC#^AcZP9TzT^zuU>Y(2RQ$0jV|V7*z*J zFl?IAlTOYgHnFrMvM(npz*eH69{G;$ufKqYu2O*1))PUlx(v}$;))j>L30sLH>-EQ zLkPM9NIS9=b?AQV%D;&npH64xEQ1Y^aygOX8In(@BhbO4OQG2vYh$y}Iln0;_U%trK@ z&ad|d{i&hJVrXP(JR|UUnOVGJkk0KSxmVZaQ1hkJx}9z5AlUI#4g9));Ld5SP_mU3 znkVhmWrVfMCo*fV0+Y`IYq!7jyp0~z!R-Q>UU&Hy(8J1zcE_`>4+`-Y(|W${cdk(F z$&|=;%0vumfy~+(9`E!7FH-ei?w7rHN=B^n&$$=d1qvy_ zd68tikb=aX^P)GV(}#>wYuwM+P0!|rCf0<56m#L$Rii1s3o7^YQVSW*eXo1WD|*Yr zI&))>T+`~ko)+{|9rgxM_-qci9Svt!dXdaqptogn-7T{#qKQ~-{1EP!sk%vCad5$_ zK_YtbnA&06_%#)6w(Sh8(;3P->As^SiDJgP4$lW4TbSTuE~v3{8x~T_55(tnK7tn- zE{4c6T(=r9`SE8aS8D|En8TmK!ounqoM+Tgl}m(w`Bu~)zNjNto37iY!{stb5{u$9 zSYS-&6I>pDM#aihmTKyVDv@QKGa^2&_@(8xMmpPlQIyx0syN9{KM_z8qjJ#M>t#pl z{2pd(L6PGYDva)NWKfdcIJ%X7oTs-UwJXo`G-@*1ZOb1tn0wBo$|OpV&VdhInu zw&g847iUCrI}DXZ(f{pTA;0r5eErVWn8?h7inu+A+sj^SF3fi>SWVl|6ccVNQx~Xh zMM(a;H6bvS#q?;B9pA9vZDNe65}o;|laf}y<(_ntKo!&4%W|7Eja*IQH96J-Z7EIP zh36_P=%2Ktv7GwBJDc%~1K8;o@=S_>yfcAsi=9)rEk*oX)%`mX(P5|}etpIYxXkI- zN>9QyTlEm5U120h6D7S_WK~)rxSGC=!#aSPK@2&J)a9MQ^M`BxzGIQ9H~Jq8_@$~> z%)bY#VY%7>swGT1B;$3!_4jHHHyZ{S?YY_pq^s>1hUYFG9u%3x!%syb5cbiGh-rWu z$i7;nxamSqkmyj2K`i7{R>d?(c&N(Jk*$YRT8C*s<}O|I%Bry?t=%K$WGZhab@$^e zF?iqRX4e()>?TdNLQ1~ANckupxD(Vuu$0sJo?lg+r)KE#D{y?1Kdz`Ct8~0N{eg7Z z6#W!!;f)RZL^ZI~fzun3eC5Kd!u_rZy9QyCRN9N9)ywgM;tAM)b=)T$crj?`8WamO zh1a|kAiaG!^oE6dkSniWJ(OofYPb1u3@-AC2jLkn#ee!FwU3mnsn17Sh) z3*0Ztp_T(}&7ZKJ^DMbVw3(WTxjBDr8^#mkByamxKBB8DL(xW+AVWsHR4p$eBHTMr*+e_8$5N_V3;qs{hqDAYlTed# zZn&wBH@~lE*2PtaF~blKIAW)i$_~hBLe9tYu*X*3&)LV8cE#tAy>^eX53NT_sR3^qC#Jbhv_C1k7(B>R ztobup*s@}fpksLWuFk=rM%~!_sd0+QD)CGUg74W{KkM?CBZUZut3#IkETN z|3y65$5;j#<9N;L&F_-}gv`qc(szQv+qX;Mqoa(8^nrs@HmSePzxV`s2HeL$94k8P zZdOy7IvRj$^7jVRy8_-EBq7Ety?0gozMja0oMj0Es~I{U!?xM;7hvES^6~8-R8U$R zbJuAOscLkbp^wbNibffvaM|aDCj`ZuP8)B4GCKFFX`I4|yKz`Z3*+PT*_QS`V%`#a zzjQVD=EoT6SqOP2^AA_BnzOp2#;jj+kg|2h!pq~tz`xhjjUUC zT4R|m*sJ)iM4#jkGK)H97HO9t`fA~Iv{{3?Uo(CPAAQa6qmaQ9!w*U z5Acy`VTzEWFV~2WH*cmDIYR2GCCye6Fc%ch=e!U$CWidFt?lb<*k!>p_zl*x<69=k zm1@1a7$-%#Ytw!Y(p|Sx;SA9=@jRDL*Iv&4VBucJG)+To13Qnzu{#}LWxg1?FjYv` zqxZRq_uOvBd)_#+go2*J#8acJ#V)!_%tlz2kYS(;(5@J(&r$2+y5_?P0wx%u%LD<1 z_7Q8BGUKUtIJ8YBS(?`!@duf*?l+W{LVT{Sx>w#fW4Z>hbc0^sTQ*BlwG6(92BXbN zwUXZZn7zX*J)w$sF}&%l%`I`u2DXy>c%7F%Z9p;`e6jgSs?YScwQswre4Z+Rhn-=d zJ~7m#$2Ss&(t$M@fb2!P$9wV~1s`l`x8?Cp;+pI?b-y7|RA%*cYy`M_1oGce9#%jgHmCs!Inen+Ex(3mg3HX6<9E#Md+UJNi?QR?}59fQIbt<#D3ZMEv*B zB}?R*J^OckV5_ys9g@r)k`Jb>VKgGSZA5rAkf$ev#r36eesxm8rKAjV4O*Xv18nHC zfU1JPW68Z_&(c9*rY{?o_%h9}2Dv1w)XEm??l5cY>w38b2)BN-b$3_u&+724WzzHQ zCW-oIURKz}fUU0&tlNF&7I4L2rQJT%f#WN?7D8weJqF2t!rydSQPaD1)b>r$eWW~M zj+aRmU_ZbLBTPEa?|D0$G&iKc{ZvFA?BQx6YdSJz+RA@7bnfI~19;f3nv+sU$9bd$ zOPyZ!{k-WB^C%(m|9KRA&x{`l5Nh=J>>~m|%Zbt%Xa52Vz2A(;Lra%udz!3>B<3&GbC0A!DL7$n<&u%`wvCVvbykvFy;$tn? zmNH5nTq5wbT+IF{`EfImx5*;0$H`t=?&0>;9R~SC%f{2?eicE-0BF)dvWl?HsVZrV zzpXe)nT*5X=Z#0?(4x>W%#hEQ34X)fqiHvIh3`ChBYHp|V}f{n%WPDhkWM+C7qBC& zccpT^JP^4D7Tm{px3}YYcotM9%g#rXD=|GgwFb7YhJakcV182(A`7lC%(^S@)-$-6XwGQ*r#=fLT#`(=g8Ip zDCy6~`*VMynR;J5zygPb?NzeK9!dc*u};)wuUlQ5(8KYgk`N8GryMEMgGLygy^e(i zJMN~W@25G=DWLp7PsWJHXNdNcO|(S1Pzmg_hYmSiIeUB?-?N~C)W=yOmhE~i`9zSE ziReZS0mZJNA9{i?n^Ul(f&go(Rx&=iLB@pC#F+mIuKY?!-py;6_wCCQ-*#dl`^-Ry z4{-pDqn`o~;F)r((0d%yH;D~E=^McUptgH%c;ok$Gv4oESFK56DJi&qfM@DP-3Mcm znq%gW<%@?RfmpeQYbuys!+vx-*k(i&f@|F_3-^B7pch=8jke+sr-q%c!w@F5gpZIF ziw3_CNxCN<(vIs|qCYw0i;KNxn_)7^K~QRsW!ENqH|<@SgepO4o*2e69c`uRu1V&{ ztWZ8XN((G-jLsyXt2@A-!Um+Z9*hNbTfD5h^o@;SD#$$4XOf<|ymVVtBI6+^KgN!Z zSPrKJbigpbZS_e;%(R3%7b9EAIC^tCPRJ6V>ohZ{czL)&C#8K!&Ce@ZyuM$>sCP7O z5_%1wgO6zcT)+2#yodpDIJa-xF6wICE@Dd)LIqgh=ic^M{V2ei)TFk^7%EQ~F!{B# z9ZgtxECP+x^wI2oObUAp@y(@e-uE=O(Y@|bH?63-T*Q1$G5L*)D7{??vDYnohORtJ zzONQx*Pm@s-E&qTF`a@frjU8dAkMaOrNZa}>^5PR% z=8Jyh)|9e%0GgQ~XIf(6oNrvGG?PfR|47IedA#$ihuB9u$H^Yk+~Xkmg!64MxzB95 zbgJS(>Us|4{p9(UtV1u!GfQ=RViLb8hdx=~5qfMs0pD)#eJq=|;H|O@Xf(f!FY)^R zaZ&Aq4+wX7jH+UWw#7sRdgrKZ-AX(g*j`dNFP<)-Tl}lpXl6Sx(YHdquR~F_h@_0> zZgL~Oc?&;$N#N;dncSyjo_69O_p^gz!1;qmxH#~>Gs#U0l(D)99mtKnPhqiOiQOU4>%Y*yFIi=uAtG**1RdG zSWg^k{w!iIO=~L5T_W19U_rl`2r&P-!CbN3@LJKcx?#hCjwMPtM{=jGmoEc>nXJKW z>Rbm)owG3^k`=F=_DpwsD3{r;MN0 z&}h0VqM_O;x}^3yIRztCVcgPP5iFx6M43uYE?0O^q8%he}f*^M>$k|Rn&}P_@h1_BN zQ@?vhh^JyiN_iyNCMW4=UQ};-gOp{zs>-%XvFQWZ5W{nRXitaMGUszAB<*9;;D`Ru zB3v^;B^@RDwc1A^E8s|VV55~pGTNQ0K3C8%ybf+t%VO@+m?bi6#v}$mo)&sJCO;?e zD3uUL%8!7ZRHXt!iJjIlzKBiv|XsgtdMXRxCuT zgTclkXWpD~g>o>dy6oEo)V^D93%aTpW9f@oHLN$eO)ZGMw-i<%%>(MFkx;7(V&k`bChYE#>7=+43o zEc<8?P^A*$%gJySDMsDZrDAaSIzEsEl&;58QgZ)3Q4P#-<4UDt=c$E=UVz(C5?5J( zqrcH!j5EH{DJi9;KNY&7tsLsg$%qfWbyq*YiX;VF%oy@laJ{TFg$9U(gtLxcMD!&> z-CZ{eE*=f-r`=&fK)bcc#?;ntKa|Ww(1SgqL+h%4Ls77$a=eP%gf@d(?3GECk3PjXEJ6LL0n^ zFh%H%q~a94jBUtK2@Oga9yd!P$XH=IuGknU^SrR-&FbaHI&w>`jYWW0o55bK^LV6G zjO>sSWZ13CNxL13-y{#S?Sd3#iWp!4KH<6kB)7^gB%Wpm2;iXyYRuSHrwaCeyqm1L z73|$VC-P_lWzhhH@N7fKZD+vQxoMAE8ahk{zSS+&*Vr4_jRPBr*}%ts%$x7o%&++I z)FYAl@o1=1|ZMG?D#Y{vFnXj+E72OZj|j=*mClp_`!ys!mwxU!9|gASL3_J;r&7wk$h& ze|#Wv8n{758>M2M7oF3d+pv*CU1{H0IeYRG@dty`{dP6wkTblg-5F2tNr-G-aI)i; z&1YhiJf##TGE7f==|2Z@Vnu=`^^P$lPG&hN5{ItEE(OtYd2q4G;|*fo*mkqb2adNS zkhZdTTiqb6?POR&Ufpux?{6=?^Rij&R5#7+J^suD`S=atI$uvMXMg^Ftj4>ceb6jg zd76^ZXUkTjuXW@OqHi1SBD%8Q z?6Zak-|r{r>Rc@PW`4g(syLl=LQ$i6nw6(y%fe8EgQL^gk+JL38x z;uSv;eoSaXhx19)Kx9Av))~M3qubi#Cm)8=`|@;<=Ast| zU|PSDtC#&&Hr_5b#654|XH#3=XOa)F?0(0*+Npl&kS6$B4+GW6=TDo9aHKMw-(8>Z zQIA)l>zmI3INy0q*EIZ8Xg1l)z5j}VB{BtkZUrO?EZ0%B7hjjuL;iqv; zYT98l6;X~!**0I4@CF`|iWX%l205Y5>rsg4x2)#fhh=4>1pR8|xyG1(*9MTZ66uWS z=c!RefsOi;zV_ifP8;pILnWn2Kn4h08ydhZ@mlSH>sKC0L7bw zrDZY~-+?khvV|7BpTzm?)~?I6@tBBYWDXbVl8z2)4Ej~ggAtMzYfD^hT0ZHdx=s_Q z83let?zwZf;-}Zd^|x6MTyi6g?vUAAzmw~Simj|=R=JTpck|DIeqHd%8IUOHi!xA)O;{)IbpGK88*^8#XU$+Wco^+!%0x+*-4!Dy(C@| z=hQEW1JC)9dxA||1-Aqw!7IpHTMs)5NV$-M$Kvb6dPppM&X03m2`QcVd0CFBpoDx1 zh{(N63AjA@I`}&a6DK9Ai|aKV(VEn!`ksrF0JIxACnqLh2~Qk8A-wEOK_u@5eZNV>3Dy8|g?GEMQ#V;a$oW+ZElzycZudMU7Jz*xDL_>G&)He}g4z`e( z2ZV6cNvfL)OrmO-VEJfw&;W&(+du2MhL}Qp-%rn~-jSc^-FkP-oA>6&bt4?tbt{!t zY+HNWMUaM#SoyMF7)B?bD43jR7+qh}UVO+YW*O+(sB z5?)mM!I2`QL(xT)yhzTX$M!{(4w0WpGgY_|04;S<#;cQM+7hRw&nd&%fYOqo{gW?q zJz`QS#&vI{jGQJD&8X|y#gqL$<{FGCULcTaU!mhBK=RFsBRLPBLA>Gn!4V>)L5}0< zvzXfUB&g=q!{_;f@GKHA4|<}bnnQ?*RoV09w`=;K1lZKYt9H5RqO|)$^N26}j~cZ- zk&665$Q+!to3n=W^zRh<)&u6g3asT|kmEWMF0?nUgj#2wD&($|_!-yqEPtmz^af7$JT20tfu|4t0dJmx)@}&(={~B_WaWTtm^N zvKkH~GT37gq94*oLxfum6@y)=ka!c?PysQcsOXVKa%%kEmjrW0j~d+kj|8s#YgLCX zt%fT{Zb8VF?6r_<19EWD$%*MqMSD_p(DzRw(mpM(?B`CrXV>}`I+9=+y(s96CXKXgH>9g( z!S0rm;c|LYCF%KfzJ#%Yg9MfS!vvMygM*Pq%($n9+A?qh)vwVbY~aX9z(@k0nsMFi zm_C2_#FvFZHIS3CwV;CCERmDqF>%+W+7lthb-1hI$Q0}9<`jGLDt8uj)=i=?#ZYtp zr$j?J?>Ekl?3CaC`hiUQ>287-g4c4_S2-uA65fPaJ2xYc{ykRtB}J5v3Wid?2d$Hr zK>DPtp8k!31=sYkqG+9FaqMYtQOJEpivY2<&nb{h4;+gn%Kt3=}JhEBippe`2L7KW7Uj6&D(y|{3T@u@Dwo!u~|FPAb@Fs9R#*0}OZU5Qhw z6#X7Api*^qlmnZ39whDRuJ+y1oOU>IXzsWBs23mILL`&%(9aR@0VVm_n=8pOvl1np zX~ny&DL=jWXr}LQw8j%Lil*)m^$;Vx^UZ+sO}eQ%(_**ilmM+sCD}WjvTLP_yjC3% zt}jN5`javClW7TPQs%j>%*IfqCtmEShIdlD9Cxxh^mHdicpt)MO29a{m)KW2a*`sk z;>k?Kh(}->y3|$WdS#bHok-Q8P2tEXv+fm_A*(RDkdj?#fWUkqJ7vxMg-%fWOpxu~ z{r0yHGU4*Woo{kK8(Ja8D<;Hf4ObZ3?B?r|diOG*4$jy~&WjAw=cNfVP~@$McnIY| zDP<6p;Zcd^a4WoNc-Zw;_oZ01#z zgF|OU6)i?Q5*Q$$#EO(v?)Sq9$om|U7|GH__@uaV!Xi7gDbRwpH47mH+BOxkv@xM4 za&m}O`oL6=5I4VIS<=j4i0y~#t(%|w~=w6di%wq(*j{Bo)e#B2ZXRfJl&m7 z%ULq`hnp8~UNPqxFtRUWU?nP=*6<~yvs$HttTRS`p}umpiD#+UC~wP`fhqy?sOFGQ zT=j8Xq~>y#$ldc)l=p2uM4_#jt>#EAY+D!3i)Cj)aJbBW)*0eZn&QNLZX&4s3QO>n zJaX<+3L0A{qg5FVvpKQm+k--fZq%O28HW`UBo;mwEY$@URZT`yjDo%eJt^%(9r787#&TGcz+WS&<)$}K2SzBs!K0H1t?rJ@Fu96XrtwJX;;j+8u>X!9* z9>J!IiPk0S36}G!V)GdsaoA4`#YgOMu560TH+{|LZ;4%6Jj{hdN5dx4QA)pjwzHT*4Zz{rPDf4g^lNO2q9&CEyl7&OieSYvy*pBTtjWx-; z6{~i<%+K~+HO&h-2_CD4HXo0tnCB^REtWE5)|Ky*LMx>QDyN9BO{dth7>aNF+K;5? zv5J%wc3t)0lYvdBdjqzT_9`W5DJ;QWEs~2^oNq<7YRT_HI29K{iE%wA275%jQRPK`}2}(J%K@WaRtD* zx*(DFqlR_Pb=njF`$!HZ01BuON^h1kCFH7s;FQ(Jjc!awMv3%^BC<5d`#qBAl;`Q( zn}XF|G1!rz=8OU9k-Ekw(u0rnm`y&*gjI9-3S^txJ-)9u^F16z2sm#bioYi=?u!q% z&NnKqCZrF;nQv74a?5Eodyft1?koDPLz_PW5k*qXlfR$z`aFB{I*GThhB#U+^PSCV z-IXO-V&k{nS#hkh#?Zip%XMokJ{6}+a&=C(-vD%8ym<*3yF2BmIe3e+Zp-Kgt=en4y{kTHvYb=- z6K`r`<||CxS?$B4H%}}d1nZ39R7V4Mj3Kx&odosuAJZ~CGVA>ayS^IYK`~UmNF%4`&+CfL zm#UPdzU-OI3;u#muNvRQ;mbO)&A)66H;%f;pvWl7!U9^&XskCDfj$xkUE+*jqLuJD zWhrs-z!msw_QzBY^SMq9~Z9u=J=p0aAgZIj>u_YJeR}AcjOik#qyAvlK_XvY?cdhX@Eu@X)gc@rC z(EeNgi|&h3q0Mk3X)V?uU8`H2U#m8PdJG|5;dAEe31JMH35^Yz?!`MoCTE;D2GxYh zJ}m^-XE7JD;Bh7&+6txh$DHHBu~n#Df7AqTovp|=q){p@`$ z*K+U5uOBqpa2B^8u2?m_%K?2p$TDV7$X$frV9ny(?r7$`!ew3GG(aj?#9&IJB;YQe zzf+NLC`Nz$8!6~^#X0WPJ{Qz7}%2e6ZiyTT?rzU1nHG350o=UC`1iJ8{QquA#=qojA? zL22by)}16{*I_IF8in5cTC`88z%1B+vlT~IC&x4Nlh|BzvV_2=PuWf1o}|Y|1ujjF zy!nr#nV&b=>%3E8eHj!NZ(LjIaVJ3bxj@i8ptyD)sugA zH-jp@Nhncvm2-0AFK}7VClYi{kj(7blVji%C${;_`dE|Dr|ZL$Q*DtoQ9xK5;rVSt zq-NdJZ-y{);ZYg~>~9{z{~L4Q2Ev#4z<)Cmwm>MwJH$#DkM-U5ov=MoCBiA0{D}{uA_t{VDc@l|bnGbG}Is`u-GqU?OGcnCJfl=s|x@?TZ5$^iP}`g!sb=1t!7@ z8;TEKLHZzKLHZjKLHYG&HU3NAeVykD_f>Vd&2oqzljumlCEpC?Nhcd1+^3N83LnQ z;NtDpnC&+F`>q!NjU88(p1VQhXe+%m`{MdsoTU;&TZ%PMBn8*QVv`aK_G(3QYX0-v zIna>k<@RQry@c;PBCm8H*{N)p0^uZ;0e7u=P+%9f3B!3fC9T>9~aZjc{ zbIe`}>jTaX5$=f*pNTGjvl0=hT8?I?kvnchs z&|bb`yxAM<+zmm?P&KdJ%^aN}W4h!fn#FKmXo@RwcQwQ4*6-0_<3+{o<^I~nYiQ8o zb|OwObAK|f_D`(p~!2-rn2KoWlg2-s>Oto*bDuVNQFI z&I*HqdCOUHrMbO6yzT>L$=Qm6JtU?WZl0$;3IH>qo>wWq8^gJ$ac+~j+>V;ZljMfP z9;}_`?e-g7{kx<3LW!Ln(Ei{f9R?;e<+OQ}hr1HTDe4S*;C@r4Ja$B$RwyhI!(b$J zIaSAz-^q#98-|-u&M)C4H!HsnE_f8yEm@i-4yjUG&!An@N4QC7lX2wfE@PR7eoooZ z8VIa@0m0f^p#ra`WW%#!=Fa(!5#~pa`ul%fVef>`bRNGbG?Sz%5L|_@qa#2{GRQ9!{emO9 zPEMuHe0%A6HMFE{yb+b?k%O)bI&Jpqf)St)wEE{U2oJm9S z2VFT+I%VgPipEEjESZ?bC~wR^73nis3ecWDwN)40+zb*E&-W-yPyc+ozYHY98)*0c z^-=#CHi8=4*rVlQi%i9|g8Hwb63;i!=WLm>2WexLNSlY+OKy&Grs>)H z?2CBG^@&a1RKY9i&~Y>xr`a+a0q$3?B*e|c_>#ioWUrL;izyDlt8j8%{` zBT@&HY3GD#=j5DM3MSYe-z-&58-h+9Tgp)6rwP+xCq9kB?Ixb{cV-VR)pJKRTMdYM z1De#oCx!z&?UQ!gy01n=d$#1H9duwu1_=R>YAy6a#VItRO{WLsZ`4kq%vy1JpX zdKR^Bq0f5Ndahf&EU!IxivfnxjxA1g4)R2fbv(1@t57{R;8GsMr4=>H?z>Fo@s4e2 zS{+qmYZaZBtxn{(p7U5`Yg!pC(#=^jyNvguRZTlv)&~HLD$R@Z%{8H|NhZmL?d_uu zPWSmuog$&tW*b1+aHqO$>7Kww`69)tUrX_j^i%td{MwX@lBSn6lgZ$!l|lim4$>NcpR(a;xYfC2&r z7h=tQ#~YK3z`=`$80E!}*AA-D`=5?H>O3W{P7Xai*s_5qXFVX++UK`S78_P>hrzth zD5SK_Yb!RU6;V}Ozfaz{S8O8Q(&`#-fUYFF5svJ!?kA2sm__rJ&{$dHuKY~RS3naU z0*{J%hLrp}?Ax<&gTr!FAL;#_fK-3JT_B$_beH=|fg{PI1A4OpbOF##*?2Dr&G`ONxbUKoH{Kl(g1De(aazE7I?-+r?$L z5yv@gyYar5!K71Tx!Z z?*6;-0A%(*sl4!;oZ4XH^9HHhGc+`KfDBFlM@7-~-i-&@z!7)0A+(4~-swG)Z1?T^ zk_+m6Sx-^k=RIi+5#9wZb)h4EZB-c|n-3yg^Tf!|Azt=QJo5dJG*mMW2e4i1r!Ql)H;)ZJ2r_VzXj?DjSRro}geKSAdIo3_!(W;YkcX8a&-OTaQ9(b zw=$hSX8Dt+!%OOxE`vt)u=k6L3;xtKC%q>E%z#bEjf0bo!!BHROIiDftsvjBbMsLa zEr4jM;|g+f?5T^pbbJlNr3vFx3y(mHd-O%sf^9{Da}&FFiy&vqm8YRg=BAH^gWr9% z{f2(Z9b;CiZuWFX|Btpi@u)&e)FSW*Q~pi zKZvwA4_v&K(<`2IjXJeuOg(Sr&|Eieon)nS{7Bq>86{CX**yQHx2v|jURkiuGJUqvFx#@{hJD%876s$V^#Bk4l5X?|0=4vh(4<>upg1N|4{b5t_ zIQW?AR>+rmEH8jy(LbcYYYm@i4=&qPa7Q>BDEroSeWWzNQB;7y49$?(vrkN#6|<5x z5A>ssa1vdduq#Ypju?~^9&Reet{6{X&)ZJ)E7k5(;jk8czo7^u%X-+roiIt$zzZDF z$)2F0r#&xxg+kbi`+9hW-QpW46e`ZPiVSOvEp>KbGlgIrum83AK-fT( zhaY)RK~t;zh}-(L-nt)FEfZTiT4b=u>7iWgq91v*>Ap$FWYO&3d!)iX=if^WGKR1KTfCrwZXu0oPM@z;i~CrHfbkbDe_q6crKq0 zmkB7RJhvjeqDcC-Bk!S5^AgWlZP5ViJZib?UQ_w3ux0*vbgN=&ld6B>ld3h}Soe_} z7&>c3!|NZtyhyv!+qtN1;K0k{TS-cZ}(5rif^Ky&38AHh_Ex-h9D%o5)|E=GdpzX z)bB9Lc-k+++wxszdXB0#`QvUK-~k>ftEnVas@4aQg}GrphJw{wW5uRsH}ZUh?lK`O z$jqAai}|&`lx3P@M=vTg3jmJCpq&VSaucB-ypkJ~tR!B`Ez7W4-Z+&hMo}DPga>$vbyrtAY2~GF2}_?` z^OpjztKPomFMJ=3_L34dxsF+4Y+YGm$F2g0lydEJvJEm!Xh~F0_%c92+M*#4(3UtT zBWw~x(4ukg_Dxn>WKbOMqvT0*Sii-s%2FhZgO*|OcB9OygOPmI-a#>Wj>@!a@y!o& z>I_81yK{xZtn;3)S)EmG=54p;uO`El=o|X_Oq%+vs}K7$i_Uw=0ER6JYSi}=Al3-7 z_Omh>F=UlhINhlX;H`a8QNoOCkZU;OP!m9lF{B{qm-wj99HILAvQ9*8w3BBN1l$Vk z5KP;cv(6?WZ7E3-{H*WQ6&dTHtB-7XTLA5Eed$c*wO1~Oy0$1qc11xw!>B&DhCOA! z33nMuM}~&cm9Y;iA(D4iB~{Yh0)AXmdf1?|i~I9s<(zlH96InmO9P;hFQhlI$K@+c zl&NWEeg=%3IB`4JERk(*2ggcbAFkQ%`gOLP!~5Cy`d7=vd3QbGVwd8HI=p~AD;>tB zwY`-{VQ1z}i&g}dL61*T5p*_w7G)82xH_R5IkEPjJT_T^C1v?#ur1*gD4QCxu{ z(>b&z-9GTTe1D=n0?KiGd-dCr7j^P!35xEN4{sGswq!aS_rWL2KC4;wwjJ}{3Mk)9 z`OVB6gJ||1zvf}3*BO8t_TVl>`2emOdmB5NE5(X+sZY~Zk`A?q-k`L1xx4y}mlLGL zvSuojN9|2oNyF3aIB5TSXoKuhxk0o?Io-qV`UYeedhocy@Z9}i_*FR@zqrnPvUIhf zKR9M`nl{}$u7{9bsc${o9$B61tC|gt_kL&Fk2b!V`}9wrs<9WjQM}8wn!`}7hfKOE zV7{xnqi%HgHqgXMYqUCGr1W8yvZdKNvSLcG5FpNX57Jnn(GF9OGsS!F6Ie`MJgZbj zm2kl1CC`si#1DL3=ZDK~b|@?9j0)F)U|2*UuwRVj91w{&dWc@r8%b>}|~g>e<#F+l;ix zHZq0uHzxXMWuPbyQkr+>@7}%D=}5J59W(K9W<2n84EB~whXO9-dCxU|_3E@b)NQQ$ z@hWaOm(c|>W_KPj&2?l$HA+*TfG7E3d|X${q3-G*Gk^U6lxj$`It^+L-<-K>&YId& z$+x1!-T1i1NWyjsQezsrSD3ZEdHz{%hEaGe-+`&j~WQWMrd#MX9}V!K*Ck)K1%$E;qrD<{W%3i5fGH^4uG-82t3pCIqH-ba<$krA57Y7s6EZI=+gye zzcfnE@0dBQ^k1U_>Z%C^^}9~6}X ze&owT>=b_1!65MlmOa$AtHGI8Ag*SJdB^`S`2d^}l0uX$3!jM-!m0*FhVA#9By?df z5v(njb;0XQE`J&%b_=RdnvIJMA~RONzS%OpQpCM@`S2!&0M?VKsM#>Qn8PRujV)OG zd3t@p8AUgVGxEX)Om44Sb#K}xi%&AN2FbLh^)tk0Q~pQ$1@jVEH+bP~CJvXSmt17; zC(rz0ukp6J8;e#36ZMADosp;wq8sK<0z#)n`cs=9LYW@{LclwLWLGifbIG!mG-M|9 z?S~zQ<(Mvq7=Q@oqlt!4o5f5yR>k;|&G)Q; ztrqyAo-U;~!oJQ2LOnyT{%^17qAri_ckhD_jGl(9Y-}l-u`msg#vH;Q9DPJ`c^tY} z7dAsHw(V!d~eMTGD;An0I)ci(f2_ zNqGgpc`Q5Z5Qqr^;~TBVEUrCONS2Yxq3gZQ^=#+Jl$GGZe16df(9QRLKE_ABQ2q2& ziPLJfA7WxZ@bV4B>1dd8%O0*RE+k3*JgA2i!t{a_ko*V?(R)3vVuJnk*j-DZ63X8| zZ}^BxeMwXPNg|j(Rb|qQA}qYh!CWXDhhy7h;nLwvV5t%+Nyp(TA5|BsG50ce|F5x3!}G?m9Ri>Y^;VJD++Fy zCW)Y;nm!S4En2zKZl%9LvRB_v-O@)+ zx8{xnjBh-90pqiaN1Ob&Ke0ErfBxuzIvhvYMA4j|-M=Kx{OrkoUGUHY^J+9TuVj}p zHR|~JK#)I2$%}#hBc~T%T6fN#=99tkk3ma=#P_2Qs)ZL>S1inIYl?Bw+J%}jJejW7 z%MVkE3c!PY{hpR25BSPK#IX)YJ?fKj0r0)TLv+H_LN5KpYJAk!NqoWUdeH((tn|C`TDlTi-Ks z#f=l$l5U>LU#cMDZA{3+Fq{v%abhEsfkGEA^!-k~NECeoh%sn5MJ&P{Dezc-g6_@Z zE63ChwObEaHO-HJx}$zJaZL3)Gw^-u`s9C&f7QCi>^E6W(?MUhz|YM*(Qv|;9M#rj zuHo?Ph<`(G<56VrOo6>uFP}|S=hcac4_&ADu^KUM&$A>O4@6HnZWEdn)PTdN3vg%D z*Oj1hqQn5MVFQ>g$c+)Shj!o&_@5;(zT1p+*O`&7sboJ^T;q6bhwCeQIMdom+1-|% zMY!iN+qxc7lw^2>sE8D18v{1Ov_(V8*ybwITsskm5vm?zHYk+ zhF^Akl#kCO^I;M9I)!^x3)gD<&GoZKl?Ka8?gc3Ft@(*A&Vv)Gb!$?CEa^$FGf%uN z5Xq~(+*8(EpI)aU5HzU}`6h&1ptZN{vyIgC0mnue3nYxz(v-k$Nj$eN+*wtgmUYP6lG3103RX zXZ6k)?(;^rN__>ReLm5gXD!!u?%A|oEP<|(VLcJuT;ZzL{yqoIo5GL+mKzROu zXArBYf%o2*TlyE3qTZEvb9xCnYPI-z9fyuN55<9jN*DVbw}o*C1fI} z{?Sfemoqug3n9TWUY}boG=*Tl>cVOXFE6(rR*NM*Lyhq@RTi zlWATKY1&I>gN&S_zI05XIZ4FzY(Jf{0G8P)9p3jUWDnDxnH@18?o`hq?Q_R9#V}=B z)7BdFuFip%R&s$ixpUgG0Z&6pEQc*KM@lRr2MW%@T7~HPShtbeJX*&5n?- zgS@kPP9>{6BVBWf;M@?m`4I6lY|4xhVk91uV!SWAJ=&bb2Eu@~)$?@wrKDDIgqi^K8GP6PTiKO%@LraNql;$S#xXY>%)#~oDz&LeT z6Rs&$ta?cwF`2UIjA3*?KT7S^IwxQE ziEcdWdI*j?c>ZeQH!zb}&gu4v*SFZA8&sWc*#1ov3wu@1wxVIqW}7w;vdUymq}YhD z{`s$@+WKZi-7MdTv5k4QXCLZ*%`L&_wG06TTHrpI;5fxTFG%wCe)>rocx=zJFJN7`nBgkh%b=`Cwj1p|nOk{>Ysf5NS3*MvqKN7?sCM}FB<6+G7iGHW;TEVRn||I5i=-UNMjN8X(?v=>AvcUs;RKr0s9ChU*TpMVgA%7QwDx*= zNW;3Vr5R(UWyszBJ&A>Vn9cZ5lTw`w$8xa}t8LI(T-kd)qWvH4707roRHKwQvz;TCT=1I>*+*^lJQ8XZjS8G=Zx^wj~|{1Gzpa0a%5k@#Sm zdQbeYohW6quq!Dv$u(5u+`A|pqc8T2=J-RuWHyfP$fwkWodHrxF zRMo*_lbOqeZlkFW&^`t+DRlvVaCGzeyAo2=25Iv-@2=SQO_nVOm*OiO2wh??44LeZ^o}`OEWp0tN{qdrPn=oTq{-{4 zQR*`?%nSVSDh5~Z5`sSDjY7Gh39=${w53l&+S8#V>iCuy_zJ2H098x;M4^m)Ad+eA zIT~b3oZ0lIF`hxC*OI^pUeXeoMz^FgYd6$_>Bzd&n z51Fw8dy=zE+ufro@$OR?E|?Z1zK!u$23gE*E(qib1)OE{4il6l7sg)tt>DDo=P#nO zLDz|+&(m+AQ)-HBq_;}4)<^^>w&5w?AHa887a+{v{vxh?kwEL@Y*26K} zp_(ir|LBq)0q?n|*Zt2~IUQ_*(ta6>#);dSQxB^=D^nQHjmK&1Y1LF0gQ%aFBxbo3o*3%!=0MR=93hO(wD-q}y{Ik$6$@rNoIo68zarR5 zV$hngZ*J>1F@Vo!^t_O2`@Q^WP}-BV+}S(`%2Qtx6(!-Nukw>46={hs_aR2_&6%Rm zA=3Q6Iwf?|i6goav8&E}Z}en$rmA?DGP^P;GRv25O^dgr9f!xJ6;1jYTm#$yqF}$J zB2%YXMH0AHPB5xi`+CicsArG3B&$l|h{Z8zjDp|2zeapku0WQUKd&zv4-_=Fw?JQF z!yQ^808awss&kK%t+7VP*jjiEbR3|0=A}v2n-Xo@nUbTl1+CG>kho6ruS9!!I+z`+ zowvA;k%!7>jYX+jlM$3&9ae(8Oai40X7 z5R!J%b}bTuyc;L$7Ye)^H?eybQ`38$Cq}mfktjP_wroG0A;7Dv0hGHF!w!9Hcxp0* z20(B4RNp+)zh`>(+@gCGdh1a>5oIuuLe!L2{iztxor>cKqE(g*>O(JLspm6xzj1JU zs^-%vlIO)Jx96#Ta;+VopYY+`*td2NBs{xrv=o#d@?h1I`Br9ul@pw4$5B=+Z(|)$ z+~}O6CXdfmY~IwUY^oC-t$(p%>@uAE<6PGb<$3;eCA(*Q-eUOvt9~{YUo-akb>nK? zesRlO8GlWk>SE+KTMqCV3rK?kv`0?zOS~vyhxpmLsAxh?4?7^&O1bw8)#B+&cgtTU zUj8yceEQo&kx;>0Ss+z9ulgkHFA4HXTZ!-7c>ad$;61ajg>Mjq>qje2pkCCV*e?oz zw`|oxbpJMi-1*yt`}d2#dZDYFq(I3ryHI8$fy#j=qQw3+cNX?*IvQk@1S-YR%3X98 zhlkyh#=83^d6~y)EGP!6bz=Xr)Ad(Zd>*QQcLI-BU5ou|?JR6xI$9t|cPWy@jsqMx zBtBg2Zg*Y{Tp4ZNB#%5H^CFqQO4DVdBW^lDN_;&3Z3wSZJEKojRA z55Zn6z2S2v#SB6|iw=H!_tVs6UiFQIvYm7^ zaZtO{cbg@^)Kzh1DgnZ zeS7Ii*c}OSDNqo&@kCVEzZTBI#tUb4D7>gQo6Ay?51YSIcM-gHRlG4z2X@dU)Uqa+ z{glfumgD#M3HlMo%9tWr4dH;rJ<>W8{zTis6d@P0b92DodR zZXxX^#KOH&)+`UYeWfsEPeAhM#w7liksP-}gd&)6Sia!;xC=)CgjMhR(yGzkps_c>LRCqT%4|!?E zA31CbjzcKMzgV6aD~q~F0b7Yav;I+9FM*^{=DTAo$s8qYA*8YV*Of#P8+Dlx%1~Q$ z3JtiUrtcK2l(CIQWCz78Y`J2$68-onY~d|eX1 zv?o(KZX$zBhwY{YT-uTa7Q>n!rcmyEwtYHe6W72MrG=;%Mb$NjzuB^Bo$*{2 zAsWa-SBSviBl6B5@y0?EE+F!CT+Y89yidIO&;LGtY$n(Zh z5iZH`a>(;8$hGT9Xxb!=qUzZ5s&Nr6nANViw)Pf_Z5E4J&l^t`i_I5{f%47b0Fa>! zu6`5(|3$Zi?PMe-q>8PReX$eh26)sr)Ei^b&T^G&q8^=qz;y~X64#pKrW z%9F+9^Tp(#e6!fr#nr3{D7ETpA0J)GMQC3OlxhJ=t+}c-07n`@|3LpPt}zg5+w-b$ z>1Pz1R>(`@+wm^h^Tu-#F5B^P+4C;h@y^+|b14pMWJDLqH>~j!>e};e8O_%@%-1yn zTP^16tmo@Mxy5|t|3N71zX?%mWGEE=wv?r1&%0_gALcM0)(9-LmYLAt$U|qyk1yDo&)B8UJBP59kD{itC2}#!(wM>8{KiNkD89HR6^K8e zanbdIrN)fbIJkYIH{^Aa(BW|>ywce-$)m;xHD4H~THFNSz*e~YjjT2EDRO%}+UD3{L;?q;1oE&bTm`(OcRD+P2li3|)X?@1!YF!%w%h zja1*W*TJ{bL*%VR-&@h+s2*cauky1QE0#!*XrZ$0wg|{r+uJ`}q{!$92K3w&QL+UK zSiM3=tw0a&v0c)G>tTuq$TP-nR6?2DX>P2%Gk&3LCb72rGQ&#=S)UW!RL0Y&0GIel zA0qHM5p|4~v{D`}kB2gFEit!^?oMalkqkN+8uld^8nz#w^PShp5s0K8EdN6<66o>H0mD;sqS$Cq%wCJy1f z%~G&@2CYbLE@1(ilrcM-cNOe0vNfbJHVJi$Y1FDU_V0W}NVB{;4<>et*<);{__al^ zJnY$`(RCpPkdRP2xNW~sWI*EKlT`QM+rr^8s<_xfj5y#eYb+H_*UY`c*ASa~Na6nC zih8}mj!(k%fj_3nfEcLk)0EWY`VJYZ0zqId#(4tclS48K8wM2;oGE#pUhz6Qm4&E< zA`PKWQlPS!s0EcBs)X0|Z6H#g)L~Zkj3cT9?n{fh*#dx56Un(Pp7ZTiL za#%V@mC6Qv$S$o^1jnLTj>~-kBb^b08@7KUISfD0*kXJDsgI?>9DONv#xAY!cboCQ z+mucZ3_DRp&RV*3*hnjZz;oJf38b1IHKRNqS0n?XU1sCGtS12L1txkr6JFW9g|dLm zH0II*8v0fh@HRIaMjQ6i)Mvfd5BJ|2ahjTDcrSj^gp0HD(~1@?WRc`p617dJNXB%m zzxT-qYSw4E%bzrm(KNSW_h@Q8E7Y)dw?!IYU>ry*3i@DJQws2COZP~zZi*@_)#&nG zw`ifQXg*nO9Hl$HZS3)?VtTDAOITk3t}o!)&0Y)@vvsM^Y$1C#f0@h2_Qe`gJ@s57 zuPR4rp?`Ldu{$YrUzdrKH8wyjkLkK5EDIvvowIX0t{j6hcXaQa{Cv@0Ax*#bo}D}K zl1%1BH*ak0_d8lzSxlOUfE~$1z=o6Ck)s28^0zn33;ou;<|^0O9+jnu$`9-+5uOm& zqxx}%VasuZ`m5OqVf%|ML=0`zn~MVKi}eICZ$BxC%zj9tQ`o=%DOYc&sp${Nbw4!p z`UM4_WtnA_BMvPxNFuqUwiyl;TBKn%u?`JBDbPfwFCc&%=ggaphWBgPC9LEwIXz8% zv+<1eaX7%;y}w$ z#FNERLs02N!lw$O1XDlgP2tR6Dq&6!56f}zr5?@?$dM3n zXe%c)(S}+XDJ9C`a{9B_#nUh5WgmU7g%jVU8iO8`C&B&T@407Ihlkd*!BHd<@tBy0 z0c%Q)r>jt8Vsr{g1)HtKO5zEQ0Z=3%5(K07t8X4dLn25PyxtjB%+-8Xgz{|#3=`oJ zPD~YAi6k;t3o)04e~rBOD;^eMSY+gNpmx$I9KnDXO+#F?P52dS`DnG`ASw%y1Q>m^iF7!`iLIcy9@K>!48gg{K? zym~0im7t|6^l!Zn5x_7M!_VREj!eOf!jurSI4FguQ9LKG_`F%36}lARw4h7SDrC*i zbl<)S!z-Xl!F?c!{fYrEGScW~~R9FVGS~vD@J!ox6 z!ZS40x~Ol;?EN?8VCgTlf(zlOlGS5_IXivOgv~IBjK^od!wJ zKB@9*buL8~ORT5}Nl=7TW=sUBQ#XyoFh}bM(mi#lS`dgCO-h^ZwY4^ZB^U`i;e0nw zNfAu~8hY@%F#MniG2*veVR%p+5?99gpj1|L?)ynF(G+l{@dM3#Xd{5mJqipw45^}(AXX&|4}qR&42p4R5Ol8zbg!iMfViD1 z93dw->llWGI@RGvOq9aPfRYuR*Kgk>`Ejs7qBO9DERiHch`m}}jZj>mZi;-6;9R{c z!vP_rqiuXb4u|3r}GB6rq)Da(4rTC$}$7}G4HMSwFoT+!OSrdXs!1t5DTRkrlUqH%?gKWRR?H+3BiH;vC%gC))HYAKq^U2up$8jJB>@T#ghGYrP9P?auyPX zF+JIU2wH`rnL;-BdVCbp9}`!Ug&H*E6e6rGNoG}(@wIo#(LBKSQp!1I(GYVq#R>5f z(l}DHIA(bt8ztoixj1YfF{A#P@;sRX5VZ7$D9zW8MtBn)t}59)a1gY3V*H7bi?X^# zV)_1Np<1AKqnnA{&NbXlLDfI;l;Xq7(d4AUf4c$f`&hGL4029{X#x(|kk;Wt;0!ZKzsKRwfh z!$GSYy*CAx#y94#Ukv4BxGarHC`~4iSTpU21iAwTS?YOYp;Z__9rJ)THs*o&p~@`9 zO1qi~<&Q~ACR<;K1Jc;t#Z^Hh&1eV%r^N!zQViXJ_JIIQ5-Zm=ZI8F*d6Pv%No31QZt} z=HHHc^2eG`Z%covvOweD1#p4Bi5dPb#7;pt5|o6wQhu**;6rhfUZ_%N-xDUo+KYp~ z)E0q8`}YOZup2lW%)^9PRwOVG#M7u^cV>mh+B2fHJho6#xqio6GB2BK0tq}MVX|N* z@f&Eovk?nHP4aG%Go3UFhL9=9a2*hQv=kfgnyG%5?~WI6o*n6=-{|!bq(=|<5erEoa3P6*FYHK#%H*hjO=`N&%KWiA8kc5-Xyh!y z{J*h;0zr!@#t#buxvffx6-m%{oJF(c5))Xo-%*{0)P979dW0?-Ip7B^86dZnKyEAj zcDo3imLuAZ33MNOGIJrr&8*iK8KoUPAVVxvVwjQ)*!gt@*9SL+d`~?l!;}xYlN@;3 zwUJ{&{_<3*Z-a%PB`|hC<ww@VFv7U)4$VP67BZHRXps?U3Mq%WL&TEZzLl#+N z#jsEkAo_AeI|w%!{XjitiX85#qHyxbO|+^s2U=MuE71u#oFy}#rnvk^;*HEfDRQvW z)UM;-9Aa zmJ*xPWW~VpH(Zo%;VV-W1*yTp5^JSL4|8G3>9P7*5Toy7%8Wt)jQ)AbeykO2Nd)y$ zg-4AZkClv{`o5;6%8v=b0C4o`aNteMDs6NUEU;#e!e?2JM{AT|u) zyK77OnYr>4fuF?k(%K~_WON!XrfTiFcXXOsN>pJW_w+EKNJw#Cs0BS2!&rWq|I&ag z`(2kNv@4m93NPG9k+@t2n1GzWf;i$LEdQENu}StLSv^U?FB1)O8w16C;g zfZ_uyz(&{=;B}k$7eIv5sVnM%Xi1QwV#yrDSTGc2NnuF<3ob7s8Os-}0Hbe@oqLTV z!Qdw4y5>7z$%9XMP)&jfxxfUr1(8&gEG&j%I>8+iT%1LJ9M1+h-fuF6;xHNtt~NiI zbRG+l;Hiqr0$6Byq2h}4;DfIhdLc(gX>ml=U{s3$FkziX-((^cz#0W%wh+YIj&n6F zT;YA{d6A?_Fy&-4V2o{C;iV=Rj;!8NL%rzA3X;D`JPlTkEp%p&L?Ku19bvBISkLT9 zKOK`yL@R*Blu1OY%iDHh$ZIMXvq}g&y+8g&7Dqy;b;}KJZy%AnNjt|YRU}n1V_c<* zV+u;OOZzTm?+~I*s{&Xgd4mM)vt(*$@UapzZ81Qn+ zWymNy+H?L%R9T`9zQ`F&#a*q;h_xo%%c>li?a29UleBn4`Y=E_;JYHGiw1CpjuK^> zgTh-kR4Un$I^82$yfH%<3<|~)D_DO*xg;h+it8c>dSl+E^U{)D!aGa=&uOmakZZUP zIv>(VDW<%P35@ZWYq&`%^wsPu>-!rLye3H2F=h+(;)6T!DOV#(`4Wv_hj4JIKs-Qq2B;!+!wyZ3&_I9V+rWRE4-z5jr>CLFA0A9UM^lGRc%9 z3#H{rkU<#OHcxvGJXLcRH}C%%uR6CXlFAPfLi}bDniM^4svsR_TZTcY2y=A`{3e4V z7q*}N72$$5EpZmP?-!86eP4jGpZ1I-{U$TsIMe-$E|a7Jq!w0E7Wz*Ymg>>MMt4*y z<&wIN6I#-M3(0JfZ)C1BP@}3)T4DUhAjl|G$(~t%EEAwqcHlcolFmZU*-(%M{XC0b z7fF@LipMF>8w7zM+$-Ojm=@~avtUmJMuW}GhVr_A5OEeSiu?*U76$eG(e87 zfQeC7^b6vxm7-9C(U5SHVSFbZARJo!;hZGte^K_1SjzPH!wVP$K6Jdax?1>126Y z7xEgcWg*5+uB7dYc@4dE7mt&2RQV#dKxSX;36@?ZZZVe*Ktl%~w+y*?{hHR2I^St0T)+itrI0Clry>9|D zy-6|juj#-BNZF!f&@H1uMjW6f<^=r^AXrv1Dl|K!&a zm=PO5P4ecE79>EFh3v;1QYSi5XbCJVjC4vXj3%30Gb(FAhAP47N zV3uMCaJz}a$d$t$xvojHuUK!Vw_wozcGZ~9uvvNteV4uJb3Y#lYH+g%ELw zdwO8jQwbu%tfxDo&I_f`vR)!7Sg^$9@r8LOJQto&bslEDyC5RWdW9qE#3%|al+H}o z-=XmNGrj9DLr8>zf$WEjlDxtw6E(R`opi0Xza&OOB~-saN)ocL+vDB)Vzg6J$_?2! zNeEp;ASZ2$vee8nVPHH6R`xPbHp=Pi@5>%<9ivkNBFi(O;NO;{Jf1KeQgg*9Rbz>( zvKBlTvlw#UoBYlEG+aXU&l|bTY=z)NnP8?{SdKgebK}zjN5aZ|;)|sNhl7_%PGunq zNs_Ql4~zJ%BMczoNnsH$YsmzQ_#7bO8xdJVgv1F+MU7|6V18dFiJBH8rWA9E-%+#l zpdJ;;eNREB@)6NCIZ)eS&Ni8V^3@Ntja+@xX% z$Fg=H+`A<2I)!75YdUvAB{h;fnBg{-FT!j%sg9{sxv)!><)8e!+iif|PGIrQml%s0 zCli=yVQWc;9EtkZbWkqNi+^%{J%tv@SCS8KPaeZPkxg1refE{)oeU&q06387+^_VQ zduU)@pLCOgdHo~OKVG*MqU9nMMeYU4{Vd5u7y=%>J<3Tnpzqho^6e~{0OUQGI~|3J za0F3{Xk{QXJTGFf=)h&%Ex{58ZbsVJ{a114`7-x*;a^-JL(rK&ljdP5a(SiFplZ7_9hhwg7|gyBoakY z-VK_oQR2uJR!vNhf)<<%5}ZsipkV4~?&I*SNr@QX5OsoG*RUGI(B50j0k}W?mifNq zZ(;Q-Ksq9N;0!Q=;5U;i&uCz=KT0vgeQ(^$3B88!pwc&hMaB&71_>FJVaY4TJQso- zVE~?j$wCTdPT?91?harFgXse0zd8~LFSLuxLf!`X9FSu?1@~7x2lq=bxLcV!0gUt` zp$Erb6a)YigbT`@I3G|Dh$tY%`gzZKJbV-op8r$xfivlew&N()3r7DgfJmx}N%pY! zwQ>U*^6ni%|+G=Q`&XF;Z-ixWye!!PC9^cOu;@6M*t>=31G!#zp_bd4S0MUA(m5 z1{d)5F9L3W^~1n{@_<0!Uj#n#(1_pHI=>sol{vv?) zfB@rP!;*1g$PFCKI}NL~TcMc;G(hg?twqqEdu3eg_i6MCar(XOfVDrBit1L)OT=6(C-;`wIf0 z?kDqqK*0Q;H^R8iym{b-$zKq-0T8rd#P2?dGy>%3FYy~b6+rnX9sb>Fx%E530P%Z> zNKXvhcmEsl112u)D^9Y(4FJTi>>(LA1IfS>NCuvwPP@XgPP;xZ_Omq!{u>87>G;6n zKrYZ5FbW_B${?fq?tfB&x4tBd{#c1B$U9*J-o+^jj=-V20D^!WIceoT`{2-ylnA~^ z{GVyMp9q3wAwV+RHF+}XTd4ryOdO@a)m2@ntVMkkk-XwPEZiF z@XVj1$^6guBYbfS2xfS5?*w!i(@Nv}S}1|1i#qZT^S!T1?E(LAKLB8W0HG7pg3-V12Ugp4>1V}2EFqA=zM*pvt49k2mX!!#V)G~8dCA_moXgSIFq zI@za1lf3^{fQ9CQ`V2&bs~D_67y|-?$FXjs3B!ml$Tbipai#3j78YLS%KOw&eIqMh ztPY~M2j4F-f};ZpnSa6vMsj-(ms;@t{RIzaoDKpR@CI^t`;CEbsu9vmvrt= z7tjCUehQGF0V6n)`=BSH`ycf$+L9W$mmstB%Nk%!4DMnyE>FayVOKkgk0@YQJOAu? z_M@g(q)`G7?)#ViywRVA(Vu@xA1mH}=nt?WK!0$Q)E?zN7zFSirU&j<@*nQ^u;GpC zQl{Z>KRhVWYmyKV_@UA|*1a%t{!#Ehg#Q6rPIR~raBv@hoekj38NS7?6$2cw>R*Du z%9nHx-8dr{{qcd>U)l>O^7lfIQJqNmf0)ja+`gV>YXVQY{;(^9hWDs_kVZway!C$u z(p|VPxM#o^hgxVKR*e<#1quW z2g6YT!vWgE4$vMV8d)bI6Y^1t(9D%kfNZ>i5&n*(0;WF%gAmieT}oI02@YECr# z2{3MCEa@rYoNBM8sib+XA!&c|B#ObH&ZfllV~Sx>oG@<1S`DjSrS)$rIy!1SLb*<2F*s$QaPNH?`xRjU~!L}2O1#4A*Wu|PCC}H+lIc8 zp}vN$ZpNOGq2Pw7Z@VdyQhYdR=lh)@R?A92V_vE?4KvgWU4{SitFf?GolgxN@okos z%K5hrV@=q|(9XkrI+bnA(C^=kAKtl){=S>R-hDf{Odj4xhv(Te5*s*KSwc4@%Uc3s z>8Lcpq2l^R9is7lvF&7?esLFqgrxp z8e3T;aQZERv80+oViJGahiB3T;ENjMw>k#M;+`ZjV`F_+!wO$mG059$7gqE-JC`(C zcg2Oq?bgPoE5Ox$w4*+>kMtdjGaa|e4`W$>#4c%TMRX-vcHuPC@<)yHZ?I3e9Fw3p zn(1fl%RR&IPz{tG!5%h zoG^Z&%y!bC9+RMjC1vCm019N9D=av zFOKFEb~3)V-piT2moq8EgBUf=MGLp*WxA7rgX-GJwonYZPY7Aa0!Uaj-kA`fX*kDE} z1#`|(&ynK4M>Z}OE9Yf;h1sVRtYoVcLK^ZOdE&GVl^0bU^Hq%)4om<~^bHM60BRF5 zAOQcb0H!%=6;h;!4tV_+bJS?O<&z_0Bs8q#Hcy^DbVSs%10O<3=b~2%PCB3(Y(mE*xQVsV&z> z@|BUW!zz|hhF+OnCFnXbz^^4&d^?Q~m2cCepMejWYNS<*h)~fQUPe*hV zORl}8`FxEL5Q3NZ#qv`63evhHI~m)RtpC_s=i^WTJ1g7nYtL%Et=C{7IcS)5(2dr7 z>&q3k#qIF*i)jBuuVO7toDLa#dJi+K=ud&h`dAW8-`i(ZJ*`Q{R!iN!RWi5C$!a<} z*6~Gef46wo`Xy!Cjb-)jP}={-vh@Wy$C}=^+O$QYs!IEBY_O1-~T!@w>(G_xAVtrB%778e`|*s^Y);YHR#SOw+jC^}EdDWn6G7Z7;d{!>Q6N7CB3loFw*eq8)U>*Zp2Ei=fBdcFf zw~OYL?h3nA`v&V`>+yL9uz{wDe$7^Et7mgU>P>66;Fs4&+a#16IsWRH!Qf7CE%VE? zN+E{}_ZH3YgZC0t?rydyalAOn^Kx{$`!b}@JN>#_(~dhjz8$CWZ||sJB@e#*Zm8TP zOm@(V=iTvhi(&U0^r}f%$}~?t`ejbE`O5g0TE|k`D~UWVNrmbx3G?JMb)i~~i{aDy zOGc8L8=uOfb6Rfh+r`=}0Cs5qp)_ij-^a^AU$pWvzfkMBI@HQ2sW-lNw#ooKexv6X zt2KWKo!L2{-u9;v?`CWm3O?96K7}f2-0Jy$(d7P|TsgV=VWsL@<*S4A!^+Gzkl)+T z10~S%+A1smT2cE~M$Pu)_t4|fiPKB*%R>jS{H@mujU-LSZV?UDt>e4VgD$jJ7jLjM z|1hb`*2=B^z#6m9^ceJ=ukJtoeJMebeO9zcV%7$sGEsAhIREX#?>w9wmG@FfyfLbr zW8q?cit6S@>_q{0ev!V(NSqRlQ#(`G-^jiaO@HhRgL? z4iJEOdmDTAsy@Zbj#`t+>+S5*<&D`t&Q}{(n*MD!#ZJ=mbyI{?G7|N5HoEE8mZ{B^ z3{;NpxWalAcTVmdZ52G7p3N^HKgNcmZ+&@h96$MUT!epmCz6a~=jrU4;D7T&uG%u1 zNVENvY58xGG_+mGrd~PRY&EKxONdnwVB8vncGbrORKN*Ed+X;w=rRJ6_4rb z9q{vV_O#5sWzn(r4zDlYuXX5X*#Ak#YJZZ!$}JsPGx!UO>5XjH?*7RR#QJ;~8eR#1 zacX-tar$%f7(4uQXCKr1R)!C;vg>*IZSZ0|h)wgtkROI|F=+U6%RQKHx?#ae}vy;qX zxBsmSNKUxK*SA}xxuxT(9>P?UFxKwm53ULOymP98RhqrsK4vriO+Bvb>e|g+-}TS- z_q&~j1kCC?sCUV)I;rlx`mRpyQm5yn+FQ%7*k`HyRk~GFe@dS9e}_0*cc;$#o}9~H zoy<1i-pRf8`m^e@thKy3=zDH@Ui!)=#-_i*%go=~KgCU5{p`C}jooGP8+P}W>+J2O z+Rn-iL6 zHzjMLhi*Xz)oCd6g_S#KLh}BXc2Co3`ChVLeBC8*C|?;~#5LB`f2zyi;!DMWt!b;S zd#kufaOf_hr4CtW$*#(Em^gC;wa?9dB!4Y=z^mRbXyDZ9)yM+;u&0sW_w8EsmR~lG ztY0A4tKZyPUP9FLPv`9?q@eU1%w??hd*b#%PL5{2-oE~-0(9VAC0!Qfsr5_lIWOeP zsf0`JqhA&!lXDVLUsIuyba%OjBJ9XB;JMu($@ zDycpCT->SsNDiDe;Vf|URKqba?~RXgS9_(!_jneoJ9pk#o>V@F45UOI_~+nM+KSTE zuQm*-Af&>9BU7L6*xRn#SlBb3+mNzN?3VVjMNO779DTT(UrM2|Z(5Ikn(lWhQTe~F`75YYl z>$v~5=zxvM_)DKn)XNU#m5(3HmlH0hdO{AxPQFtQC$H)he+xQQeg-KWH-Bgr)uBty=LF@bmUrYR@jPK)fLM}zC zYM#(dz9`A;=@$;g&DWSa(ilSdy>~uA$`{-a+IULr7|{0f%OcD8JdkgvH`L{%%t`YT zZ}o)9`RvAEwErKcllkuMo1MDoczUT@yOzXII>NSc@wa}xmECb;x7nwyFIM!TOtf!- z-#8mB!O*QNmjsJPp| zuW!{l8QgwpNEvti1MbqGPmTdHyCsR%zZK%1dTCyzdl@@Dooc?Ru3Sxbtc3nft@H4`NpJr%xcBF5X5SlZuH)PJ z#}J=p_qsCi^m^hC!nBX!>&CkHf+$o%$-^F!*1QvppO*7`SGz>%>7On2YKyO#@@~V_ zS*D;IRr8^>=Uzp;ZU^X*Io)LZ8(n{xPHZ@T&x>~H{9ZfRnLKW0zNsyoG<^S++7B6A zy}$FjhBQhAe{ku!(0JT;wf7#O(SETO)0RpOkAaK16UYWsi+@}3G)T>RYp3BWp~m+x z!xFY560~-S=jidT!_{ysxFPtO@&uxyw;q?@p}%M~Uw$&fR6MNOYl_nF3tgbSQ8*>< z(1=jwhfb6ijv1DbBx&Eap>G&b(dbbVhT=5*Ml11#f(YhE5={t79GK-^zr4@A;cNy(HwSxWN)z{5lvCjs(upf6Zw+qqY~1Pwsfz{!l*I#QPSA_8f{Wvc+h8M< zGNfF49$bZC2t~nUQoJbMn2!4Ql7une@#$dT^Wx)EY%oDQyfNQB^b2CXTcelard6Mz zfT~**Gq;Hge(vZ>{)j`7Wfc!R$nopc%UuR~E&2^dXd+emoI>-|DPE+}_!sAuRY|o!QLw^Ob7%c-rx$Cd@gVUa ze~_v>`c`VD(Z;6Qk4*USPa8@tpYF>pZ6^=s>cRHeCD9^rvXAltMq^OvS6G+TUR(Uh zrY$SHK}PaV)*lBEs!wPO#X1CIbFT;U^TxNDQXZYh4|>m|eSo8#>gYMqW{AiqFj+190}r+lcOVL&)Vc zq>I>?= zEG|e_wC{eH8W$MeJrWSd?c^v6?K4@B8hMlSb2$hXvL~LYiInNiz0oeA)2f8~I*&BuR`DW}r$_eL|(}kyvUt zP;o|P$g+DMO4GPTHxq(Wl(&q4_x)aY2CA;cBZc*xz(@-e>-Qto{Bk_!!{wIEJrXaV zN;?Gb41H3= zjAv~KEFnQVF-knz%OjE&o$f*P^m6Cf zBUNrKyN31-B;M7U{(RJmU|W^T9l%xA^HI-b!J7q|p;JS{X$Xg?m&;@t15dn;R*gPM z(zCZ2EX6MPBbaFk_ffzV0`dBR#IhDf51gjaBcq==@G&5Fo2|meHQN~!Q!;`HB4B{= z(~t=qaw`H0T<|W2(XT*rTB6+Zyl9Z}YPnSxFd(SRM~KMTL!bpuENls9s@P@=)6d`_ z`BF;q>=9?re57C;5hCaG-wCRWGSj`M)$T?L2q;A~F8~Gg9~9g}tA@kK1T666g;^lP z$?!wErVvmOun?xAsHPEtUXpfx#bR$mTJ)qB%2081g*wlJ0J3O!VnD#|nE)bj@}TsX zq-7_fX#>VQa~4NHV69?G>>wP5%cBK$mq|D&M*rtdAGCk;O!whF>Uoe)PZ0@EyoFX> z;|7fHVsPJ&D_KPXg$^FW$+a+s3)v`vrJntTC0vo}1POQv(BFl*y-O4E!hQW%@Nh1>yMbC7TS-FtDYGGSBu*V$I|xwd2_#BYitU zZ6Q_oyjCW}vz(&`LCn>f=;cGt_gSUVja4(r_-{CQq5V>{n=_A@n1lWv~0hdgeQ6_MBZcWpJ+a^%;UdcbBHUgJqMeA+1`Xr?wuPdcwgH z3m-eR4UVb=wlA^eX`E-{A-uU41Q`QOhb_|Tm-TANmFEe3AtSNT0aaDzKZmtGVbgS1 zU7K;5WZQ6OA>xFxdfL+mtnFX^Eckp)}jHUrnobVJXeGYy&pmECpQZ| zwd~;?(4I|eX-Pb>np`In3-M%ANFP@8JpPG>zlV5mHdh&X3=M$(VrG5iE9#5Y{7mfg z#B*o>2{a%SyvtmJE#jOVWDlL@et|>*oj!YkWbK;~xq@o)3;r{-ye==K86+w}<>jZz zb~GKHxA!z+PyEfv>&TCwaW%&m`6B1W4tc;Cb1f=v2Z&i?LxR7IYokH{5pR27B4(kS zGh+G%hloFL{l3}Q0=&lv`OetF&J?U%;!O;#gKqgsPR-?4-hk#D#fWr z^ls7?!XGooP)kuU)nGT$tEVqQMR9!hI@Mt^_Vl?TXrR;bzwY(WNPhqR_gwfIX8{&oBQlH&^O*v_YlhvMOErAFBxj3*2LBo35GA3-sjTtURX2_HcREUXnZ*tj#{ z3mGsGzuKuI_ry21O95+;Uo2ke{+fe&k>;U*c4Y7rlnQN@^5^JWfTG6GIHDw`i-0y-eU((YwJ*1 zG&Oc%&Uf$ua1?3*a2VnE&W&{HQX%&>Mu0Fp>g0>hdt*QnaUh=haMl{^*rV6Ie7;s8 zb)Q=H#SOhwQWeomvK)}OpzDCQMD>=S>o~qv3e`GG@39@y)M%jVJ3|_(G&R_W1J;vJ zxVZxI(~lq?%J2?Vs?tpf04l*cImSm^sM%jGDWX1tFhFH|pgIHG1My8~m`ALBVbWfb zqcygg%K@hU6qxAURqA)h7}}NDbY6;_N*vlPN6e>N?~&b0 z>v)#95Z=4XgOX2+*$z|MOyfZ4Ja9b9Hyo4zJ`jS5|9@HW8OnK?vjga3%r6J%b|P>v z0E1&L5C#WR>{Md!?%aPHLH96`0dRCF--D8kYwb(yqv#BnS5F3*4e0HzQ1gf7I9f`FhC%!8g?nK$h)EizHd@7+=4#jygY186}hRt{)U zql@3WE2H_aH=MJArxL?fVe^FV$$hmsDc#nnv zrFlWafEl(vaY8=@7B0yF!}u<9mjBa`zVCP6bgrJ^k6U-H{wFTAu|UJ5Zks&7YyPI< zy&#HvL9>_SWImI2K5_pxfK3G~(0(GYut#<;?r&hSqU4)mw!b5V>Gh8BUJw8#pb?-K zCdiWSKMlYIK>sQr=vVB$xV8Ii=bRQi^&xB(W;kFb-n}4{dqIF+$obr4`7i|^8mRaE zfJb?uL-*qTdUULJSF7J4XJ{9OW8}Rc#Ct)2Ucpm3bdRE$o|ua zTz4)!5!fHv9az}__Nc_>S!qZr*Q2FTpJ@b@IltmxZ}lL+7jIH|W)*1J{l$|l2qNMx zan;7*K-YuTFr!C#Xz!_r zyJ|n-h}Qd3$d0~g{z1NC)?B%R_1(Tf8*5y82|IyoI{irlgs^ z0F2=)1D z`TH@gn&DlRTh|m&c;x5W?DQO`bwTs6DJ-~UB_gmXjZbD+h4x`<$m5p2r=fy5rPE^%Uvntsyn1_on$%24IBZ0!oWW%VkSMUE!Dh}s$-C{xV`CvJykaQx&)t;r6)vnH4GWm8oKvO;-Ph5+`G z`nb_YpnqLelPlLX#Fc;>ML;krbJkK{hjXQwosHN*H=VHj{R?-3*`H~goh?K1jGb+d z-g%|uQKQTn@S*~|I1nCHn>1;PNN-WAGzJ@t@cU(C+)B5EU=x#Hg%ET zBksZHA&YQ$OmUeJWPv!t_P+fKK3!sycBh6R5l?z6V`mi~5 znZTT-GBu9c#YYtpDR59Ucl`u{L|iBXXXDMJXfe`fdYAm?#LwO**X{>}yq9@gD8C0X zf1&c~Tf1qRG;w5#QCkQ^Rf?8=JoLQn4M}v$6WC|MeO2eFR(7qcW|_yUWj(|$#cw9g zr`xExygesXu;@X8U24K3I#=VQbO9I!fb9r-!p|yN(Ukkh_ZDhszep50`f*8A1+J$WWirO z>gv6XPHfKus;vwu*@6?e;%_=SztwP5X^hI+&YbzHo8}2?`)EYcD8Zym9l$ITgAX++jhNw*?$b# zKcD~PBS8fBQbdnpjL{vqPn_=fDcE6jcC3```g--`pwx%dY|70b-mBZ7b7%kD>0+k~ zx>3QqK7o#10x91dEY(}>2J6*oT%Xq5?C&nNM-vzZ_)+}P6LD`!;n4MQYJWB{TfI1& zf0sYznD=Mj$=BOi^Rb6#ce|j)yn)D{(fn?Yll`ixuC|*B;XO;`A8q;m&YmsZHEK$b z^P&#-ru;wK^Xci~mHF?82O4|k_rO=os{$EHIr+ArSkcRI&Qr0yv{q%7(6^1v|bNm1ZhojKUQ(QwU- zcahSf{p*Ff7plcvIU}!WBlTBEkE1pGo`_Blu{64q)b{yte7gJLid^ce%8bt#7CqcH zH{TB?us5p)1pIu#l^AYdkii zU~lIe<9F@)K3}W9_I5>i-5s0_es%IssI_$WZ>-c@N1H{m)P8=I*KOAle%g9z;@-i# zc4TtWgu`wL{_e@k_o?6b|6m zS~BviDhNtKRY5!)RWAde;>PEeVFrEkvS-MN+&*s(MGBr+poZH^<`EZ{cL$t@m!k4h z8GZLhY+Yn4zH>ZF(?L>IsfU{TMM9MiOANkd@$s36u6Gk$+S`Bp%+vPM9Ocn#wYiSk zo;6(?_&542!o8@c?Fi7^`Cp80+u`_af(*nvo>ub3Ki3R8`FXygI=q-R|M5xVueUu- z1Sq+(9XPYZh;ZZH<=dTfB{f5=2bO&r$U!-Ik9p7$Y^^@w_jntsCci|EhG&_I{!!p! z7o(Yn8M)`Y?%MV_L?X1_*J5C{ z)t91m!e%7_?_MD9o+GB+)|Wbk1iAU}b-gP!-7@YF2JVET`iqR<(GU%UZ({SHNhS!h z;Z_X3enu;EN8N-fZKb^C{ZcJjDQ3pRu)681TD{rHD7NMzLFp1(mmcH~$cNK0lYIOq zKMx|$GzRq@8w$5nKMHrT>3G17b)p4o<0zH-7w(s|;Wp&}^1+UB3tBIs=wb(4a3qh3|&m(8ilfuiAf4Ed?nOk|I3Y`g?+oJvno-rhiGu*dqb>!?I@JNyRF zG^*hZY8EqU$LK>IG5S2xB>S*NO`V2+g2^JOY^RA}I*=|uKI4Q*Y>c#t77X&z>)dW# z>3$Y}8aqFx31lah@#1gYUEf$;Gq?R}4pJBi4PQdvfxFv<^=^w&44+;`-#BPCsrdOP zd<%qTpTFDpd-p=F!S*cmg5gS?{>s6yE79->QdhUF=|1e9Zt;Ej5A?U9+ePmk)W+Xa zH+9X>UhewPsYOpeJ^icD^6}2=;agwp+h&fI#ne0YmSO*;ZUYV$x+`(>nwHehX~V#+ z^zH0}Jyp9pb+WUZ%IAjCu-~`?f19K!f39%WhOVSny`awh+Fd<( zegW*MQRnU%{JnlfpMoV@-J-cha7x)zM6J?^zmQX;smdbaI@`%zjjSb|zlH2fW47uG zqZZ#C6sOIIXy?QfEVKgQ-!}I3RHaO>v{h@weyMi%ilmSqbX!QvD}ZB zW&S!o29Z~Xc@iESO3^0)*RBRfYX%1b5>W7FyQ!*1ttLO-=k8ClAOApko@;hq{z@LK zlA}HR5#>I3G2c!7$M0muk%QFiR#JS00CPa{nzT!&qf+7IP&56T&&mFv;kR%t)C(ec zhw&wo-d3$|8qDqGG(C=n#=7>@r7bSzbKKbYbw_yfk-4a*MXb+3G@=TM^_u_1R`Cph^|i!Ci`^^?hMpqxz+XskSWuDMAyB%-q{|^2en@k z_D1g-`nGv!M_!y}4}W?a?S4R0a`jA=4tXp8Ww*yu`g!J5YudF@Z2z%$L0!Z8&BSp7 z6dZxIa^ST}(6^_xNmGV5SJBbk20pi%%LbWW)w@G8G`f)lYJOY(c3luwj>%@^6EpX} zSvOY>#qn>uJVFqyWke?l_0v?pxpi0XR*xO2`kcKs)@+S@x;OXHJ~u0BiMwDA|Fy56H2<5LV9Ha9cl}R^bJYUP)9V+Ag#W-p!sws4W52!2L)MQI z!*vG*(@jxlD_`hlo5z_xt#u6J8T-(Iou0(IrzZ-xEKcf@=XweeW3=F$^{mHD$k7bYV19DiYdr}rR$C*II_#RC;SrZ84w%?o<>WUwGNesLcd9cv9C?Y6~7q5Mm-I!ARz^YhE~= zJA-4(tIY5kzk?BP;)HqSky}JQShKgEXgbkK|65qa`Elbs@~uE5IK%RPQ{Vct+(soxRKHVzqUEk7;&Sjcj(J>WG>m~g@(UN*Zdj$r8bz- zZt!b3&&~>UGJdY91G4Vc^cfwJa1R&CsyPY*)k20d5jm=tjOpYoIfUGqd+BNT$azu- zFdnW~E=PG}kxSN?urML$I*p0X-Lo~4eRRoG=0q4g>70!CIAbryedMW|F@>iRl0t<3 zTSX{*o9DF3jjYe=u~ZL+h2Rl5aYCHjWewwJ{gYgGuSh$XC(Vl_cMF2K*Mr11pt5L` z>jh_%7t`U7_B-%&@I?y5!dHkxHy~pC;hAwBU4SBDySc`Nzr-*FfBeEV$F`pK%-UQH z#+o#mR-SqTl2Cw+0)gOJmcA$6=Q0xA-^N8D!Ap3xGm=ghL0`bP{lhm>b(Be6?u{uXwES7b*pGC62YY?KF8}O4ZYhq|!J_W&(n;EC- z7YfoAoO>O~$UY+1nUkh1C*cwM!Ul-`|$A{G&>@}ALC{sBCqk#)o*=!h(K4x9xvC5TjPZDhCPol-BM<3 zp{=!2o~wPzKf*)R*Q9@Utox>&p;8l$@Pn)JEk_mNZDNKXn|ka(^i=m%b}8DzaH&lV z0g)%+E0JYB{Zty)P#QkVCa0=1C)b)!9}`Co*t`7hUh|^X|KZ#S%D?AoNFjRQE(T*v~>XEUQG5!mbXoF`sVn>)9+)Ii)WgE|%nYNz>?o zBFJ{G%*i#9f|t?s^L*Y{;X`EA!{0raUT29T+1GlgjSiSA)E5XX9pI_4Op5e)7 z{#s3YUeBec*rgsTkn^@0hMk2JqHeFqwuS8GtPbN;{z~D#vo^b`Q8G18(@*lF4QtKw zNH-b6jtZWcOnf!Td_RZqN61tud%X~KZj%^^##6@53CNao(*J4B>7?_=i)Lu1AF}b) zI1~ONBr`H#TK^Esf9#yLi)5Tf^h;6J?#nLg6lS0B%e};Ye%K@;<>y3pD<3+na~lIJ z$*8CJ>iN5Lc3Ic=(ajFV8m|_#(LH=oPodLARSr74Z0iD^3A@{omf1ev|H!(Wy^DyAmIRlYIAs2m%sZP`bu@l=0#46;j@y<-L`$NAM1NE%cR| z(l$qMq`q^-f&Q>@gnFnl)uX+b{s;M+^$$`b;>C1pp@$_SjfD!BZJ-uA!=D!C0s&7! z=^mNJpVX;(WsH&fJ!hJRmDz=e3g<~bx&@7X4?LrJ!qI8HEa=Y6h!H+%Nl8}D>b+c^ zW0J(qKShNDJha)t8$*%D@2yt_cXO^Yi-s3FavL>A*2+BV)9_MTNc zUqN_vqzao12JW&r_^WtzUm#?SGjHlOEiaB(B*|Of%dHH&E7;4ib{*j;bxDRuJz`QS zOHQh!*ekBrC4%sy6T~{pVdW{X5jhCSP%4g~>qcsl9IKO5vut{P`Q?>y-e8E-=KW$; z#4~MG;HuI?`>txDfx8J~g)ai+5S_QtrmRYH!u*4mO5T?7ZOjy1-X9&;14A!-!B3Vn zZx#;?{B(xW?AsUwf6ax%j)bk+%Iie4MO42Y^PCwxOLWR8czy{ zlOg<`p3+cL->d_T^PU%5fp35NzA%AnCyLeTmO4W`G74mzn{BQC(FE{JX`6kCXVf_K zsYH%b+ZF8<);*SJlAy;UZ;euH-6fK!dq2}0FmXC?J|stlF*YQG^yWbQTZQm3N+UAb zqr9uyvvGda;XKnlJ=vY6s98VwZR=$+(VDlw!(FFeqoH-2G#>N%ts5Es_|3)))%`4? znBL|c4R@ZYI=J*yVzq`N06JB%&y})>;O>k^okG-?*rDjgM%?5SuRayk%N<~;lKVvC z5pzL?Q_riZQmgzY$g!Blh(ta>d$6O9~Y+IgrO5-?Qd%7c%wFu7hTI?(f`sj6rf#KP2HET)yeWq*qD~VXH zFtf<5t4D&uOy~O*XG%&LqS7@&S_hFaaT^%{J8Dl|Z{lCiO+a=VCvIOkkB)I?rE>UV zIz-r4&?lKSc`a=7ymUdWc#{X#1^xQwQ4mrthFd`@Odb=*@W(BbNHl23nELibYiV2- zo-?WzFTJEzL}s3EVtkg$3Fq$YR9Ues(rAxVhL3Hb2o&1YJBIt}83!)(mg+cIyh6m2 zS8_bWZK)%6o*nFu`Tyv852&V^t$$cWJZ|Y zL-FT8%E=kXoqt?qExzmuDtA0Wx>*>>4jx@F@;8I;++}uRlG_XB!oM_zMim67Z^{0I zDvi|BYQ5dolrY{DxM{MLhJCjx797|%+tvhb_Yag7@ylEdvCb_Dmzj}Fhli<|+^gO< zD8bq#>_!HjJkTMiQ)nYf<_7mvv+%h9y-tX&^4QP`+WAD_whfo zc?C8lG}cxp3OG+AU?Q)dLb}DCu8%!^xb5@s+7Iz6kuC9lhxPH#72g;y_Hr^r_`1R? zMZ$snqK+&y5dmG7n|GFb-huS)iS}@Z%e9T^`_1wU${_DA3Y?#hH}Ye+?1kpliV$hc z%f@cTKb3v+DMnscCr(feSryLo-Clg&baMNRH^|iQPaut7_CrBT)VeIH-ztUYU>clVpoQ{lh2~G}ph|PZO@9Z++Uo!h_O0M?jbHvpg)bFdF@U%kpIpZJ)yP3X$i*+hFz-BjYwlSf|2 zg&Uyb_7VXtt;%7?XcmJWA9}wm1@wpcTM*Z9L;>fQ01t-e<`J&V%PT*N)^9gF3sX=t z@RfO-m8qK(aM!9Gmy&duN&egqdDY5?b#?`VSSKOz-7@P<9E5RZEzoEng|`Q+gJe66`ppx7HN zcwv@ewgU5~fMjFHZl?KPN&ByrYo~`Y4fc$gS_a>BSi@rK;yzO%aeGKv1=c!T?{G&j zAK#{kxDXa>Y;8TxEgrYqa*?7#0~6j{JMX!cV3{`8ANGFYllOe&pk(7E=*zai^Iwq- zFJ?OsE^`hYsm%6KYuat8*%5O0D)-XaAI}Av;(3Q?t^_z8_NgPyGlkWCLN!cNv3%*< zs%apdbI)Vq73~V%&%d53-pEd7`3jybbQC7rh@QLRS|>gR?`5;7k+sb08@}Bs&vxQD zx9Pn2j!pjX_7?K3o9L4SFz@{47u)rppVe~`)4U@C8jftwzHJAEAG9_{6<$nN1YMyG z^MVBK98J#Q30pVB`ui?biv(2Cmj|tAsjoCiEsDqefNn`~S;^-Y2WCf;pYMI_%k(!r z(I=v41~n}^c{lR4?dy>o=f(X{-Lydf?1%Sm>GRZI;vaS3gMgg{ZjYuda@|E@WLGog;#=+I zza*A(5aRw>tv-HFU-_^VKkxaa&4>`MO=yy@0IWA zY*wo>;kRM437Ai%G(RzsxWh2qd(g@V@IAgSp|kkrZo;0eTvDOKp>yF|-T3v4Rw_=B zy(UR8A;0OmeAuiv+XGEgM{4`k@tb)&-r-IcJJbKX7#Z`cx&EkK#Hp0uKBK627kz7v z&$v{b%_ebvX}cr|WurN{3K5)rZ8wpPqJ{E%gjlTYxqbu6F8|cEYC9zM4r)X;b!6xN z_$9Yq2A6N!oK@#3Et^bJt{nXMx=mlnZ16#u#HHdJ!C==esAp zEwB;%W_-@*QQ92e%w5`?kFNveG;E2f^~0Fn2+qmhJNaJ7nTyHm)=cwNChb_Ru60YM`P31Z90r(rdTAyMzFLo) z4U}x9975>8oy}gdi-Gs8SgwENH)p!UI~wmAFXPWHf*t;Vstp*2bh?<(8nDVE971pS85!seXwYMXMYJ1lCm z_yb%8Hc5)E)IRT#TT>vm&96pt;e(fH@4>+`u*KRFeHV(`S5|iqw!$017jgKWb)Lln< z(T#%F9298voN04oU(D);)_!QaRd9o$LhM^^y5elMl2ION)=~AVgU%qa_}bc)4?zMi zZMnygVt)poF0J7|syMTuRKGb;i-|=yKAT>4P)hl6iS*M;_p%SIQ*o4}=S#0tglNiN zh8O08IK`c(?MtrvS=?eNIINK>W;rpxppn7zU20J@$r33gDoQ;X>OKT3nzdFn@Zj+a zDMhDdT!QPYMRmH|HdZc?Vzi%ieW!H%nWH<+;%)PQE65mI?2k6JX?5yxC zyzl`d%ap+mu4@^NwLR}D@p+9@wBsai{0acSWBkP@!~ROc;Wvq_X23RO@XBt=qiYR0 zzNiaXiQY>@Kdsvwmfo#CtteHgLC)6QTh*LpO-j5@3w!8qOTzqWE zk)3Jpe*K~lDd^JEn?b)HTm-6*H${$}8~HVJ!6kN!4Ir&F@=L_z*<|mN4dit@`^$}Q zRbqLs9$qzL^IB&X8FAmHn)Sm6-4}U>Ql47C z)~SQW*NPc?yYe)w)z;;bzYo3qL|7t_=BhQpG+7^o{l}qn-EX(xE`Z-}Y9t=IzNzVE z8Ack4jTknRyf82>c+*~X2=Vk&p-G)H2vJXdyY9G+Mb#o;_?g@JnS|CWNR!xFO&uSq ziI?zA=%sbO)%B+C*SpORKFNf|AP^lXDZ0b;?Sz)6XaRB5F?(KV8>-v+NzDQOtC0af zS`E9P65@S-{e=w6&4J}%OSXL*o9aa`;N~&QV!GM(0aU!DX;8o6H|bqN0R7oTR*p-~ zk2PSdZiMZx^zx5jlQ2ByhrM+WCxj7djx8ClAJdZ@e=?D2pPVV#t7pG2Un<={)Nxf? zZgVPKzV9w7`QgzUH!NF0p>7GR91g#S;V!-FyAGBfc?@Wh)M42Du(xZB1dFz5VA{<@Ijrb&;0Xlh2n%<*%{hZCvc>?kDky zFL0Z7@~CW^>a)+gtUYoo&G~?8iq5Xv&W@{Yk<-0MFxLF^K2=roU8Pb*Y_KG19Y;w- zWs2#m%O%b3o-nT)+X^agCi@YqxOx2m;SKBEzf+UfASElnrg-0+8?vi)a-rnI0OkD=8Nll~i_p3hw$99V_7hF9n5%&n0Hs{AT6F=eoEAeXCc*O^yPLN&zodXjt6 zfwKCOt7g5U>q@a=T0I7JI@bSOHiE|e-{=0e%XAJbF(pGDYM*Rs(s=pL{UPbum_B)i zwv>j++awp4QS9}S>LT70?8JjV@}b=Uu$ci9S=*0_g^{ltr!PM<@txcCWHYaqrtfW? zdyg3a=%l}VD?4@wS2XmgN`X&)t=u^td*X>2062X;IpOB>T{CbTZ zuy7JmSm2becU~2hu#?K18NhbhSDzH~=^x%%HDukz)5qKXP80iHTnxYQolPS*_Hy9u z6zGlb89SrJ>zgGRUq-StM)W(yTXq0ZbHL#s{=M8VpS6l#R=F#p9%OV@6Td}yr z7owuQP~xKaMPGiKoILTr1I_f&tB#GmF?hf3mL>9*#kE@txpDn10K-<+%-6BMj%Q@u zY@bNLLPA{ovvZ_(yQMWAcsNz|n%!P2GGvoUHj4|Apjm0a-JnS#9S+urUHjp6uF7!B z(aN(fXO7|01%Ksmcu9_=?EUpZ#u0CoQ+D3r-_#4|=XmMbcUrZUvTBm9jb@%0wl#EY zVITZ%a_l@rY)b+sFMpnyaiD41P7j{YV4uvAfq{i<7ZM|55$~F&l*pm0_-C?hf%y}a zh({qe`E!bmR(`U~2QoEn#v2|5-`ehREm)9{eIW?P5yI-fK~)~1sBhGGMfD$-^~!G4 z3{F2WJ)ac!&v^2dy*B95wwv8wt@4@685dd>lN{P+dmPA=Dv!1D8GIdg^PstqB6*vY zs&JM2dRYi%C|5)g;4;ujYH_nz+(QJ>3W^axtxrtY)`~wdN4Y~?(cLjfzqIZr#PpZ` zfA%ZaV@~&!DP4OC`8Tek4MPJqnQwvUMaV3sc;Uuffcpge{S5pUtU7N?``zX<>gnbL zKjc)nof;>qL`BAcS+x>Rbw{{FzbVb7fa9hj=CCoKfQLjkQFb%H|Swp_p;J_ z4Yl5sOMkI*N(n=6xE~w5S7^bhG_JXP;2wmqNQ=v%oHzjPEU(TT{OK&TN6h~YKKi4* z`kBzH;W!_cqwjj4-Gu#)c!i%P`RalKkJNC@BB2lWh=vi%QzUl}!(FDS-m~p8X4C4l z&-Q6yf|?i2rs?a(MJSz|wD=){VCQJ7mhu*GF&c-xqH#X`Yp?ZBn7~^~r=}F2{cb}G z5Mkg}avKCNpB&oQs>k8w*e-=@7KlSu)O1c|&K>w8L@S*_sB=@h2L!4S!xBiFLTL$| zo4^03rQ*&MvBPiAmngLgJ=szZ)rL-;Zh^TFe~|pAfDlOgoPHvr1$(-iwnct>OmGse zJkbOBHzBG?YySG2ipi*hh=uAsDdg6%y3cBhlHSd+Aqswf>%cX%MT98=OIalm+7mhY z$U&%WrN4}=j&tGU)7&;94#Fd|>y3#1A;pP<6-S@s{+yzpnK#?%{zsn3c3E#Vx3{f3j&wG@3E%-=%Yp9h~rKu6)e>BsX&K>w=q4EA{tQOWZUG zTZ8q3flnm69j+WKASU-WwYbdNPS!SRv=GN|SIA@UbwA4fPz(6<1UtodN;v2wJJ(OU zwUJl#L+jI=WSpM|$pA;DPf1%Oa+(wgiSIlm9mK9mpQ={xt3f;Adtd}*vC!mA=+OvQ zNNsLwz;P!QeCkc1W-en90Thq6)3sAMlHMr>4o1`?@Z?j?u@90_C=j;O`Hz35T(Efculc#U+G#1S+f`JW{%}Q{j*yQIyhLHBZ3j_ zA;&{f(+d^OAg{?^TjSGi^KA`rMW=^_?dz3=p>Ae6N-+d%NMnHCVJCJzAFs^O)c)A8 zX$%%bp2PQo@#G;h6GKs*In-3xLx^z4$wu6j=aLO4o2$J_#@5FhRA*AeDXFElXhAqM zm%6*>dFAw8V)04m!u0PJ+j5h3Xfx@zQ>Xa8UTITx!~> zdYa37u+3HBP41@dvI`Sfuyu`Vp|TUR2O@7y z%gVhvmEu}JgdCRO592}ui6zF3AeXf^DkvyQ-FZy1yFhJ2&li zieHVGmc4S9Vgs_|2*StY2CtBGnW#s}TMJz6GELj7nNoYy>Nri=)?hyXfCF=>|&I){<8nXZ^2WtgWGWofvBdg7njEMzL zQd=jS5s?>qNZ8{Du?+pnEO+G9_Le_tPqFocO2SK72qVsJjkZKb-CQ_c@5u!(D`BO~ zLq;1{Qy3>G^A=R9lwq~pNq*=yIgRVo#li$Z2|b#gpC|s-&paK(ZNj52qw8Ke>1eQ{rXiqBgpSPR}fp ziAd5@$)b>{Hf8qhN&@9{c94)8V(MM%0`$Vi_(_EZ;uqmaaH@qX;yG&JcP|r3@NBv6 zuaVZ~3<)vdkbN>VT?snIr3gYUP=$|A;7g?H(1{3tyng5dvaKQFkHNyPwaUd_ zge)o=a=a&7~p z5P0WE5N}9MIi4VH;oOWAPrq=(5d}DkTr;xT&ym%wnvWQGbAP*1XdTSG2=luhdZh1s z3`PM$+Y~#-m?pGtKbhaJSta;EEl>a0Zf_z}gIcTRffGIZ8}_bqrcIQA-7$ozb=ou+ zsf@ZLg*aUhz54#CO=D94<#}g}p^{VN`wwMYl#0+2WeQnJ^pw)Pa6EE)vT(XSRth{Y zvQC)h0{c8{3E0nMKim6Dk@}lTX>v|mwOo{_M7We}2!g5_x=wUE5~Zwe zZ8)~K;5^z}C;?O~kZI+M;%KH++Q@{GTu|2OzLIMY+o_?#P^Q!=iLyV@ia6dsu|&lU z=d7Mm*H4KD+CMGu4+(zXa*7fLj_dC#$_Hg2PD81?h|}fO!>;A^W0+;XmeT0rdau^e zTCpZK0av(ADyt2k8d2)&OG%{*lnEs>MLkj_+u0T3rWXYqwP{hK~?a*^IyRD9mGQnW@JgkS6s=YA9 z)mAyeFSn3|8 zyc8eTE8!hMq%=2k#EJjL+81j=x1R-=W3rT$)s+kEsSRgZ*R(j)pW?JMdqM8v4wPwY zovTa>94(MEX<%j{x6eCz+8gi7^Aa{#2D-*nCM6oDdjdnZlI5vCVOus<`HSzw6YC8&9g2A zh)zS~nksMA)KM*(ACW@4F;x;q&R3_o1df!>yt*w!AysasI8<`m-k2+Y3sK4VD8_7c zV6##NBwQM|cQlr*7(LPJJ|@z}KT}LB+czB}SD0z4J!tvFsNu`Yk-788(A;8Z+xa-J zFg36#E|8a_rOu2xz}m8u0`^_4tVQdCKS{ccmN3lMpm^q%85c4Bxy?2*`+lGr-O#;{ zn^DMh`ZPnPF?h}K&*hO>&7sxKrm-PfUFS>0#-aFc8P7E{JF=z1p8t8xlZ;dqQ)(X2 zJ=_ z2V8P>TOOI`n_mY0^mLr*agc4C3bZuN6#6PQyi*xg_$^6xMfhwtD{N73_Ceg2XW4X` z7(O%2W8~|WKHHXCnGo;PW``7a6sIiR7y3qFhQw-o4d&vMQR7`Bquw{T2LL&Y=xEgP zqpr&M8t;R#CN&z!L&GtPO;eU-{Xs(r;TTRhHsJ3n2+iNH-pYF9<5+F(>x_Sr1KT~T z_e;xzn$E~0Okc9z7y+1N3Jy+e`5+9G7-me{DyJy6l>mP`?~*u*j@bOgUG1bYM zz`odqlB?Ac6WU=SYCyIcMdwCTV>#3f!Ut>AFxglYCaLeMhvg@OpWao+KN3|X4tUA# z1KzU?l^;b(yc@u)D;IMcI^B%*n|#E!Z-h=2_7udchm}<%e5}iRq1-rbR95nYb^D8A zNc@DF^y#vFC}D>w=cF84h>Lj`#HmK8w^3~6KYYHnod1N2dXc;bg-(+?!C*M&{$d3D z%pnQIZ`VU7mcQbg+g$OUQKjZNCV|xLG`D$lu1wJe)2XYHzwHRiAXZC>n#aW-Lu(EP zU0pCmv^Ir&&Ivl2ROvU%Hn!7Pe1D-W!WEgw<4c$*O-@tc5W`Xlcch!45gvgcu9(B>8&)N zx!gL#*nPc8Fsf7>VNSX^ljIm$D~$|pRY(Bz4ioes@4iL85Prif}oO6TQkz{=tg z1RIQIH5Ynf(;e5KB$FMHMXJ~Ez_H36Ho9n;PPc2j@Qv;{2}+HslQ{Y&64L0 zC-<_4CS7r&l784^%Lyn!fh%}Viev`74zAu!G7EHrX@r*Stw6cHbc^6bt)^90942gB zz4D!ta*xKQh~gpyh#=9U@6uQFP*zLSHs<@(i+v2cX0rfD%6f-yk~OYLD&8EkXa+$N zFO8*{E@5t48RA62vDa-t`wnUO8m1Pq>xHbTcw78&7`j-uqF#gUnp+y`4+wVxW=L0%E%rexx5M7 zTB{axp1zU2f+}~~G;2C?&AR%LG^rmbrP)Rwp%}htf61zvK4KmOd^9m~TFm#1?i35sVob9gfhAPer-y;4faP?X1jQAJ;rRDls7dn|= zUL|J3=T_*u$!8vD-K=PjHicC20b^NE35^m)TXsT~mjN_Qid&a5xlq@qRS71fzbZu+ zQ+>RF9q%?ob4U&*q*sCdmeb~_?Zb#}5e~7gv*YMEOfj_fSN}sr^tnQscXb-Bn{!9~0|()rK$!_I2UuVbpq zzlwF$Ogb}Ex!Q@nXc{NS=g|7mexm}EM5Ak~%VG0yKW4x@cUog}$AuzE_#sE6Zci&# zakgDrtRt+ld`%mk&VNFvyR=4XHP7{97@cD)+V&qK1=6FGnb4qZqVunuz|*+x+wY&Z z?)$UT@0^OR)8wsg25Zptq=JwN#kxUODza=PjF#g(atj@mN7@+Tby>ogjNghENH0~9 zo9z0z@r7OtzZYFuv#M>iHi)hSU06HIBRb8_R~4H-@+-zH6(#7r!t1;FY<*|E=eMsT zO~c(vN!11ocAlByuzXp^cR#MM^lb!nb=Sa>InMqHd2T|B=>uqQL*df1CZBUxJqFI# z+L{9$;yu$9_9lS}emri(sCK}}S-!V|U*Yc<6&J4r7O+XXLQRd8hqG7OtQnsae1A%3 zznH&OB}dH zO#i=5wC*p)TgpG6`IfgB?=ySjV(+!FCkYWn9aorH$=X8vh^l~NN#wCliL)cTp=ACl z*~i^sW5JV%iU`hSSeE619hn;IdJD_Pb8@5K+(FIM1$dgbHH9-G*%TX+a}a2*BGKFU z)dIAY$*9I@wdi%cM`3-+8_Jtg?@0@;FbbGD$TIJeQeWM&X%DL^%jR*q z4}={_2Vzof8ShLMI&9VI)!XWi6jUzDoYrP}^|j`xnfJb_6+S-N*$L3|9lQ!M-iYr| zh(l|p7l?9j)U~dU&GN5F3yE?(?pRNlpL)sRX-0AUXlN29O2Y$H3oA^G@^qH0sJ_0R9mJ)}{%g!7a^;z4u9aV`i9%onZBhFu+462wgG3_PdGY zsQMWT!$9DrL4y(}i}V|S?5&TMwZDElacCdNR+K5A5>)ndgI+>=We2(x$5(tBw1cX6 zzEu@|!|+rn6#NTh*;9@bp=w7k_HI@F1+}uqZ#qtKWrWE8A3BKFg$UY0V4idw(6KQ6 z==u;*TbPg_3@*&XSaU2E#d)^Jc|+oS13304Ik(IBK`V!#qZrV|!R?1-1S7QvKSN{dKfaK)) z(tinH@BzYi^zI|9gB5$5OQt^7zL+?pDTu`t|KFa;!2B6WoB!94dM@j!|2yP=eBhLC z`ix|~is%?}vsgR>!&9kH_ct6^UG{A|yM@a*>(^(+ul4tdF$l7OsS2uD;DW zFgN?1cF>Bi*z>)5;10|gfJ*>!LEy6~z{eA07o{Aatxk}Q8+H!=KYh;zh`AqzLyetT z(-@Z!hPyCLF2HG^{#h&p0w(^+P5mwX2PEOfC&?~Et-2wfzs-#O^a+S?uDlYM3;a}X z<_=ToBXmH`{LhM!x_>M84-NkTA~0T!Jwce6*4eWAA3+TZ{q~vBs|bBlsiH1n*|=K3 z(T%n&b8}IK(Me7foHh&A=RNj~iv$|B^tUMs2oL`QhFSbvMsm(f@}B~yxFz9wV9*ue z{IWCSL}Loe6rzD{5Pb)LP~Fu=OyNaru*3PHdHZ;0z5M^}d;?gYXUh*vE0||x`0}@r zw1aN_JG_Rqj1sKx6mR^SE~&ru{%!;T0sf&HOnD4ui{@0pW?C9+V>ujKn6YajSn&TU zp$=8JduF)5)%hFLp|P>B6wm)$;xa_+9-=~_;=dpe zYf^qT-~Sd|0-V$-eE)xSQ^i&}3Rt&k;k2hX_5UwO%+zT9n*hq8G(p~RIaA&asr2{B zJ5vwF_YXx)cFs~Z&bZVHgP=((xm&>A?0Nej1K>o3@Y0OA4)%@H@eV9oZ_gQU2Wzg1 zwV5Jd8*pENO4fh_XE`=(YESApw@fx+hW1xjD%y7wE#(q7Y{h<^)sgPb4m*t11JeDo zJ8>-rsAg)46?a^y<%lxSdUI;M;12YIgE~`LSg{x=`oi)ORwNJBKi+N`K>(5#^0k{qg%v<+;t99` zb8FC*#Eq(9r{`gB;lib;)fyxf^{1u&G2C169d{xlBuL zK!FOt<2GR-7_=4kecIp<^THaixKS zB=cce3kFdbY8K4kf%A>&c1uY&Y$V1r6wv3g{TY~FTYU=_J_OUQ1#UUgzXcxGR&&8< zyI=}GSQLwKLp^%bD>OEFue2j2Jbag~D?%Op0ky#@%<}7Sfg?5dbSOo|}x>AkoG=!kMsn{DDu2Ht|s$X$>%h$FvMA(h8hWe7=#z3VfJGt` z@J%@wy8x7gKaDWTIb$X3T(MBMDl7sE^Ez9Rxg;z`@FD61U-7$oY z2&Kcf(;Y(T_S)%iO?2DiVMpk&Lrj?GLfCIinA<|w?ra!vA#8g#%xSa3d*`_~?zz`a zhvyvka$|R=Ps}F@3wcd=DMffV7T^tle@D3`xXdpZ&J>^;yDNNRG?wqPnRRL*XtRCj z#V9OqP{NKZkH&L9#SyfYKJ<+z zEOx8HMF)U;De%00w|t%XpWFyqWgq(B6PA@p;f5%{ZC!XgFXx36iO2hZTRKvtr@tHc zp}bEZP;p4OID}aYvMLIJ3PHk!Ak2c0)khE?0f>qKgqaVr$_w#%08x1Wnc}{T3pR0~ zo7`!iB)o<5@cP!bf%gk<%d0ye8epA#zV3tOJ!P6#H@nbpug-RTafEo7SjoMIab9#J zTj4%LQ*^>hU}dC6+SfnFG()*GS@qonUX8;{K_>cbRk4;$BWs~Jvk>aqb}q|1nMdp^ zp$De6jeEY%>uw9KIO2jFi-_~djC{z{g#ng9^WA2c0|u4c&63h>kkXx+!lYm`(;Ve< z@$ebIlm%eM0x)L*SnOt(aon~DN(Avh8RiJFlY~)NQjg=d{p#q9PzG$u4zg+o!P`M- z?IFze5Zg87P#62Lvs}hWlB_dfr0fi-8hxP#ePuUaw?uiwg})W^`m0Y|6R0rz zj|r0uRtnQU?u+VR<8GKRL|uaw1Z`k;M-kR?tiXlZFSYOVgjksARlB+0L2B#$f`iiI zN8qu8^%p!_w>(w?q`X6=d5B%77`T@J(uKhM&xb<`Uk0n(2 zEe#A@?J}q%|0w*!JGY#_sN(Bm8^4ZQrTw%C6zwb=)tjsjjr z)fQ_^q@D;x=&faR3juuVT#S3Y`vhw?I~#ca>P)@h9r0ixV}U-xbUvfi3osx8+?0VA zFAb#n(ns9FW|+}OyuoCkJQX~qybLzuQ%sVy95qD4g+H#qvf>vm71lBcJF*L#+@T@c zJ9b~KlEN(1n(?CJrTWY@J zW~BN;h~s{0Sp4J`le%1{6C6G2I+kYCSA5!EZMSuB?}>v##&e3X$0T`o+7G_h{>^JR zuln4OiF1hyt(3_6SQg{1{oIhRY7{W`29}){CSF0a%D>)VJmag%ac_d_mDj53%r6Lt zMa$HaR=s6p?G4f@x>&s1^E+LH0+`3MZU9tQ2WrRw)qSEkPLaHA3H}lU2U>#7ln=nM z?P1Q0*NG2uy;s;z6p*9nCKDiczp3H$yB9zS_U5w@+Y2G4`>CI=Azwt=&UTHvU@n_@ zWIT+Uzx-MA8UOdnn~jt!!MQmjQSdCtHNP9I<|wu&T~3uqoEaxEUggiGZ2f+!GK;5< z>!Ti|pQFm4$&2OG`X$LjtS>qR;G(>9-rQuXgX4fnLqpBT!Uz*EWALchCBFXdt6rlH zSZ_2gjv0GT5T;Cs|M3vOQg}V#Zf##ypYK34FhyZSdYGw8v(9I;&Z1fas??;;4u{S( zSND;C9FlI8;1Gc05VoRX0j0AIbKQbVj5k+*?Ex}3xN2nC0?=0hWo9sGSvT?eg$q{j z@Q&OsI`G)<5n_$U8pKHN-(gd~7vJwr<$2JjtzM%CTh?M<%-7L2A3u$b#olgV027|U z9zTK!J%UjMV1ESi72=O;s-2^SouaE9qJ^!at1Y92-$x6-j;wwiDg5e{%T&jU%9e4b z&oe`~zx?F_=DwL>X=XkZpdS^WZxoH?{uOqT-C)DNJ}~<8yCGlHOYS5;nxVrFx2wYFg4Oz z`l&HguP4V<<8w0whTKVaK$Cht6fDoa!033~i|xD~>+(fXTFj_;nY>NA(L zI<%xM1V^+A+U=H{jRESjU@OnOQ)8FORNtUB?BxmzY~ZIbod% zv4j)k1Zh)6!X1D?`@*r)iAL1;{^qiIP+(4@ysK9aCF8I`LiD8p!k?yI$x_k-hSz*l{9$;K;B)Q_tqRmB*!YH zC7KuIcy@@^8Cl`$Z;>mhm(Rd5(JE9TIH8-$3B|8Ce3loK55O;tkPPtxRqkhbA?+X! zgK0b-yX~hmYl=V|*WNYs!>2i6u3R;Qrd(|*n{m(4#;7;njczhc=4x?T_R1+rIZ!a! zEC@fbZg`ho6h2@ke6)<^Y7fP)6@C0^{q$XS(Z?+_h9k?Sc9()bx8FWMy7pcixstQ# zJU6CJ654DG|0&#TYv}C$sLtXRs98F15jh9;DNzrQ2{gJpF^|O2Rom~a?jD+#>USJ= z2N_?T2z1ISrdD4H@(#cYORdn^Ft?+1aEQF)-Awk7=4N1Z{p3+K zUg;pvGGO1o_=AsoRxwL$?1Z0I9{-q5JgZi5NUi2({jF<~&3~G{H1gJ-zKCHIG#t|L zL0{WjXIn}=={PLctCE-3D7R8R%yn)7=&&bCm9*}6z&qQS{e(wbI}1m|C1-E^(kV`R z)TXyN#aQc>Zod6d2`**vWh3AeZ z7f!y)SG^*kQ~mrHI1KqNfmZUe>VLjINyGE-08ys+I9>mvs%Mf`i{hE`p~Qz|3^`OznmYZ z>pF8BTm;xX64O-jBqdD5VGM28C*m}BcPq1iD=s|ty_3g&ir9_Wx%0RAS#v9h$GyMX zM?RkpFW^A18i)5mn*pxXc8w*o&HJWYNonT3wNQ=@<$4$YR&kEM$PH~W-}9?n5_QT;bLi$GZm#sbR|JSIB(nzmnkcsBP9xaFojV$|nG zZuYoa+FO1twEN5Nie*uZssrr+w)NO>>wTlNmU5RFJ2$TCyT|0UO~niMjthhhY?H^f zZi|dehy_%95s<6=a#!L_Q(;xe^teolu4Cz!_NTGe5IaKGJwMwZ&8p2sP1*$OgB?HJ zGxtT&$T;~lX}qv%a=`O3jt$hv`{0@O*2I%L-{p$yp^b}I``#^v+|cERzBLr*cxs%} z#uu{y2tMjdSmv-QG%MKl*Mm@U?I0S=0h6lQ>}~qM$uu*`8Ls1|CF*wEv;`vgu!lMv zvoIU{XE9}d{&X(n_tw<&x7$a{Ouj3FjYoI@+4f%%?BTy7*lnGg$%)Ndd)4c2rCEMJ zKG=H*{g^h>q`k`^f^QGgIQeub4OaiBboj2vw~t;|N38e*jC^H!emlC0OMD|Uh-}ic znUX&COMA)+w!h*gSJ?IXx@NSyj!jMycLz?#Z_VMH zH<9C98i4KxAFUGhTw_VwwCr!KY8}nrK|x=8t=om-F3TZ3Igd3PHNp?A+@gTXt`RlZ z%C2k)={R%V`TI?GM0`J2#kf~){1u(4rRMRZD4_N6Vv7IjR!V^V9W)Pk(66lhOAN@g z`eYk8-WA!-O^V(Sd@Rv7c~3X&4MPF=Up4>1sQ=Gz^oHQSNvvO5D9;!l;vKZ1vjY2p z9w!T)c|+m=g~tI!8F^~qy}K=Qm?i-68}Cf$o{_ZZE&ImyN9#2apUThPbEaGIU8g(w zQHfStm9KZ)1F?XoVe@{7_7)J)C(Gj!E=Aj}tz7mw z8ti>AbDZUmyhHE7@3E+oP=YRw1jMfXX^as1Y5xe-17I}nd)-mKAv#~ojCL}P1q?@H z2i>rihOQ6>2%W!UIh|jhl8`WmCCJio-4;-uT=#s~^B#vaEtXRdrexp}R)uDqQNB>< zV*FM0rRNWBFK(=WAWWYSzbvhEO|BnRj0}N_Oi@=J0cTNm+c55JxDUFux}5|pmT;@A z2mxqRW1GttP_MROkJ;e*qs_t|sX)soF8RJQOB=1-gCX>hb1aua+0^GGtvG-FS`(e) z8Sh{+=!^(!G7RexHceF)YW>pTN*{n^*;t!+DCugwBiV|fnHeZU*Oj43rRb&7&xB`d zEwCB^SeXE`)w)a=!%Bm}QW)!FF_56l3jxU>*4EuRDC zc~78w2aV1bd!eKeea4BVjMYcRI-YeQcwMxL zpzG3PjKnpuV7-N5+a^1cAJFq>0vap1+HOt8S5Ep2u_rpFUKbs62pSevd8(c@qx7xEj&Z`lW$pLNTTi{RRG&ZTU4QUS|H}tALw~+SK23~jx)&LFZ^=R+^85C%%7Pb2m39JISASw-9Pj$F`TAy$ z*Jcm5oQ4$3bHcS5W$)QxpV?@vF`-ua0ZndH<#9GIO^li=QEQtB)MnI`R_ZXsj+W%7A+Glvx?YMYU7|M zA&ZAI6(4$p{1B*g)75UY(`F9AT+U!pF%;~cOOzFcaERIzJza5D2IZ9GR9({Zi?!Wr zrx2DaGm~-x_wB4JMp2L7GGhYy1y24@ka3}kjwvyTTg#88QL=AWF(!NBjc3V?6#sGQ z2KttqzYB}>)CU3;7on$Ig*{kio$Z4(>^Rxsw2T<1vAQdBZ3rTeWeU>X$>QgZ+2 z!O}5mIi*`mH-6ezmST!E%i~Z97FcRI_WfQG4bGl##=^CZiaTuw!Uhm}R7!eE=oCSY zwNPTOr4v8GlkJ{Rp8r9Z)Fp-rM;^az(ue_s>;|G#)c+K{EKz+vG1=D;xw8vL^1JyZ^cB~vO;lA1#I-(I z^a__y*{xrCr+F98J@)^x_a^XAckjdS-NxM_l}cIbmL#E+ozX63Ns8>1E!jer!I;Wj zl$c6(W<;ngW8ar#nXFS;#!j}0vBVf-7`$gJ)!l7=f4}E_p3j^2@tJAne9yVgwO`k{ z&YABwN=K9*TVHzOGqU#u^GlaMyH6b`QJC+#5wgAW)h@nb3I4gRZAvV&FSRE=KMhgd z6-#tKW0ru&vqgV^ZQlMUB!n?n;)Bhl_i9{}+avhL*GhAh`B0plx%JHOOOhA3CZCR& zY<4J{QszgQlM$@Z=r`$Sas~S=1}<4$;K~+xXR^Vvbn5(?kp9d^tc(Yg-`?TBtf&@M z{-M`I1Cmki=5(p)LMDFeSZx%x$|`+8T_!ZRX=|ZqDh#TgXf-C5Ibl(lKAF;+9eVjI zd%jYyxQhu;Vlc-ic9em~I$&$~yLL^9sl=H(@6~C%5(*fauQW&c32HdHasH4{wZf*J%cEC=| zE?3yM>UDY0nIq~Jwqe?VwLR|{WG|pts>>2AEJs^%I~$;-oy2GI_`NDsa(a~Q|A#IVs5Sn?|2u>v87J=Uh}`^^-L_BmckvB}W(P~qq> zcm`qS+h8`caQ;llczJZ7rLXKK746y^l)qB^sz~DAY~j->-X*=#O+7G8yM2S`=;03! z9#xT!dAF+hVb2?caTf!OF6QA}Ve_DQ>aPu*% z0j}Y=De%QT99J0MxF2K13E@$*8Ee!PHwe^@-#7SH-KIHZ_~?5clcU%D3!Y}KJNG$$ zf(N4%3=!tFsmoHj8@?)YQl$3O$T21qN~6%-G~}nr)+&gN`C=6G z&>vs>%`)hr1Gt(x#xw+A-A&mb02Yz`_zx~|7wQvan`Vr=y_4nex%R1)>($2|D($j= zb)9(ZVI}Rm{MbW5+Bf0Y!?<1cVb`ZbJg-mPzYhL~g{UL3*Xo}=w5#4#cO86_z_$VT zW~$yLM(YpVPwXm{VG`{>7Raa4WBU4fbg2wfMCBBdv{Fy050vdzy{U)_vZDH2;X}~4 zS5bYjP}v8%!4Ub7%|56?Z4dESO+vLHa&=(zOB$~2;2B67uIS_QxYo_%;(t1i>n9Xv z*~9>@#|yaj&ExuO0oOcV(dXuIoms&3d>+@cd3JtA@j1a1@b%X`u5I(UUM%o+dL9?= z0SEz`useuD+{<5^yNE`>+J$A-g#UH zX}Dlr6>8IlS6QCOiuFT#6yD}$21S%ys1}R)u&qi_pzdKK_;oz?nkA}zXaY~;) zX^Zu5k{W>}nH#D|H6by|ojN=4PB*F| z(c+#Cnio3tR4Q`~xyaj^38k6-!I)f*K~h(9Ikr=ei|k}GxTD7!eb-r5lKhyMp;45J z3~`QxHVb^wQ>n@wkr_NwGToc05s1nC&>$yEeoM??)tuzR>xrn;>3wJfJwbeC!iEDV zq;sWDDr?f13O2W=v~i>6WHernXgKg7cBEOYy3B=S4DgXI50s?KNH#IQnuRlZSc0fbo z2gw9NBF({4I?~d6RyvZ_<2Uq23@oCQOKlf8|~Zc2%#bH0y^%=cQh~CqX(& z(vEiRETSsQskPZPT7)#VnX+0>?5Sivby=vvMI)6zYyVU4#ZFj@w; zjUi;eVk;Yvo>R1u>y|VoA z!lA@Z8_Oq>Ca5R+A2(hf_`JCv{EI!ip>NmT1|#1o@Hol|&b>F?ii?GCQtA3!5w_VX zp-q=?m{9G|0c5B&{6wg!+GXeSvg1+qikufirdxVYQhQS$oq<)nK}ZNNys`b#hZZZnX;NEYNYcz# z7Ly8);8YBmXp#Ez)kG>F782VgD7LD$2cyjBW4HPeycY5W+<3m1Xg0vA$H-z8$)`O~ z+RVp0r8xNrS5OqA@5rfGSE?Wklhf~i-h}a(orqwYex5T1* zU0%T|2}CFU(56^y5!apWRtIV$Jf#8mhhm*;&FaL@4MKPFwClnYQ8)rIz93M0&9Q-) zI8^F!!O?4#>5y~=i#O!lj4`>5?N8Qe%cacZhcH9by&8jyNgA47z0IBqIIhbVn4hXK zZs}EhF!WJX>gG6?Y*FpaosuaY1$M8Wa`BIYd&O7(EtWeI^?EjN99H|pMG%xye1DtH0LKXe2)Qky{hZwla|0&3yGsD!b8|TMs9H8kmnogjq`jE8iFJV?#TTC0 ztxdY+t*VxL%Xq;H=BGN?S{uE(Hkw8Xu;=BhfqHxy^%rgIX~Nz?UD&}(uni8m`Pp;L z$27?`&t_T=^{GAUQ=7%j(*4ue_4f~RV^q$(RrwN6cEHUww{~yqhF}jkEM<;8F2#ZL z<}`_)CMu993ZUS9t1^q?+>79`c!=+7$Qhbu4__|?tZ%E0zKxsACd@TyQlLy;WdA_n z{>X;>-_ButWJ3h_L>9DS{sCyE>@w=T?$A*DTys`IeyWzO*%OzeCbp{zsSXyN&irXC zAmKU?H?U7FgD}-%H`kqZish z$5-CW+hx|J=Eu1Ao7V$zBPX^GI>8-il7l8qTf`?cyZn!H^c`w78pX>}#c19Ne9~1l zexf^1HQsL1oX-z~>-XSVk_R9KXixpkB&~r;(tJn@M0EDU+z6d{HDM2k4{~;2no}sy zMvB9W3v+_GuV)`=RTY|(%dA1V><5d4+5Y+1@C}Vo30$)cI5TkP4BXIcUu@%~N+_)nSY_t*u^SyzIdrFrQB zih$Xm{O{&GJ%AemsMY51op{fX??B>L`R;zS=6vi<0FQ$%cquI?7si0bK_GX(fjr1= zZPNvQ0GhKgEfYcW(*JQzlP)dv=d%{d=mibij`_3z@*d6O!sdhWZzdq_h99vDnzONs z{72&3KO2<)-JGQ-%i$wqvXNLO2)UKK-ICj-<8L=ahZb(>%C2p@T~gC%?8O= zm10=_&JEquzBXI>M03;nzmyZQSzd+uAdfs7-Pfz|nRwzk5<2wCWIt&8yu!N~J}YZg zz@GffLR+Nja($4#ulN*Ho+GhGdISAJ)i_P})+Rc<ksN6ngzuKLpe{ij{ zK*GN5SI;>;A9Z>9%A`^I9`DO{C+9JKZryNb{komA$tQjFg_HLl0GwES;An+&w3Nsj z?-n&qBP+fGG<+Ay_V*vN^bf3sHc0jcvOY)dlT~nnoc?^Yyh;Ikh;{)8cpSQ9FU=>L z%+vdbwpLAnp?=!HzFrE450J*EGSH`TGFoa3(hwrqkdx2y3Mk+UO#!Xay@B(Pdlaxq z4xf{s&TAp*oE^{tFAXD3w>-)AbMgW;ZvaRx?Rj6?L*o-5e*ln67qr&GHrB$(4)+rP z?Aq^)CKmzS^3r&r={D({DgKp-!aiARoO8C>Pt*_jAo*funClIk#pC3YjV0M13T6VN5l<$j5Z6Db7T5eC8BJ~vQscDG?nP@p5c?`jc-MCSnP=ePx7f1-Gpb6vQfK5zO|O|~ zk7_|~)yQ#^ROF{fN9t$#u%jAhr|eWGRci9M>~tPCx`$^eTo!*MC3Ge6 z`0abTI`1kwS8rymFJ4EL5o)&v9eXM|SFfUVbjS#8ne6}&>uDV$GD1&j9oLZk*LbBf z5F0CeIAaYN$+uVKEBbJz$X>~K$0f9fnDIwL0c;j87_(j_huHX(vl+AQy^PRt``g^C z9`gWu09qQrJ(+ocvUz~lvjDm}$9qaQZ=j(9^ulIQ{J-xgUf0}d%vh)@E9;=8f-O@I z$vmEubm>xMk;xcVL%kwm#}=6*dA_V>wL3m*T`%bSvm~o-n|Y*Ov({jw?;cOH-AU>X zUXGsMq;7SwF32rzpW@Z>_bHc*pn@88Z$%H86+cw>|A?`4J10H-ocKwWE+sb1Zn|EWKX@j^13XR^=Ux-D*yCNlS)cmLi~oA8ZT2a* zq$?sd;AyOXKlHYwzJ=$vemu!l%LPr`piX;;YyJtd*~iS5_TemWF@pBY+3Z~3(v(|H zvrlo|LYNn;)p9lTy?Q%8_P>H$yI3ey-qI*L_GSz)-G>Ftq?{TqNu1}S*T2;h22~YN zs9tA77$SD)8A&!NPri=)p|pGj?5YHdvTkm{)H<2-rI*zngo>ONyoi9fp{LNWY}5?xG-9O+KLhqP)zi*ZGCmWS_|#l=OC(d-%}BQHm!7p12`uqQ7{9 zL~pXc`Ai*(kjxtM^%Yicw80bN{K-UkqW=sk_iHjMZ0s#okCYh$anOzZ^X;@YD!b2C z12%Y29ic2&jgOybzJki^JE{Ted5hH{1;#*ZYfa)ODt_ur9hmEE9K13=_w4{cXqFbF zHenS5i^l2#?7rcj@$u>bV49ZhL0FGgoKuwVP2JdsJ)iq7YrcGYMvJ08d2ffMZjtM? z+L)aJ`l%9=_paFL#)c3&`Wf?fIHz(uPTorgA14yH*U~<~-#Ot;c^f(wSlgx(JKpeI zD^7W`;ucC!-NQDq&&1OgqHQA(VT4KzLNfWrjWyiZ;lLW>npX1=8&~63+jz^@WFS?G z5|=uy9&_5vYTww|I4%u=54Gp3(;8E52=k1IbZGZ#O;)s?>X$8|eP|8DtLMbjGFsZ5 z*4~<~UJ-MJcuTZd%eqOuIL`OB**Z7v>z~wn(|lPiQk%89+ttTod~M9^&c+1=1u+KWU?^}~fPPk!tV~0&~S>~f!8y115`_;c*h|NP^<-C}<+U-W|$D*>9 z$F-|>2)OK5Cn?6(gk5bpn)p8bM(y$9^C6GU?78vs;nk46J1=^iVY%`0-ZWG{x!pma_X>Ll^bR2 zFEju}>fQiUPXTr9FEjwf=`9sl;x$)>e{eO+BmB=Ez;yoIe{eO+qug2|K_)=|XF2Aj z;=V_5<=UZx*dX*T?hpl3=;hn82Qz*aat<8>5wBW6dfk5iS5nivDp2z4a1r-6{)=&g z!|>mj&{|@l%)yLRJ9PeKK5jP(@pU`H<=g+#9(+>|HsU_}#e#Le+Jbr{Kn}6N^7uN| ze_0lDZTdGR^k)wS*qn#1&AsT_Ts)kf&6_>wI@j+?XiJ3(u=#$vHV>w6^OJOKzMigg z{jP*S4gzsrN#Evls-Gpp;L$RD+SxF3U9{jVjCwl;$mn0s-fgR((>QAf!`F%nf5 zT|~Hh3S1WV6AWE4ru4|TBI%LQr%MJ$hs=G72x3Eg7`>FQLq8(!({&R1v9f`#`|Ma; zJ78HBpzBx~bOZUn6v+KrUN9(jUeeWqJ6%~h=}Kfrm+#+|5UuV7&ak*|(~2EX_R*=T zoama5uy{cH&V=q$u5;~ZzDw8UYv|gXiLTAX>4w;EOK2^z6WDw!U7Me!YjbwGHn%*z zXyT+f*Y8T`&z@*dNwd(kxe|Sw(@iMNf75lY-<1$;v--N-n6Ax(>D&A)U7PQw>s-Gp zp}hh6J*owQbZwqaKhEhdm>cOj*Y8RQRMJ(TlBRF-GjwgfgRafh={nc%N=W`%-bnYM z0IS#kJ|(#}{pU&vIeSvHQbN+s%T`Lr+4HiM5_0x1cBO=zJ&au`A!iTZS4zm)1NfB^ za`s1;l@fC9N0xjk$X`exnkS3jVU=q_)i=$-%W#LRnS2|EiifI+S$QOhNY2(8YcJEkV1z z8uBKyxH+Eb`X-6$p61Ef(6;We?is`Ve~?+m|Jt@yt^(sS{~ju&O7Ul8Z`b+JMH{0+ zD$qXnvo91BF96QXpa(8gA=me+o$J!=BizKF-;;;)l{XCTUB~*5-XrB%V&79;1im}We1pnWVPzK}yoh0=r7HaIdr|@rKfT-BDYl$F zi+NMzW@2Rf4M>l{PjB+|X)SlkBEAHVDRkk__y=YL1s0HxyPmg*HRSpZ>u(VH2WA6T z?jF=)Y;PoLhi-4)zlb=%PsJ9Ysn54AU14!kD=k74r%+(Ah(I7XEPWPHmffY>!HY-) zLbB=AzqRH1->|M5AXlqU5K0G)!s5IyQ*hQEEYPIM;^uSkTU_zW6#N0@0&s&fi`!3^ zj=7g7xC6)!eCr&17q_1V9dj>FaNU4>5UwqB>_;cnEK_jSo*@vf4s`6d*rKw0!5>iM zLAah;JX~ezn0tAGgK*X4TStDec(|%8Zti6YE*k)sDSOpka;o5;bu)%4v{Emv)Jwm4 zd9_k6(KZO6R$r-?mTP&nQZLbV#9(*ouu?BA)AH*7vU&-!QZFrD02@ z%K1_NIK>7B4lCzN%k?;F<$P&=d$V%Bv|Nv)WCOT$we~ZJb8r0W2KmREe9u*2EleRJ zjCtbccW9X0j{A9sbUre|etJ(Se?)COq0c7t4-{^$d|!nhgb6dVj-KHD>7CCqiaYty z-(%xHFo(6RpU~d>wY+HE&zNB!ht^KzZW)d2xc^W79PUr6{yAY|{SVCCqtYj44y}ci z{>nBitZf5tr`W&xL&NkB>`qrG`8Umzr5Q>h|CWdKe2K;Le-q8WC}QdJTvu)b#M%|(&HeT$<}UYz%33O;!pF7)Dw^o7OE zm%O;*mnk^pqdxFpAv*T^YjJZgQ*dUGA4)S~7Pnva`Nhq>Ou^So#es086ZMvK%)LCp zLAZj%mrW;Jv+0<7d4fYe%7Jj@qGP|ki-+qn1!o?`f^dyq+`uCbP&`KbV@*EG30FFM ztz`-h`Pc^HZ;+1tgcdjVG6iQIMSyU1Up!o$>4fVt1z$6j48oOvar+_Zn0tAGXCH?< z)hLvBt<+0Doqy3zseYpaqm_CI95I6A^Y2=3rCwqLC%d#gJDmi)QZIG>=H=B&y)>U~ z2UqH)lvz5K9z`?9?zDej*`jn zs+m;5{7Fi*zAIH2KK+Gz8pAv@+KJ7d>=u@rdQPT%LClPzhnWG0Klk)FLXO(a4IiNJ z_l;?MOjilhhfEJfqu?{la?~%(l(?C}{HYOt_|%a>_{`LVoNEQ0z=Qb!3uNQO%W9J-E9(T0!9!k*9pSu?L~Ox_Mt)HWzmT68cQBNki?0?9EY* zrf6pu{lO!y*%(SE7lE7XDA!^zZG)I>k{#nFkI!VZt%;h1UCV6Sm^L}pp3%m_MV@?r zCttj4^1b!!r_JnVr>oTm@`C|N>+M`&MJ)N@R0f8Ek*!l9JLWeVOxq(SF|uQFgTwHw zwl#hLU3S|>Z-CA^pHI=+(^?!^PMo@)-NxfR3G1-V*XWuo8goHswDLtw=KeL~+C0Qc z(Mz2D9R5J|L@V6+`-At#`e&)0W?$<^_#uPt+w{3`M3P`9#N_5c#f)%`U5T2s?LNmM z1BBd2ejOD}nn3f&_fXB=2~K~=AC!!2A)@75yCn-Nv%4HjDY{y&{^LhyKFkEg%lUC! zMa$XrWb42=Bt3e#DMz(jC)4o2Ao}vtI8i0Y2wL)W3diLr>R2^Twm7`xg`B}-We=1O zJhxFw9?g#lFs+&qhY!AxbI=-T^P{GBPnfxCLTXKO;~!GZAb$MvVf?7k7g&ojyjZAY zNDoU$1aeq@TJ$a#yi1>`Sw$(tQ!{O+o2gIRQiZmhvYr-&m*nWeyEM9-3qyvOY$4^6 zsO}IsgHlvt*Sq|#$&u$OW~Em76*z9mtR8XQ5ifrKO(=OS&^pAc( ztzn>4&tEc)2=DH~VF-+roAy5@89ucFFvhbJ05J+~(@6E*6Rsj){w!^(83P6SZjapj zWzLCdQ8(&cPIL?>dV#a>6Rz*PakbtW^H|}Z_Q+ks5N=^&=2^+V`II}M(=N5Mc7d~F zADHWhvl@qQ&C?ZT>tgJ8)E#gXouf-*qX|$6{*_AQuT+eGrIP$Bm4;uawDfL>=DtK=~G zIT!S<>NAbY*9>~x>+=wj3wM&=bXopb)sgNtgKwUy-5w<}H^QXCy}Tu7xZI34Usk0a zl^S?5WL@GW(a9GwEL+7d|B57eu(;c%>5jQnn;hqWh~& zGh3syrk}xei9*`bqOJ82Gx2gsg(Ei_lZMj$;1&%|YSVUQ*bor6WN<9vfs zs(h|}MFz+DxaL}`*g5RkITQ=#UV2B@Npqp`CByHSn#Y6K<=Hx4yJM3B@6Ww*Z*EB2)LwF*J!AM0JK?Ufj$ODiwdT?w94L zH``!5`x*=9ufNOO!U4JC#*WIg-u$&l4WLC!4|9Agy<5$<=1vD*nd3I3snA0MHlt>0O5M0ZMj7vtEv$&ORv z`Ckr05nfGg3^N%Md2G~lblZD8A}6n^zZ>h;Gx3b|O8MCI#DLQy^kY_%2e-o^$t}gc zyCc4B^>5hfHb5*3MQK>Mpm_2=Z5;}h-(0=-A$~{8V2spYdiNDBvZoDq({#?~bYfN` zLUxc@kJyW~}3DPnRaEZ7Ds+p(q)E23?&! z6|)EZ8CtrL7yVfhyk(C>^Yx4tg&;q?3MV`z5?qQ1yY89UwxtGlPo#cM^>)hj!Ei%W zyAl!&ZG{>_E{NfuS7vsJ=In#`xm>;g2{WpS5$68*ocU(yb%RpIl&&>eHUT;#s|3wj zCAmK)b>n*0Xn`w9MIp*vKbPYdynVqOUj5W=r{gAi7b$n^T#lQ0-!y}SiE@7o@~;SD zzFFySTFIDF1?>hiiL2r$B5`w2n~%|;^rL8izIwC~FgcJm9}-5&5Ne}F;hpr|onI1e zJ8))gZX1=7*`Vw0PWWgy9)FO?BLdoH%z*$S4t^Y`8DkdhY)_z7-MZot&2M_Q2<}Ggy0g-KbQ@sXg4qKh~!U3>2|zPyewl$}#Qg;`_1089zla zZW>Acd0i9+YhLm9brB8L#Z_(~tM%2qyoUu^WD5Y_KkD z0_#HkFYAKtud9#Huj>Nquj_*6uT+YEP?=k5Z~VFlCjPnz{s%U|QcL(hzo5@8g7Lo! ztMRL_|EaD3DxDIO*299TXn1=*M_2mHs5g!%$I<04UvL5v-@dD)bBe&mG_s-03{Si$ z2a6?QcCK;thC}^x67tx-Azrs^T~oVN*Yz~Xd)I64n;`~e`IvUrh_bC-(4ymZr`b7e zr)3!`IbMg4o7`#K-PZYp(Yi!MqSHA<&HEg|_VVNM?k5EkV12BjkatmgIti>8 zV_F_r9On}Yea#|g*KsV2g>SBPmuYh_)8?pab1&hb`+{pS65AOpT{=pn!dNusfW*RB z#OJ}W$rcdo+>&Ozfwrg}xy#OI*Ryj3J(5Q1zD8}7+k&@lV7qo zk5_p8SjtzSHr2yKj`O(=7Olcq_j`99UUzi%uN(|@o2mDjwj=Yj;2^ZL$baMCtq{rtZv z%HJp?PqHVe+LP763-2mKDdR%BZpEJz?x4oyd0cqOYE4nsFG~IBnc*5E+#xo2hB_hI zoaf4f!%Jf{(ATe$37O@)+sIG&97=4ZaT521@>9Jcy*(6-t zuIfBQK$(k+o^JqAUrq=+qo04UM08+$LNo;8*B@XiFmfopZB%pc46=J#8&XbD?bNJ7 zfR41kut`%NZXvo+-zb{4TT5PeA8lt2=7 z7ggT%8f^LlA_kp_>Y9jkay6Eds|-c)%t+u7N9B5_sG>U0j2mK(mB(wAiI=NJYHqH) zl&4vBu+rw1UteXC?BiqQV;>K72S;8p^^2l`T#D4(NdtMS7%HxYpQua%14_v+to#lV z4h7r!O;lbo3N=cu0uW;dlV7%&zjjSlyb@&e8Q?IA|9mLfn7{4Nl{!s(!XZ*{WSLaC zWoV>p^5sCL0pnA&4y#ayd^@4GL-M|DQrxZtoqWx=vB?~DntkFIeC_-Sr7lbvzY$@V zs(482_zps?qkPi_%mCWm300RCCINOejl}K*G1UV0^6el~b(w$`C63seUNuMEbe6iN ziDX=I4S-30S#AE>B{@ajS6|vhtn^2r$_IM>x{G*UspnYQF2vbVAPLytJy33k@ zBwtfjVz^b9?wH6xhxo^~}D|J!FyvB zr3R%2k*3=1@{laTOIY`XR+Zy`v9~SwS~DP_?(6vKVStsM|;@NZZ|=~GyBV0y-FE~w{)=x#wFB)`?Cs|`BVt13UK z*dD9lm^zBtabyVUxmjjpr-fsWpwr;9^!}2J;_{>lsPn_L^h`ySN~b>Q-ZznoDuT0( zR7I7z*+!hAip6XrS5akPwh^JI!a3VWR#XXf>YM!frdKsGI?5e6q3rb5xA#p{be<3L zV6rzvQ+`Iz>1~D7gdyjYbMG4w!dD-=(V@ubve*cfx=;E3O9Aph29?J~V84TFFW@v^ zz?r;&^S=jDcDlu%?45UY0q2bcoSq9fg%=3_3Iqn0c)E#2PPPoqG}^%_IJxPO>U`>W zwm$e4hEH@3%}_9MR0<}aN+q1VMd-8&eIdVkD$57Lxi+_@<@ptA^96b2c}G%7P2ONM z^=jJ{e;Mw>AK;-(yU;4y$?C&a!)&R7(-zW0TE+RC!&dUhy}M@YOY(~eqGtq@hk2qL zE2Ctx5{z0p+D2+hV)dy{_+3l3gHt-xkz%Z4-H~Y+qHzEk-#PN8xK76L2=kSYcp^(v z3z67TPH2gsw0BAhHRuqg-jOFypsyu?Rn9`1c)q0q4eRj%KQ?8Ca8xrAan`gj@l`6R%%vwN-PX&r_ZY72aObfPB zwCt&NL4AIFZ(4^8hvT;ooyKKr=CCLaTaLQOd&0|!I-Mqp!$+gWcVivW#?!}lYgBfU z^7>%8$#E#Q;SA-lT%E@Qy;8ishn0_r*057i#&^U!YQYm3Lq1d3S>@5A$3LAk72I|dv|wR5K80Zh>; zROgWj5a1AsJtqPV?Gg-%=@twU;F{TnfR`S1Av!kk1|JEsE7v|oK&IcUBRb^+h`Mb1|0Jxgofaj?_?f0Ww(9u%YI0y zN|Plx?w)q66Hy^nIgs;_{IV@bY@<+mZ*pGKz(lMyRh#-GrfT@8P@8@#a?l}9X3*Jn zV!A$`hQv9qszDF!lR|cGwQVH^+Uv_U4S3kI-*AQ0=V*;s$h0YQ6RS5_z?{Bh9UQqA zs=^lw4Mv^yNUt{4x8my(9JKAR?ix;O8rf-;t=8IMA&%{Rv< zw2ncmgpF?nhhbAhw6y|Z$w^YbL;R@2b(Ie7%Y}VY(9@%GWJQ_UQ$RYh>Avu(NM&FP=El3~0 zh{3mB9rx4cH55cT|vXh$tzJt$<36A6jk(=Rrmx1!H-V7DHRo|l9@S|M*^5N9x_JWsqE zyQ)ae*&H@&b{U04d{-qO|71G@z*ousZCCSMWxNxSL530QO;cjkS#txQFV$0Qsyt_T zyj#qk3rEllf2`wJ##Y`!v!a--m_f->2Z+xL2jr_1quXm5Y4*w3YcMrUBk0*sXU5Z$j04o=rKx z$BKcEAzvK=avcJ40snx6npsQXXfBhx-!pf=F-GGjJAhayo>K|=yTO2?+yFkNa*1I` zQWMBE#GnHlCH1?b)P8pq^mj*z{q88Pz6*|Gm^y1=z)9?PPV5#qiJ9YMv+_fIni9>6 zEPjL~a6zjD%pvA;)?o+MNuIS1h@Rku=xLabp4%eS{d3+nAIL!6Za!bc=j;yrUF_F5 z9={XcGV8Oz%lm&Y??2Bx&M@CBvcvJD-*97Q{TZL@)0APTzyE9ncYWPfL6&S_;B z_zJlfm|uuwTKqg+P)k<=zH2tS$?~}`*jXxM!Oqv`d<8JiyuiHD=DASj2-yTb2b{3M z0}ptKmgO6gRgeU}CrR@g1`Zb~T<@KDajSPff}b|yyW83{&be*7;kepd5CU(hM*4`O zUTtc%wV4ec380p0pq7@qM1y`kpK*#Y#u(G^!*f9#Zj)>4ucx^kSF^{QoCf5OBCNOq zbV#90Dr40wGtCU*VY7-M7bF|ZaWBIl9zLf?Nk@BHL|BX6U;}@_Cl7#RpTE+j zR_OE3Q3XslXLFoP#;Q602PuT=l5CLNXdhO>-778n8EWjJRb{9GU=gGA@7Wc)qX&Zjq^ z*@oFTtN`9$@!k9F7rZ}t&igID=R@H94Rc`y)};Bw3F6RvHeve#mUb>A>{N+`ggqa) zKQb-g?#3K76i7C62qifWo-a2AfaBS!`TIvV75v?8~)*#zBgHrrmV>pP$q6JV3u zLGaV`b2-vkyxBu|IL=SjYB(8@Q|uYKMJ^q`F=MmqDxB5Sx@Ly_yG`lSt2gUiZ;4IN zx}M8seVgn3e&!Rj#me!4UGn=|4@B9mxkKC&%1?cyrF=cpmbjEWvQ#0&G14ym^8_s; zFEqxF_GV*W<%2w{_og+UC+0J@t4R3}aG z=Sjl=KewC4TZ9!XazX;ggPD^@mL^Z-Ss6xDvWt|7=A1yJ6d(`@V8-u`G&-^kr(GEvm#DV>oneC3j}KM>3Nr6NH_g=#3t8O2B&vry$|AfPLt^q zEj5VE7C)Hygc5A}obEtsNS-Zb3^cTeZ?2j+cG^AcP6SJ{Kpa>bo4}G!qnQC}DP3AE z<*ob18#NOroI)c3M9Pva$-6r+9G8FBP2+0tobHs}*sW=69J}?m4Q4bG0g1q(ECk8} zW1595fV!MRUoy?LW)&wkOYM6V$tqBrPc28Gn8t8pkKvRr_!&|(e42uRQ(E%-^C#Wm z4R8wFHE4QLZt4qs<_mnL}*%NM{aI_7P-FYU2&=75t8`)AcHlEdvjab!0bbLqf2v|-Hqhy^3W}_G;^_$F?F`Nr#%lYSI#^whwt_KqO zn7zhA_Gej4q|CVxKD$G4TP1M?iPgk!^@I;aB&hifoj;&CF36|TGH0V@5uY^AesVE@`E~zpDeM3H;I3iyvEpVGN|E^gM^|YVO-_O5JXSr z=2%&zd!3%VXxd~(3CB)9e4;FFxOI}~F+|vf!4MB%2v3_R(2oOlDcCWYRzAckgp-c^ zJ$;O+_EWM!>72h z&kW(-`&AKmk8Na6r&!SVn$*fuG0kBV&V_vzB`Y8N8pB4q8o^~&W8mc!tLA;yI)AnY z&*9tSY^a5bP@5f4MTqt#o|UbmjX8Sj5M-SOuv-uH4RaJX%090o-%M-eX`JS$r6G-L ziD+^`+$PAD4Pc)M0g!=4*^Wx`>-1KhwrP$j0J1fqC8FI0@i#%1Z4kTl2msm9Br8%S zDODmk$Vy{|5Xgh4B%YB?dyUyist@PVt}*a*GFL?i_Wh=vG6K?cSQ~&w*#l?#U+24D z6(QS~C@(wq8pB1ZkKl5yF+e!=BV>xjfUdq@FA7Ab6INCIsl#<)P-d?zcCEM592t}G z6Ez0d5VwEOT7X=7r%bANU!uM|+4$>8n(PbA6BXMQ#lfTEgqS?@vxIU-(R=5_n+!Br zivdm}U(@N~#G#7d>9am9>-`$Dl_bFhedmPSio$mlFFqd5g?Yi3L}xM>42kY9p6ZcF z63X2LVuOYo8-*oO04-z*D@g);XN}mLZ5F-)X#HTopprO5)1HCStrB{4<+%=U|2&5W zQ8P#22lFFqCthQoVLswBo&O=!0wEJF4eoiaeoTtsGO6i&;uNBaINE1@R<`OjW;aP9 zf(y@s&88`E;rb__G?_o8fFc3VPn|zz{>M(+QkE!?dH+f4pEE?6d7ms!m_Ch6{Cam< zk^!s}+X?d`%%O$uy0IW1adkM2+Bc&mY z*aGkBZA1_}isgF_b)E1;`00O&KYpM3_z90=3ia_OUdJxYX3+VJ&qi+KY6<3r{xkQZ zkSOY7{`?zd=nsFo(RxlWAY}3rp#`H~&WF$Y1e1pV8(X)W)!fd20|iPw`qUw!K)hQMy67?C>6nbx)NqJlkA}|CvJfK~Z$R=k z@tNdygpAXa^}5qtt3nVJk&Zgi5hxtTvHT9H1H=mShoJOW$_~CyNj=z$k76ly=2YTo zQY^GQNRAm-0mf)8o&!le8e58qR1yH#Flo2lq&!HU(I$;HNSmzR>s8t&&#M(#S8ZW{DvQ)gr5ZVef?ha&<2zx4!d{H+t`RX8Uag{ey?JgpUQ?vk>c zkt!RNxmD{Rc=@}he(o7*6=J4PE!W`qZ_i?(Tp^87gsv&Vcx^1S#4|-^FyH9Ix$;x` zO?S@tDr)o{cRf=lldP(R%wmJM4x^8Bc zeXr0=~1S!mbaNbPsA}^%{jRzv;C7zaYXlX`EpT&pC^}~hOCy5a}hV{ za|%+el7c)LPp%oxiGD(qJtH&p=8KC;U@2e%WH zhKT#gE^5yCk6J9X(Bf~f!Ji3Acw*GZ#J-W@4oc5A*P|INR9&kvq__h0>u6HhkUp3q@#<Rd`FLQ5vId*ll26HJ|)=!j_ z7+{KcZ~=BmqtW2mCGL&S$F4p+gy5BTK6K0vGZHTAx2@b@RifO^jpYW966E~WlpAbK zkh32zHxO^*${y`boU}xQ+Qa(8nhZ>I^c@P)VS^*}`Dya{m3~1($J`5eqw{#>^LS0N zc^R{Lqf>b0Q+Q1hc^MOV`Qmvoal9tcyo}Mje6M&h5xn>?BU$cXbu2!rn{0tMaHw); z=oZK0D$|IKM+&<}(OqBBT~E+mchQEyLJiRuWKr+!A)m~phaf1# zo-%GNa(BsEyIuQV2mHZuZMEXv^@msOf47$2#nQt zEq3j%U#f6pKsd}2g_8inty!XQVN8W*GvGexp7JEHX%{~>=8>Ze139?Rr^6K{r@`dj)1sJPg-?`NI0QR`Lv_#>*z7HgdrNX9xSSnniaP>eq&Ls-hzU$%o z%}W(dY!l0|CBfb?x=+iQiP}rcZ7a5$%Q+y)|9@}0QN#OEN^XZwD4$-MZ>}tObGiDX z|N7ry!3$H2IDDdCWW{!%uvvD+3X)c=th%vMtSrM#f(UJsP_hzt%Q5akLEKUGmsWF^ zt~J`V|G?5<%hwVQD;{3j=0lj}5ZF-MU+RWpbKzQnC2lBAfX(2+CBhbf8qa*G!cBsW z{8EME0K(l{qHrIXt%e z6U+7`!GaV7-L*epX}Q>cy&u?HEp_8~73{5cEOBoY24Zxnu-CwOl-N>*gMmYsr3&YL zJ)r#`hX(X6z~qUOWW5N-e1|^(SG3rG5R}f@LpFRP~1|!aY?qjW3*zs*?skI zV!L`;tpbr;(wSeD$O-TR_l70Gf)pgPiKSv`xww37IXE9&>fIEv;C%4$lFt0{6fc59 zn5DudfSX0wmns}&6HEV6g~J?HyuDQ6QowB`OS|JqfTf=nciFBhaR=_aSZ;@660>`R zuBExq%3<`JkN+lz(I01RSH5DqWmjh+6%$md_b5JP;a*9a%P?skm|gG`S8TToZ5J^6 zE70AQq`B;pX1rno?N^{2>y@}$hH-b57I!nO{||fL0oG);tv!8oijF$SsFWE(M5HMQ zQUc7V5D|q@1f-85AOa#Fgg{89sE9N}3!M?rC{;mv$tXeyB^jkeS{Pa)-6TK=A<4f( zQ_q=mC*1#>|K9uG^W=H5zi*e7wf0`+-D`hI#M;*c{dIVSJ~+8J@bh0_V1 zZmAdZn*;ai_I)RA-xuH^E%CmE1N^J(^^F1I3g`UQZf$Xe>)v<#ck%khZ=4g^orB@O z?XLFt|G1=>R2$>?E1Z)dpGm<}r)&A#DvIXUh}q4X_IT@j9q?jW`)eXnjbXN6e*$&;y{;Md zgZYt`0%UOX`%pXwO5{Kp9O%dMP=)!zZ&GA@nj43AlXTFe@6aR@H0h*3Kd0hyMW~h& z)=uT)1*pOT6utm;TPXa=&@n6HQ=HTUE_DJYHHk}|#7RxzQeP5wAFWj`*1*qjV2uZw zzeAEtkff7Hk`0n{mg|w=S$MxFH7T~Ru?9(QG2PT^YSwBR)oMy^HQhuuH6xowkxj{D z(@hj7KQHu&^4>3WzEjgVq^5INP3MT3j**&_q+_S%bPCLg=mgvPE3iL!v zxwS@T-JSLM?2&%dg(&J!Y|m{HQ+rrjCUk4h_~R#&i9ZDAEl`P-XtYB`|Mto8@%Q+p zav8GYuO=VT(`CoUhaM(4I#FB8pzMW8SZ%%~gLiSJ_KQA8TymMj$lMu?f@sTu#WOEe zq8~ZQnpEqv)Qk5Ux&)mvQQoU)1XaA3{eJw_^q3}gGHx8wF$M`%_bFu;F22i4QsutS z3cY(HZa6BY^Q7-J8{aUSn7zkzjZCiYQTzfLb~{@w?t`l_LEp!Gbgc4Q(qjziKIT4S zbL-?O%B4ha7<^u|oS}12g*hm32I@8g{g@5Kv!K*8sAM|SI)zC^dtAK}3{l>B+xXs= zi&vdBpHu`xQZ)}neh+EiK)iU>lw(|e;p$RrRL2JDROIE34NI+3xm!A?A|G5_Ybyh7 zZEI~)eY*w<06{QP+X@1!Jow}=AP7cY&NF@i?(VL%orZY!6)L+IC_h_jd|>>7-xNb{ z+Pd`lAA4N=f8H2+@hY*M*A#T3?Q5pUj=ztvVA@MhbYs)L8D z6PBh=`wXPF@~ykK+Q0<8(bKbU*KH-!1ENI$)0{A6o$%#rG81SQ6CanbCFXw7eDWVQ zMpqPNhjeZj+E(j+b-GYFtUY=#qEfGUkA+(7RC9nf;mC+FqUo3(0jj}jzFY2HxP=_y zsGf!E4Kz(4$J{BFnmw^tT(4T;j_ZA7+T2TOanewtPK0{Q)%oiYtoo1WSN)NE(zf{B zg06R{d7Ya54f+aEoJh!+To1amSSR)(d7d)fHEJq|7bdB=lbzCo<8O>}t&LSiePebd9*Rk5$h zAbeB%NGC<=`Q-7=vz+2GS2yojY4k)Nq&oaEb%Sgl1a$+H2+mwmncWgEQ6=^cmHnqL z_*i_irl{U~AC=#~wZ@y9w+fjyrn`71VQP!xk#di#RsA2G^VxNycFWY%K}lQ%M9#(q7SJKAbkFGOzVpf zNN-<{HSJQxMex$?^!1+R5tj z)GSmf=lms1*H?by%3cIwfcxZ@KO(#?RzeIumNx5|iOf zI#@d#?8ur_l=lZvSb9!Eyho91H&(^1%+|XBKIp zW2e({*eCo;&*l^_bula?>qeeR^FNgadez=1s~`8@4n|rsQpQpNNgMwhvkvZEUEJ9m zzmqFn&XOf^$P!=x+sl8GU%~hO1-AfI?_9q`ziT;u*G>Z-?9%E|l}@KAWdlMzV^Vbc z+hg|Mh#0bB>|=al$@m0(HlSJtNOh;a(W|xMkcf?Z^1r^}J~;&N8?ekuscxu_^##Nm zg8Y*j*gzr-ceYJdxQO>gFAf+^2`d+;i_q-m%^9^qCk%HEA>{NJqJ+%{Gthzo3pAw+ zvrva2O4f2m+Q8*hPX>Wky@63JHBs^j1lNChfamvf=iDjwZKfKdxSO%y0!_f7Dp9UK z&}nlnnzZM51K$gn6WN+=a%CN-nupw9HjhJ|dApa^&~5cC)SR%<;HOP!i^-TW2A)a{ zz31%~Kvycto9eQWQLKcqW>7DJ(56=Hz7rXYQC->S#S|HnKm*SZWXNEU!F^P#uMLi` zX@r|=Y-1hmWRoTU+UfGHs3PpXeCbB;c7~Gg;k=4(rlNfc3n{*Yk$I-pGYYcxAeSp>8y z_79z=V8RjmUF7ff{$X)xT=C#&T$sL#nR!y1g~1o-ri@c8eB7cU)HL_}V;pzUqg53x zkSJ6Ep=Gf;hLANpy@xwwYW(m#DNcDfrsEXLWbV$0M=^uK9b!x<`w60SFvQe&JvX;> z%4cL%m>Z1o*+?n@LGIUcdrJSTvpQXvq}Cj*OVwbq4cRpdif3Pa&xLCS}{v+pJiIrq{2Kg{f>i_2SZr!XEWLx#}y?ujHOM0QeI9YA+~z`SQd; zdH8EcX6~zO=DWN>5bXh$T34YJoHIZ?JO9jo{#hlwJnS-M1I1!`10{9?BJwiAI|ErY zk^^32XPP@Icxh5@h&RZXMHTDmyoOeDof8xJwRO?m`cEvcRv8BZOmza3r>OS8N z@bZ5!a*>nrN$aJ(*-Lu*L*xVAiEFM0C7!SBUCOU4BQoj$@f6@@2^RuHHn@VwBv%pH z3*Qo6>^4brv)3}+JrthuiTl!yNQCp|ItQ1SsR_P{Si-1fKb`6QDAW6DRWR>KkBYVE zMYJs_=#w2R4!RM&1}qOs*!G=1x?(m1DaB<5{283L0iVn0=QBeMLpc2e@c$%*C|+~F zV3FulD;!P9nDa(++61EnbRtF=Dk~HWIbmp>(}JNM462Mji$e-##>)r-KE+Tl5GqV% zI0@&6Dut7>{(L@#&FNuCt3O|S_BDGjm9lG?S6rEynYpQF(a1UC(w8YU`A!F(YPKQt znHN_|CC&o0-}-bK5)c$IBenyb6ipV}EaH=piPm+t{#rdBKbO0#j1%SA8$ z3a=+Fi6_coD?O2NALrXg(cU>kG z)}|7BrVl#XGCYp32t&UqZHgRfREj$3yiL{5wMDm4!Lcf2u-2ok`a`mz@aeSmU7tNN z(+D*+oushn`4I&|NJ2;jpHK#k)#jf{KNRs9*DkbX6h6 zaDgZB1Ny;`%O$s)WbQ`JtV?tx_Hb!xUOis#V?QU=ZA1QrNd8vBD`utCJ0Z;Hh|lLn zU`_*2^D{R(UpUf7T~yWBi|T4>Wfyu&=e?&V=R6V?Pnd?-l;S8_uS^fn{Lx|LU7`8U zg0h&#J&|`)ibr}Bp^P06|B(B$cP^>{}mR-0hR}5ou7}#MynZ!yOhK(@=aM zp}{Gwp?Qyc_0gruUd|Vn1yuJ%!B_iY6bAh-4IoS^hfCdgye~bcqu*68CR55ISv$(2 zc@bGsees`enx+~2Fx|Ade*rU(jH~;(>+Da`&#b3!&`)mq)HU?O=kw!j<hAG*;~6@(#4__Ds!Q(3h~pN{gU6fDLU@A=0?+ZrxrUCKIuKjHU0wYE|xa`0=7 z4cKMo;IMFrjQirOyS=f=kX+;)rZt|q=Zm5rzgVh+n+)w;t}{5cbNcz2of!X}(dzfl z9N(MGq~d*cK_gQ{Ql>PF?}@$Hk$q?){5=}@8h(8-T3 zb^LZh)U_}xo4LXj7=Q7SawNeZ627C{a+UsX`8&%^h6>Gw^4Y&lI?=wn5Nvok{L7oY zje0H^@C)H1y)rHfgYWM3BJ_E^%s?%oE?Ds0QohOPn(+P3!(DdQH%Vf2A{Ee6MijGIKP#8}-P}z(Ym0Eg@P>Th{su%%BJNe4YK(VdodDu2Jr{S5e1; z&Xc4n_7e*eAs^FkJeR^IQR3k!6*N(b0Lch2AWkvFxNDxd*D)(nhJQ`+kh7n}zi<+8Hkn!b@p1OVw+oJiYM3 z5#K$&XQS-3`)xe&I_FTeRc9c>ZCq9b%1`-ox(f9~#pRoYlia8wkB2825Njl}`^6`I z6CCz8A*P;TE=@fGqTF6z|1f(8y1h%ix)Ls+VyY?LO0}fZeqf|qsdoFjl#fr**?ZU< zW4S+)P**|>zEzh!kzsz9^6^YQlg(zLJajVlJeZ`?2UR6U20c_|^nHBBa;G5LrBn8U^yV7B2D+=6} z{>u-nQ8jLM;$(t8_s3>b!> ziumacSj{a=9l3PMo;3EEeVgB>c!p0mJO2i6aGC3{>#S!q6644oGHMN+dPd@qUvJT6 zg3H-F6|!;!2i5#!DE*pd@vHDkohi#yyB~NHZDl-#{;BxXj4S*Jiz$Xe%f|)j9Vm1r zx7ggmJL7!Pv_#r8YGJ~GNWECwHgDTLDrFZ$W2H4v=TLZN$%`j`phicZxIHb)4EG}0 z)Uy>jc102Sqm)y)uEV+J5oas5Vy>x-rdz{WKxZ`=!i zj5HcDg|>pQy61|*rw`pphKxQx&gk>XE(QOrOX&|U9gD8C5xDeK8|Fhw&rdBf)Zjr6 zpKFs3$EbOntCdFfroZI-8tZ3l3NT(o6}$-X-`_8n4o!MS?l3a=fNO7aoO3~zbJQ)} ztjyAA(*pUZH)jtcXRy3*Pj?9PVXyTUJf0Nl^dQRaC;h!XHHA-0gFhs5B)U94G~-x; zcQU7=E2yw~wDwq)HH}Ng_3xcVaYh`Gyh)2xr84Txo~c~$t~Zrio>v}Z*Xq(?)S8-G zS=rl;jyin(KWZs!`%?ynS_Lf=h)dkeIAqL?FvMp)mnUqj6LxaJ_ zvbj&WsAQDEaf1wKMs$o*CXKa&)r=L&^vm}6k~AHgG5wjUo%0q$<^rC~>=vPn&4YwR z&QM^(g#c0@O3k!nNgd&=J1+Qs~p>tN|aMdS)VaC z9j@NIYfzfF=R2?tbwBqO=-awSSxM#hMqAld9FVlbhWj!#B^jm)OfRjlgJGB_CMdhY z{1nT+dns;tDIR$9))lf|gi@=3l1!`gJ66U!1~r$+);D}5-?U@WUY@L;g zy{CPgP;Q%i@uUjnl!{9t)^Y!HUOCn=DRg6T&o;~tiE8Qb62l$? z-d%yr#ruhdNrw6(i}$4@t)uh|b5j|4so`!X>y?|7$J|{{vP%x4$oe;y$<{^8xI${8 zca64=?>ie%HMsdRc71VCS6)lr#D1j|4j}7CJikoVT??a*32NfD`A%jL)o)t@ejAz; zv!nu4>d#U`r2|x&_nmdT${l)A?WkwtXcg-cJK~n4tkzTCQFMQM2kSsb5y#hn!5#x=ty58WlXi9nL?v6&dZtPONzYM|bG5%b2n##+W<^*IKIq_I)o z!X1rmjU|k>7_~r#w=j?X-bmSlzjt>7`l-PoS#0!?$jX~VH=U#Q@EW_0b~Rq-Pr8Oh zml0$#Xi+eTo}7-{!OY>z!A$+9Sd(nO^M3Mv!=~A$=S_n#w`L84snax8&q1ERt2X$T zX@)H=C?o-^61UGsKYs#z1m z)Os_TnP42j@=rWcu+>Hm6C&q?a_AnbJYdX=Gp=$(IsQIY{dGJ$HQtZu@18sUd;_Iz zgL%z-3FPMpA<0l8lpKDR?++R_N6q`7k_O_PH(viW7HmAccB9kxfaLq2;F&ff))Vt^U zM)vL&SxI`hn@fsKl1-PhRcT3h@k5ev*L-p$4^Zt}BrT3AGR%1>pOKcm@DZ5H$Y*}J z_xtki8caR#D6G3$@d=xFjXM}DKRJaxU$l52c7$JEZo8=?(>DFCt!jGwq^paoOSDbb z$%58~tVTe$u>l#^gO)1pL6=Vwt^4PO&V-r_TgsUZ7n%{`_<^`*ia@>K#q$ zoseEdORvPGT7!Kpl1{izdt5`TYF4{-8i-5*HJPXU zv7tyxj*U&lT;(H}d|YG^Q*)PEx}gMHfsMzf8ph8KHra@*30QyNcFUH`mdte5?Ur-l zxh~c!IV0{lYo~yHrFx@!EgJVU`lqaO)X6_#YO%E?OlETHd=xN5xZ6^>~@4tf8o&gjqM1`ZNwfH zp5uDb^`yB*c#dShL}jJYql?INkz!g$&KO+EwhpaG^YPakT6R?ztz50<65|1ZN_!Dq zgCd`*K*6J=Wf$mPHNWXuir$e`AGoIQ;nSbgRICwR(fD2TfQFQw9m}rOYehHFOa~kS z;gGOmNozV^kGMg5&2e|@^0JjUEnY3^+t#$KY>=A1qtipiLBxILd-PzpC*H3^G4m$& zDQPGLw=_iomQm&7MV^Z)B6X0ao72tBbuhZBwTEX0Ha*+R&{1Lx+O(hD?y`OMK=Hky z!Ky>DQ=jCEOs9Jvq{cOy;{&PDYMG2!V_9=08aSY+BlLpiB4(Lqb)cZVC8H%H-B-{K z2w(9Fy|C<5lyj0qD%`BRcl%YGm8t4ckrF3d+yRtW&k9nrdFQCn-L>V@Q)+g-046#h zCBD9}a%};rL8nsHy5>&q?+=-c)ceN!2)j~{wH$LCh&*agJfUJ2V0n0d)(8qe(_MCw)+<*PT; zf?SH_Z>Vv_+AO@G#`(bNR>-=^(jRyrUd;N0I(Q}SJ181X1y<*qc0A!kLWWC`JpMEeYsPjWU%*D}tD*(ZV zDV@3bHM^UZ0EV=G;y&xMf^y&t!gW`ioIgM)&9`k&H@BT`2C$=U8FqL`_WM^kMk%#W{g2W?Jkh}0v&=Cst$4z?=D4fg=$;?vC~ z#YIvHiC`xBTwQ#=^7GNET&7)^X6V9O0yVW<3uSH90;v_Avm$0#KR!M>{flwXc>A)d z+9v`A@2%>Ix|6-ik}2XvQEXL%MIcP1!G8k6mL1Sp$uf%t90L@A{9w%@(Rg%i(gy6Z2a=& z{tvrLK{SnBj;7`|S{BZf>ChNJfcBK6I=;L0u*} zvTudtLnnKks-}}V<~BN#=09z+_}b!E;+OYMP+gr<&S!}XuihfTwdq_F>wrZ<0JG0J zrK&I|fdL{p!)>zvGP+Z>7VgG7SPgfp3M_iQBKmXH+HD?w3Rdy#h!v5oN0FG+`INsbx*7 zVR&p=3|9coN4p8!K64&kxNug$mqjn~qA`4=9f23^EoAo1QJv`Aw!(hF0>@A|A1W*G zOULksqQ?bgnD$wYA*J6tL(WAqIw>-i2PdDx8}=b!9Msxqb*JXE*I z`iR;Xp{ed1*>VOFOKlw1v{LfOv+9I?e2p1`RrEL?U?8tA%dc+uWVdW(O0=#6#EC_M zZ35vG-8#k2rEuz^hf1hPoo>7ls&hFpb-WL~;Dgw_yWEk zp+Z)zmfTL8=JhX-`H3w5sX4U6s}y0i45F4yrxosS{HSRLhng@pnD`+waM-JtO>g&j z3h};|dhi`bhzwG%t$P1ZrHe+`ba-Ii7Vzhlr)b))pku2Ui!LSVsCi5BL?LLf*HqhT z4+d~89NQln!&rx|!hF!6qx)~jLqj{6jTR)<2kDw_sav8yplS|ck0#zLF^2gb$*5}p zjr+}I?5Q{4GFro1?}1w48Hh}mYVnU3pJo}u{y%*yy+Pd0d?6=e_tZH&&~r<)%HTsI z*#ExD=)j3B(fWfA;jpcA_h)nQP=YL*hYOOJBF8k3E>1|vKH`<(|JQk8ms#1eC?{Rrn<-VQU}e$4E+{u2F;bbWh`)J>ilvL)J?bmtt(X^EH)hdg?$$c21r zscR#2q=I~7y4libsqrnUphK&r>&mddZFxHM!Z&{FKja9E?e=&&bksUBQ0ni80-63n z<#y(UEz$og-_%dsSKES}2WhOPp`=I2qw<`#=iA!wil4hRS;wJ_NPqg)!o8WzQ#^rA zW=r_ho+Dd>dmX3!45jC&yGIrjh=$V4Bj$?)yfzO&`T zMy|y%LEI2gvGu~SoTTR$@6JBDhceRdQ*^@C{iZ14cB~=kc_m)T+Dzx0RNo`oBN3OI zm?LpdG`twdkGMCbq|ADdL5FJPCf%Bt^tj!cP^`I*d8+TP+9OANj%`nVe(f$FX7P=a z&nGtI9e9g6-YAbJT472Nclnib2U-!IO{kp^JEB2L0HZ0=x{nAw%m%L4btf4{P z!Wu<0Om;GCb~27~ul&Zo8p)1`^m~e``~%5qK+ZMj_!^|W8m?$#khjc?UT4g6QibX7 z|6ws@R;fqv)`qt;PR~nyn&CI#cRnPCh8(LyPSxos8{q31hLzJm${W@fE{lw@!wt&abLEw^d0|(7uN)2V+kJ=~MD`%#%rp_@fE(q!@-* zoYZ4nsw+;)4VUVMlOo~Tn_}=+;$Zl!;agQLWfoUh5s<##T!A1Mo@+k^kZYFf-w|s40SVxh8jch#!#X$lwl107!Fl{L*a0!8yp%6 zhvMN-A{@$qLq9$WRX7TTABDOdg@zu5;*Ua!N1=?P(2q@^3MNpv2{i53;UBYxuVxM3 z$Qq6S6P7g`mo=Q2HJq9?{A-r-K?=n>)$ND0(^nP*NcB#nmQ@2xLB>VLyrn6T@q5;A zd)Dv^h#&~lc`wTy-WGLN`h;FG+V4O}3SO!(;-|Yd85B zJsG=sRn=PlGru$&pER3{8=IFea5pG*_HJ5Le4jpaHsqjke=r}PbJD59p&(6$Q za1Wb15$0xQo+BUwXwxxd3YvO&dbT8oad>}5824z4!a0L4*vQ1_I@C^j-M)-#+&wJ{ zXAL&6brPc=qduV@-k0$ccSDQ94+ihBxwvQoYGI^KEhB{cvRT2&V4hWhi>{e#=Pis{ z5aWqArd^Ct2M5a{0+TehZg-PEqfzX-d&HD`sy5EMwIw-8Q^Uixvn4Od2GqMQS9sZ` zblxo)t@LnpAs;=Hiv0~t%?DqH@4Pu(OLONS>gw)QnTIbFbxsqja{(Tw13Bw& z{2m~;^~WXBYm2b9BCA}aJJKVrcI?<#hH@6zE?;sY=51V`nnTdU8{QW2Tf8wkqDu-8 zRBK7l;Zl=J93b$UWm&|$zw|e_X0S&~YZ0LWct=H*o)9*?c3zC8kHQqEBP+ zKQ7e=t&@fWR#CUWroe@Ik;dbI?gJC}qpw3c@fZfuiPX4i9nwv$N4oXc-PAgy6OUmaT^5iobRE*ktV6mWagmcq zGY8foop=lb>574L_;pB^z8>k;V|SzLkWM^?fpob*I@~&>b6k&f>#@6$bx0>3!`1*w z4=D|f>f90^sECay{tZ;}Pf%xP{v`kisO7(bifHq=I>rA6DqthM1Trhv<1qgXR8}GM zzky2r3E)-!4OHIrD*py5t6nAOzZ|Gop+QEa^YT)f@vm}eIe0Y}SRXPQpc>P6mhxk- z{wDWGZUZ?tQI>8zXu+zXEe+lzMvATgFS`!1mg17l!^4xq* z$Q`|yN=Uxm)+$JeUQ89FMsI61q+Tzk8q%t_wFc6m7gGc2)7x4L8PSWWg-q&gB|v8N zVh9kv-qznBAHrgOgM1F#`WPYs1Fc|e1;j-!rWm5Hvo#K4q!SYdIia&P9%88z6Ay9F z*_r@x(TPcbc(YOk@uCy)#bc5}^K^K1vZB&rE!+EQE#3vZ4sf;Au8@htFEgxc_+jZ*rx z!GrN%QQ1Mf+3L!42TB1$(t+YaKG>D&eXgb_sO);dZI72bD`zi__jOj~BkZP2Xu-6*CRqhedRyTynBKot!7`1})-PER-oxq{vO{WCGs-re3pbbTL3 zNyKkqWjb!}cpvi92g`hk#c%jBzle44+b0&k<3S5Z9_L_MErBHB_bwHMY4hQ6lw@k1 zp3P1Kp*v=!EIX@uu0C8Jv$9}8bW**+LBwAkR*BA^`iC#CL$W$?B?DnoP0S#l0V06@ zI=sltm34TLHZdK8C?1=y!|jR5a30V}c(^808bti#EV z4G|ahfy*5*oWukQ$BCQ4Z!ZksrqjD%8DW^0bT;);y7gF<;J|ovpZ7cre{qh8(3c|f zs5fOuy;!pJ#y;$GX_G!|r*v2!wp*Iihownxq+ti8O=wuUbQldgCQYJYr=&ObV_DKB z{n$C_uzu`Lkg#Cg2LM~c*hEs)ySj4hHfX~vdHg*9U))co=Z>;F;k93j3aCKL5{%px>4ET1&sWbpfdJ}Jm70Pf7iV7xx?YIH(l-Kpd^J6zffS`>`&k2Daj!(6V8#Zr z5ZPN;^ZG{k*oyf#Q5#g-c{0f@4B3fu^Ff|UaI;Z_>@>g0yk-ycs4xD0@$S~4 zAOmkgx;eFYylZwbbG)L3ySsQj*3&gRbq9zB4tw%a>vn5XdG|OE0-)osPV3~+F zEi+|3mI>mTIwQqXJY(x@hS@Jlp-uTurm@&5EeTb^M6VSt^Q(9D=mB|;trZ$ik2z`GIhX!saH9s^%M$o~lc zBvAe*_|8E2pW%B0L2D2~-WT2!Anyhb@|E8Mzv(Nl2v7Ev-wV(2l~;mS`pPTAn|$R} z;N8CRs_-#ic{TWgulzpvCw}t#;XD20)!}>nBe)0$42D>1#QCM?gBhh)7y`S~& z4({m))R)EvLOI!>N!)lY!$UeAnULrfg4~W%a6u--t7kH^zjA79nZ2jpbHy^R`^cdA)TGg)>Jb=4R3}`HR{)f9e zbRA(uN<8K5Y@^&89Q8W4lsNrsfG&D`L%b99W!L*(oLP6#=O?HCb3joAa#wF*@BiA2 z4vIGm6Dj&?MyF!^8J%I@b>tD6#mpmsZTSgRMhZ~hzsw|$jqZ5mZSciy#3u@J+FKrn zZ79^<@=f>x-};e;nfu|l6G&Kf2LV`nC?jh(aq}PqT6S)qVDO9 zUIne7-!0JnjZVuWR-ddsdy)Xi7K=lcDlvOQJ(G6*hUi08-*0?J{m0L~UHj}+Mpn}4 zs!C)2X1hOEh}|kiU*-S$z6DBSerd5LZtGw;E$#TR_OQy&z7|czJIgDuItySqR-eOu zaF42!bR|Gt5%d5vChGmS>$c5*<yXYNbsf_AtV6o`bx0>3!$3L@Af5Gkq+8G0`L9E|j&(>U9>YMoo*Ct_ z|I4$2I;6pu!tcpFgehy^bSlVK!Nxb!yx-AR@X%^R=*xh7Rg}y>F;zwS1G`BEB(esj zK@zM~dSmzhRjTT_lu7Gb0P1Q4>WHy{Bt-T)*8I0d;!?h9qaD#DU4`D|l-@c*vPt*4 z6X6ciX^;$HPDoIUnJK2Qf|p!@Qc!?VRi?wU!ph9?RR1EK@uy;YU`fZ>0>4fYJ#QOu zrY<4}eCu7{jF%kmYqMW@jQW~U4cSH^MJ&H6xqX%`nD)^PiH@E2Vdcf@#~{ z5Nf7Uw*;|=Rw52&1>fk`tc8BFi z3{SJ1u3OK{R*g9@@?z`6nym4g3pSv0n^>Jc4PQXRD59W+R zc)pEZq)nQ3#N7tdWc(IfgfB}z6esF5{s|6W_{-NRER7bYH85L+k zAa_j@PPuke@z3Nfftq}vvp{t(y@_q!06QxIuqc-XRH0%$s^BZ8Dma3LXclWBnr{Yu z8jQ$@xW#==+F)jUS^bHrnel}?lLDn~8-F zkDb3-F3gL)+!?m)Wh#Nk8pzuwGS%5DOQ7^m;HYTHmcEk*9^?t^s9GK(wnGHu|H*y* zjY6UTC`HdKVXD7EyEZ2Y!n}bln>zB&fX-LBBq((Q9Sj~6y|g}NSrUDJe2 z1n}G-(BvqIR3N1i^@;3VlN=8juQv^Vd?Dty3yDAQc!RzEt9_ z)ieha-8Qv~v^qH2eL{zD{Iu;AfViCkjGX+fYSfl-;1Uujz^^%zxACFf$`_a?ayXV^ z$86DVxY$fpT)D<4`-j@Ew}}ueKrb`N(>|3`!h-r{gi0mY9jH}hM(gI%LYMgxFBl@0 zf+0?sg7WxPgD%aN(LCwXgrstN(zliH(0d@kxVCy=3 ztk``iJOXiaW)*P13{Is3!0j`)2DtYWkM#)_mO-6(A+f`9x&nkzu|dJCpv=t5J1ubh zshvV$(D-?R@FwkbIO+q~1N$MR!cYK1q` z*FK!rKkHaMzJ!e?Zq^DNrt7O{EAV#+YCSVcD0o@eKWgS?+AxOma@u~BCY-A@>kP&{ zh&3EXgnZ|kURzVycE^unH9VK!SYwAxDU(BZ8(r$V*;^%1fmHHkSPgeBHS7WnmqZP5 zokuT5KI%MrA#&;J%F2~%zINz$YNPXFNg1C*a12+f#!gD`NTztC-$ zKD&Lc9o=COT!q1Rx#E+Sf%F1ey6@%7l)FVdgq&A^T+Qg)eF>oNr8oPIzO=hr#22I; ztx7xUtvkpW?=qvnO7u&d=GtrD>Py!^a)ds2Fj;rG(ii!MqPRV|Fv5mO2jMB=NRJYX z(62_=VaUp5LI}GIS$((5eU4D9K3DU?v>y&AGn zBvc@e`-MOKaN=ffLs_~m`>d8M4Q-(8Pp>;?P|ZiZ7;6b_74`WZ?=7?7`qOer@1cMo zN6?-Pe~*3JEFCsN`bTA1#%3yCFH}u0bn?st=K)K-?FGF4B0{yxvR zbX2x${w z0e5@et=;o3nWNNteD!nu=d4=itRxyeSNkrN1U~A_6o%)@oQo8V+54_47;|WK%)#mW zWC1Z=FiXoxcc#_POn#S~lgQpU%-r*ltmva67 zO!qu}5-NOb%Ht|eGKwEPbnHH(Hd$%YO}Xff8MqV4d)^S@K9pV-RqZz%37Ou7>}jkr zrX66VW6L6{orgb%OiLoG8mo+G$}C50+0AN;;YhjZZOD|ysv|UcmJGJ+M)l$0&*i2! zBZC{O4%4Jqv|I3B=%inf`!3LSvpj!??L1)qQLCP@%%)_wU+B+%MY0>)zGGkh9k%Ph zGz1B|kiIE7^cT7cw9d=5C!#dTQ{#neLF<{6`&x&+T)QJ4C0)??-8H>cJH=hA&eOFk zqA2OSMx$#~>sKj?T8BMdUqn1e`a$D2S9I%q_w(_p>a3B^Ri@pLdd*cfv=)|QLRnFD z>`0{Yv@>#7bJZEzQU1=W5dkxJ8c$eyMuE7~Jg zdVEw+7qFV3QTH>F?f01~+S*V&7;l ziG)|R)!6j}=6S(7wPZYYMVCYpyBnOnh8~tO&-`_Dek8H8!P#TzVF~j^cc7;itW-62(C!WDGn>5_9k3N@ihwtVk z?CQqM&1Gcq8Jn(1z+xK8T7)ejx?oVMyfKNpJ;PaoRyUg?3RDo>&QMHs8EJ{lTzAHK_lK8A)=)#cC zBc^tD;QwdU?WA+&3=<5tIh~S#CSNdT9LHd(>6BD-(^rl*wHX_amc5HS>7FJ?*%J(yZTPg zKWO;ZS1X2EG!4Z0YTuDE`_Eq{j3|D}1Vmc7VR^9@og~Ha;W&TaCS4tuwA3OqGaCi` zKc#x2!(whsF?cp^(znS`-=#3U$Qt~BGJdVP&+m1$5gztCy6OE%Jj4*I8LZ3R=7t_@ zF+V?^9yG4a-qxjlS9zc# zUkl0KMImQC{P|BlBg3zSA;s1qqR9LIvzK}|{pXwh)1#@Ee7IpHS$1f-RUYy!9A4kN z<}LR99yM-Q&HIkajg+BaUQ#~)S29}H*)XP%FIp)e0sE_hIn$LMS%_{hLPP-;-E)C3 ztWc>)Pozk1UJ`jRoi30ln8Ym}iQ=X@r#tn$Ak+aW=W*cr({{8;NArFs-xhZ6w+oy@ zkDRv7fNRUPfY}iR-xiz{8>@MuSq%!d;hb0bTi2>U6^+h&4Cm5a=p4jwff#I`(> zJPf&=rS{9LCidv~%Y^PEXpEj*4P+}!t{xHtlWT=+)tBpl#OQacHCz9TU;at3{1cdG zcV#ncJGRV5iu2e6IP48h;(UVZ3%=$pbR4j8Ge}*6*8TumcP>NgGQyqm>t$co+N1frMAfxX4K0W}jjCApmiw&Oo` zzMKEP?Z=NqH&quWmuug+SUs7W%IV9Dxaa+yxS3URcwcJNn2M3NV(pkpy;qI!rsLXf zGQTDGS`WSE$w5rvWj(M7s1t1hE_ZfG_;pJ-TSqwTmx>hwPK7LcFRwkK^4=f0X_4+zSv5Z?Jg9vybMg+U(v z{ck407w#1+(H|%^6ns^6PFsdJ6evXzT~6G5xLo(f#j};~j#eqr*Rku4z7M8?IJ`6! zuM)>wLc2s$@t`wlbFPTFvsHYRdS`Y*rf8Ap!F%+OKxyIf>bW&VH)%4iiv}xB1N(sc zqP@dvX`19v!Z>H0?@$uZ0Ty@D1?k^)e-+(yTY4w7jqbflIpg=WF~>$#^9p`LZC<-xeG+fMaU04jM|D zg0F>@(Ued_oKJe9Z?_lnz2 zE;$+NnmgJQ;AD!|oJ<_D@UmmI^*nuAf^3(@eUK!QW=_589KCN{6FOCpSR8dPL#(4a z2k@X;b@64S+dyl-&6&&=)R`ws4n$~|8!lSpvHT9}nv%*qz-aCoqw!r5#h%MP3%yQvX)0c4Jw(o0m3C@I zWXw)834@h=7$fgx9kjHbaa1UtRPO;91YK!N2NR?NL|gp3B9lJpYCXAq#c=(+ z81LKWyvBORB~$5>PGUMnG+5%4*GpVJ31+Tpb>>3afn2W~2YLwBfgMSkaoksQ_SuZ4 ziJM&t%T{t-Zn)P zIX0DVDRS4d;CAaOXdnpw)QNNNc%Q}0P}D=ju78m@%orShy&aqe92 z`a`llNZg~vKJ9HgX^zhdGJR%uvk>r?e2I`*NLoGbj#8hNa2!~UL$)9!*DuAP1Q3$* z*E^;5!O|!Dm!3oYtJ4f%H0{8OUy+~m5Q;A^D_1A`w#%)me%sa;Ln{jn_0BKV@)1ht zi=Nh63NEJc4*N-8u8S`tMExV431Cc2lc=>u7Vh)*03Mso`Glg&9ylONLm50h?P~D! zyeM~hqo@B=#H-hV*|`D$9FPrMJ~}QjbG36REu#P{wf?7L{{+nbHPr7XfylYw0ZmQ+RX9{ z(U$+Y59=;P2GM5X|7wWcJqP|9yC(1%(iJ&>c15*o&LdmaZ__moX&m?O#@YQ|uO0qj zz4loRlp_0Uy@o_}a{f?dhJ0xXs$<6g;}|yy zTrk=FxnRdb6o&0@L;Md5HtFn{<_&wx-}D$_+Qu>dt1&kB93cKL3|nU!#CBpR2@uMwQF-%qq3z6G+#3EUgDkL93jKwiC`8>N>Q zrI#P2R}iK5HA=70y6e;sb^5~bimz*Z74U#z;2sdRkasQPwFU;tq+f{6NZcf9-X_}q zulQT>d)H>%iLHsOKJ^3La@Gx1eIt?6dr^R=k{{&rqA3ix0Otb6?qh$ik*uv>?~gnz z$Kq!H=HlM?fpI35{wG*5rcix&5~x4D;ic25e#f!_lR3D6cbhKN)lq#-Q|I}ZsSK*z zxLxo)I9jO?+;ADccoqG^kw5GRNf`2ne{+<7=b-=M2qCgRx%)dx!_^o+SJtbBj^Y1d zZ2w}GWBmSPJR#YZZ6QHCh0*IK0YAWpH%c4pmjk>!exS5))~=|{$CcN)oz9yvjsy>9 zS#YFOook}oSr~z17#kOXHuW4z_DW~z!VOc;HC7t?e@1*d&y~#6Ki-9xF>T*rB(QBe z@pA3E%V&4Dl0wHXqx+CB-ozhayqf!j2b=y4m;R<_*Jaw$5o?#_3YTSwmGW=?+w497 zmYt@KuCsk+o;{=LeE&PDC{*qjWkkw*WBG#F6nSYUu{^FQH9ZMyyJz{!kyMe~5LlN&l9#(bIIN#2jEDtCsBC%P)X6O99z zW}sYPm~Rf*76>9Ih0Lj;yc-!Ux?h!n^UAJsj~F0+C6}cpfflFdl>Oc+MV3`iQHxX7 z$qT{(qzSc(koalXbSn_$HQK(CbNl+uKvyqV>REGRB{2RjuO4{t)a3|51vx&Rfo-Wc z_E-UdhG51Y8<%q%0PublaGoE0$q&Av5pCHOb^LOD54x)->1qL9oPhT-Si7#9#=Clw z17~KyMK5Dak4@UwQ+mIF#&@s*3ZDfCf+<(PPnVhCME40%+Q2A)WzGgDYj8CX9k@aF z)TPV>dYE^1ZFBw~ zATp?56xcXb(ej@#QPJLlQucVYpWM|1MtD-n2SYt|fiuGV*W-xRH9b>+F&k@vT0l!~ zTD!bLcJSnxDS_rA2g|j&-oaS&&vfTv)*V&D!G_M*7=HrIXAYKobKh0V!90%Y2Xnov zvF81B=V{iRa>GIMuGo_R0z42$^^1AnYBeMW3&>m#IM)11lM8F$jzKWRU%&0Zk0bxSTS5ecP1+@l&M*L*FQ-IP~-QKGQjD)OS zj&r23W@e_H&e|VD5@eSrE6`J-UEr{%sZy}p)0D-FGZ4)d@39Fczz@*&JXHtAex7oA znSB;*TO;ZuxpgPKzXV)r4b7U8BqX?d3&9NLvFDPXc!gE&5PXl17#7H-Jb}FP$SYom zlsbWKq*P|)L5&nGWoUL6z~?QbG{~eo^bcqn!m@s$H%+VhPk7$x;Q^(xkInxl>;U|T z14lE=ZL`dUC5XFH+^)!e2KEB;yzINu-L4Wy1AqMp5R3#u&*rf%42x6Q+;p9AT|s)n z4zvu;1p+W3n0-ijwj>i{AZ?0zarYi?Xa95sQ96)U6uxKSAF22IKY4H1^gnor=yAo# zV@ULRjalU=>n%Ua^yBQOCCd+aOu+aVM`|jn*ezd_{+AopMiHQUdTDlphbYW z0St(X81woT8`0~9ADi{q9F>rD+5E_|@Nj!b@BOlj<(h|Nn+Lly4+++`Zw?aa8X7nO zn{LNify$j7^G`QNfx#yaISOZ41S>Ko+Fc|U?7sJa`^CV63wH63pxKfQkhLM$d=P5) z;>*y>!`&MZ|7Xo*Y1YTaiP&8(kbIXbtIyNWz^rKfhGxJ4>%DHoF%@^flxASdR6_OM zO4mMb@ljUS<=wZSoz}or$w0^VG8xC5fF?!Wz^AM@1^Z{W4#>`Z08bEbvgX7X91(bZ z5T^?y0~Q#HIzHnFS`3y3)=Z;36))9{2e1cZ66X!=UQa!r1kO$ccI?e=0A`6F0#8cv zPRs)-?+={2n4aq&?yn9GB$x6!f#*N-+Pl*AJLRc>aw`|qK>C#nTA=D_diR0cy>H)q z;5cw{mJ_lM<4ybgtWMX5o1%F~oSj@Bzt*}tzxj)g!tZa})Rm-x=ZlVvI~JD%ut4xt z=}m-azUWik3jl2gEf6;Fffe)&ZUxskZzWLm^5PvoW;u=L=?v~nU#;{5k8N}UvWg5R zrfLEX4T0@lPb%PbrAHqh6GJ7X{j;+Dn!FRgEL>pYm0;A%h(X%a>D8S5_VtDnSJ;u~ zdFVBNZpOka7H5F3!=%66z6hTyS&p|*&2x%F=irBpK z5*+d)Y5Fu|b_Tv^CcE+NnRiUp?IN-RD%Re%bUN>o0ZD5~cEVS{8v(BupR(6~ zp(s4wZb3B z!`uY$zm6YTXr>T4N7zA}7ZuDk-T|@Yn(XkfpJVxx`i&+6>rcG+5{3-HcHkz$XaK!s zu99^|j<3r8&kbM?GI{9Vj4Hr_p$q?jl8Mj3Ze-HjzkD$FZ{ZU^ zJPR4||0VQ6?Ku5y4@s)d2)(U^2An{9e`uAFh7}m+ z?`{_PL_~$8x4nhLw~xfW3kfSWmPU*M9;as@rN4eJBy5pZ8ZmKqGt4g{>h;wAbn_5Z z8u9b$=IwGWsqE0fkZPW09;qVWCQ>Jt^yA9x&hf*`&*SUk*+Rx#QlqgQ_O!0MsXOlm zeX8rY*XzUc!g`R#{u7i!6@8J9u5A)9#(%pb%l{S!&_acG5ZC5k&i<<~)hwJgD+}|xj#Y8%WK-dwxL&cgjrzFthN9Oe1)4yw6f=cAm zKR0`-rxaN4Z*T^|ftA|d$OZEJ--CGfkFe$XrJ~|1b9Q}vczv7^zJ6mfe=s-w55Oqg z_}zo<{Z1vICH&o)-y@4r`09`E#tYHzrrvNv`rGSJ8GPEEAyO0n7hXr+OuZSxuU2K=F?jFo4!Pcci$U_B z-#s|_pWyw_vsn5^+m;UI{uM1Kfk%1z(%R?0JLB|!gZPd071kIN(q4?XTF8e+|Tj? zo&@foEuQ~y%AbWSyvys+Uu%16Z~YS`b%d)p-=-=m{szYI&vAQ0zk8+npMbyoOH>fe z>g4yuLZ-;Sg$}&#?G%eC^Y113?`8f~xGl;4-0zW|`w!sOn0)?Q%Npx6cr`GdEQeI> z^E5T{G#9i2*CHB!tE79JduQD%Kt8x`^{1#H6GX-Ss^A}q6XK75tXqFp<{l5%Th|Y{ z0wy=3!_A(pP#A;=bdku~z`Hu6%gbKqa5Q$m#H~IQGTYb$slnG2A}E01NC}M6q3~~Y zl5E0v+;N|}tl1v9^8E-uil8#(!KW*kJ~|RYoSK)PV-Q!IrrVk+Y0l)fB*_C#q3BwCZ1}FN#}3 z7So=vcQRyhVG8|R7XsAk4X890#jPW&SWIx=8WOlO^?#^K25OB4RGN!gz0_p_$*+cd z?o7p=>%Ibmu7@)3V1AMjL6HeUk?BH_`9hIpL6NmVk&VqJ_y;AJ9}g*Z4{3A{8FUX> zbPqXn4|#MC1#}OEcMrvP4{_X^Ds7s!Jl8Q^)-hk!v0m1(U)FJ6)^T6faex+yAG9a} z?a=&A(fsVt{Z7&S>@fUJG5jh?g**^NG%!e?VabT#$OPfYY>^W>LJ}rI64pWz&O#D^ zAqj9#L-9RBX+1-^Jwqiub+&ASjXn6!@TPXev30I&gY!N3zOPN0ZiW_x@lAU~2SGg< zWMfGOaocp#(ARLwY6{}X#7&fuaZzNx8kYz~CM9bDAKH+40RU4t-qgNugvrZ5t*B;o8l z9Q})?_@*h4bHdph2?iG}@l6XM=Rg?3!9`nqQ>uRO?0TC+i#>5nFZf=qd*{qNo>!`1 zx;b9hAckIonKzljt>d4+bS>5wvnURFx<&O#VLYN3LV z%W+6HMuaJ0YN5x(%TtI14RK18S_nGn5=F9C4IObxj9Q32^pZ)k7mEvFN`hJlBkA(J zq)DWi2}_$0K@xtoY|>Vt)6(9MdOy0hm7d3A6wa26Mp&LUMu3&nLmAH25QNdi2yl{m z7=cJM!}9bo0=%Rijvx{UV~7zDB=vxZyCtI)mS>E?FiF^QdS%MgJ5`4uI!yUO9dlX8 zBo6rs2Dw*>2|@Hb`OA2Sa*|n}c{-UcdVqu2Ll0a5rMIjZ+TJ4{Wng3iB}b$rQqnL5 zrc5$rOyn4gXg~Q2cIc%kO2`5JXU-;`kX7l#6$BR|F$bz)d)SsZ@(W|wmP{#19y|tn z^t2!JUNh3~Xg*!Y$>++CjwWGaC#5FS&{Ha@ihNY%i!U;ZEYf0<`{I@SsvvpBiCRjG zde2A>sV5~B>N9R96|)B=vy+0(uiPJrWk0+~ta~u6lXPZ!Z;A$Fi{TDsW8!6zCz2uW zZeo7Rz)UHl!zZc3l=kDDkhO}kH3eVtC6?SKv)r(-Tx}WkcszBtB&Lo6=0_z=MFzwo zDiTxlqr=|hct)Y4$PoD<%y>6!v7(*V3IZ;dMW*l!B+Ps>&aaZ<(V31GyHnzkzPSl) z%F4Ww6o9WS`q@SI>6w|n@C_*8x7p5F#WJ%ad#^f+-wv! zmuJyC{-ltdG;H+yB67aZuQqbAH%nBNSCU>WNg^5Os&+4@g#7x5B<-sTl_@V~DTBnN zMxTEwD`rLs7tc(ubt)%jtbhdTEB|9bb-OJWbGld_WkKa@qh!>qj=b5tnn~Tqs7?X- z_RnuIG!&xBeB@VuB~ul9E2lCTD=Q(otI}j2(L=viKveaSC!bLjPsqhI_>mg)wG<{%Qm6K$oa0r$OMgb3Y|M6r{e}0r+BgvF4$K+)Mc}?=5oAv?t-+uVGy^0(>T1 z@+ul)rA!(VVG66yJHC;jtEy_U^~_=-PANc?E$MO`qIp<&ejH{VMGJD|DA>Ze> zQwOf_2Fwu*lsQCUe9Sc8j_8fwm&3A<(0r8p>{L`3MqGwzc9Z&!Qa$8TE+*-ZRP_8( z$s0YIa7%_yv(>7v&)zmnex%puNi{Loq?hGMeKJX2KxfsEq&R3~T53Vh`o6f|YekRK zCCRcm!RU!vEU=({>`YSJo;FJJ!`rx$KE2oFqnA{SQfy&wp>x=?TA1L+uxHhN%!VXl98x+eAxUX3$ylxJ??@`5BPv?}=H5Q-Fq!WN zXlfXw1(ZU3QeI5amu%Qu7;k&~6#7Sz+ik0nx2$2G#OFTW7Np>v)QVr&Y8F z7UPE1Ivq0QiTj%Ui-p~tipN`==)IAn^KGvnGL%U4E{ab_ALxHgDyYlljN>#Mv~RaY zH}Gxa&FeH&>UMHVcj8I6JW92$NOg8dwd6^41`i}NWbNsG-1Sv0%2M8KQ%qfXU-T@$ zOC*;nD6^|8Rpcv?nkBZ|CVI6Z{Og#dAwZ%0XR>W=sytzfhIDzj%CY`#G;W!NRJDl8 zu`DhQg}l9tO0f#Fev`{wkLyzG*YAn4#i1X|SDT8CePznid5gw^h@*~j-RRMhSSA3} z;h0BPgbe!cOy$yt`DUcpa^1clC$X3nV5%{d*-a+NZwN)5N-}VMRV_=TVYZZESW1d| zUo=C&@VQG%6)}eDbAgxYRwO;i+R_XltBp^5CxUnze;oa!Y4Dq2Y7E1IDE0#FFD9$+ z&CT-VFwE6j->RJ+S>7Hs((Q@RJr2?yDbha9)9e`(4@}67uE~y`$y@=YXHca_Nu;ir zC1->su0Dv5>Wj_Tzq|4m9gP!lkvjNlp;k4TdcsmXD&HcaSQeCGv%1T`Q>^%*S~A6E zboZF8Y*L|Yk-?^>oN<*ox;Cf1J%b3R#LYF5d98no#bFjbeQ+^`v8TCj;&Yo(6NP@+ zo@}}i0Vd;zBMt`LR^?HBJ*0t}P|R@-Y8*RxJf#UaSxF{z zr-5U@T1p%}d|!q=nKrt#DkVqADvf1s9{!O@x@gCTfuu!urmlsG#NXHC(}EUtuV6VR zS$(FOMR6OukPNP#>}?)a?f)0bH$1lswy8moxMrOUkfd`Ju}oV7%EofG+ghs zZsY4l^-Z`v!__a~D^{U3I!-D|w%c@;^vgD@%YJzjPsr8OR9BUKtj(250*jr|J zBx!bLlB<_osnuo@c?c=LBz(lAP-qpH)W(lA!2;lx6c`DA=0R5AfF>E)C5{lPl)6W#YF$PDd1zU6x`L*dgkSYIk**kwPX8%F-kNW_grG*zaB1{|BDao0 z$8H%WeT7EzuV3{a%QbCm)JH$lyWhTbPG%u&=mz9{kDYA<)+>alm+{ax~85?Xe_UN1J zKYzLP{;Z*nTvl$bHb+?|FZZzl>bRbPusjuE4jWc|EU!ug3O})Txi)Z4t)6!AqBs1 z@#WQn%66|;uZu2z_@$XN-#y%G7Pojh|3TX7sehbzSJiGvx#lOBEL^nfQ*8 zg8p)V$&dfZ7y*1E({IsLPqqjmqz*b8Q4ugcJ$xPNX)JUD*BbiB7F60-E84{;Fp}&Y z*%ce|$XAg?h}cg@8vejG4Ann9Zf;-t?gvyjDP;jc;w3HD^9#=s+nc8ybV4fqC1pPz zfDoe0j#J`e;i)NLp947sAKQ!UwXZ9zC`#Y`G!&qHHgw*pB)N?33l^1RYnm>zXp;31D!1I!mo{+eAoS1SUqNO>cH-cI5QTdMF@WH@# z8ApEDp>7|hYdiVgt^Ha%kwbi&)jGVLJ^+YL%?Vmz`m(KwX>({8pvDIEVd#iy$2O!d zCLzc`ulJ#lE3y!!l}$X}NE^pYZsXOi1gIeF(T?W>l5=&mQ#u&G3s2N}hewvB7iFOW z{rf=j_Sj@-0frPbC-*xUbK`8q6yuCHi_sCzKUog+N8+yvY067 zc0trq@4hbPZ6{A)1_<0U^|; z?rYU?gM5Mkf_IN1_)`*!?pCRXAleDgUEj4K8Q9vo&{it#Dj{W8+&%7Xa1e~SNYq6v zx?`Q?(@1t%C4c2K`7NCo_6}t*4I`l+uY3tvpH`?xeZ>Vpmu42ayy?V2BwLrzJ_zYD z+;sCm|5~hbXVb4Hp27q6r>6BckWfziYy_ThEE4xk-%nYjZG_*;A}Rv#X*#Ii zm+ssbAZ6M!Tcw~m1#a#o-URWJc5U8vPb5KQL?%81Z@_ZA)?`p$OoNS@8X%$b}G%^$w!#u%YujEv@|Ax06~ zrw@4e{Lz9NZ(+D|K!yy`Pu30Lq@K$*MDeEq14-kTfG;wF(-IK80Z(^;QeTRGb`vLKk9 z=cZCgfIpM6?O_PH1Gk@iAK=@NerN1N)TCsDH*@jauAM74qE#~sW||Wnj5_uQMY6;l zQmwvd18Np+E0UmAl#$VzFn>4FHzEQ_=C8W~f9!`Qq-+F|b(Z!qwLP%ao+Z@3<=(FY zp5FuJKI4Rug+TW9agjBZvR)s}wmj|-B_psKn)aWW%P61*?FXD&WBOe_CbY(WFF46< zH#!&N3X4Uucy#RZ#w^z6`esPF${ez%Ji`OG`9empKQN!@$x?;Mg})QCy!Va<=#;*v ze9`v?%jp@DK&cUvFN4JGHF$pRG7r2Bei0tRyq6&Tc4(uT9?e_U31|4d;&R4mo}$T) zyP!}oXzrCbZ?1tJ)Z@n<6!-$xhAn+T%Mch#8GUB7lpqHYlGiCB_!s##ruj1STR=dS z2?%|RgT}DYBi=W-E65%n^*gWSs-1|SfTf4-e!ZbTJk&AF&GWmUts^t|oZ!kkm^ELc z#0B_Z{fDrbb7D_|@%C(KEP zkv1GM=W3ECx82yRj5e?Ny#h93Rfc2BHrXh~TG1jl57+v&D6ux4joAGx&1D}wlwf)4 zIOPyz@1EtG)=EgpCfVAHmHRR1iNTy}v1}!f5TS!@J07M@@j(Z4&^5I^+F$AF$Pu56 z^^=N@&&BI&aVUAbGv#Fw9ig4YmiCJ|86Hu$Q@MYXTBKpub68z0p7GTavmN2X9je{k zzPIMsVkou&kXzPb8;*MuHDmhY6v#hB%cwZ>*QczBX8gYx`e;K-a1p-=qEHc z$088wJ#BScsD26viqsOo39HxVU$}5$?P%l}sjd7%oUTDZ5G_5MAw4S~=?f6|70NBm z?}~4r6Yto{PcRhm1>Wq{%h2&{L0(u1p5A_hrI5bZNX_jqDfoEit9Sdd#X8$6RpH(} zsL-J2m6S2Uhq7MC6y)#ep6wY3rxdiT_rz_C{@xTd;OC$bxs_4orHnUP-(XEg=CUaG z0Bl2`yoHmP3lu-ChT&-vv#TOAKO%6b@s4~8<9#v3iBe0NV;u4hEzvtjWxJm0U6K`@ zj%3fUUc2dwis3dRX~3saOQG8aP2i$uXW)vlzbT@Eja_b7vfRwOr)y9NIIVRmoe8~hKL>97hh-?-memwPmUtL zj|^v`J+O6BmU>U=m(kHJ^>kw69EFJ+@kVj}DQ1o~8BQ-83-V!Zkj?|Q zCbBM6?V_h<_a~ddJlS_0;jfpcn&9B4cT3@8Gz;GnqwSTsI4y?0CH*jV*>CO@utX>X zpuKEo?7J?l>bZ8n@^VtRbEbORH^3A7rjx&OExHQD(BKCg7VdBB3@TL8~v17)NHIHec^50JSc0=PhUGTmlZnRny-H1tedIAe9;l&(?3SYsdi2J zXi?>vax7FZi|SW!F7MVP;MMbWZdZS+N^0^V{o*^|-QE1Keh0Ty?y+8j$-IQ~TpE;L zV)b&=os+9$+=+FSsqDEgJiUtX*U*tF+}D@=%n zxqIsSv0YQlNZi;fCkW>l>A}uo6QUXBTRQ*6Nv{rdSn%{_oL7i?s%ntIa!I&KVnM)d z#r@Ex?Z8SXJbfAMWe<0?#3#n&6WW|lUe*1QPhMW${UdSH9BQ`GdbRgP{V`4M`Z?P< z8}V?C;$;h8H;&`&4Uc7l@A=TV&E?wjM!4(IdyzwxdXOjkNx{R00u<;4=-8-kP2wuL zc0tx7*_;CgPJtf-Gtb2Ig(&X@3-)t~R?yjf3 z1QhVlq}G^U7zFAm#d2$jgK2!C;G_)nU0n2q+ds07m&?=eX)P7mQX;(2bF9BUWR(KC zuGt#&SP`<}&wu7vbj^Ut2k4T+8ckO2bB$I%2x7k$ktIVZ^6Wc`@Cs%#iZCes_HjT* ziHWVO!@pbC1>zgTN*8uuX4z#H2u_Rkh{ziUW5eZj)TeIqRUFQOF$iH>adh*wictu^X zr}1tewQpps!%iNlUqEBqAiQ~LRbwE%bD6nt zn0E)pc=KIxI;~4B%69QPQ0>g$lFP*kXyRoN{V}#pfXfRc9YN;C)&ifj-wlB342d~v zRo81A3Mc&bnj2Hx{=mSLmN9J+-WY4@M*i+R?Gw%fj3WI&*yT4CLI1BKjbGI3%p!da zCrhEoJ2G!dcdRy%WwCvanJtoQbMVI}v}NL|Mx2HHI@Fc%(KAMe;|DoV;@f-F=d&iA zymLHj#Wee5qBj_a=nO>sfh%K%FI_@Dpq1G(m=jmP`A4zu#TnF&Kh&*$l5d|Aj%_K$ zz&xyuZX;1N=>y%?Ep@X@7ST;KJmT87atiR0*m<-*#Xs74?N7$GP186ojj*&WGs&tI z4h7&vPXwaT`W`e_(9D*Jd-WxyUCyX9g~wt?P9RRv=9V&5BzL?Qz{A3*K^K8n`XH;$ zI_e}W6V+N4YKIEP|M7?w+TfFJ@Nzx%MXOk?`sl%|@jE~6?*8SFgOsp(vnMwEU@<1r zxey=r7L0G?naC}c@~N7Gikd{X`)E5{Ib=15(6)tr!gLlv;?> zk}zsRfa!HRORc=!Gh^*&d~V;F(X6ZIHNacqISc)7dg+>Cu3k8Ho6!Vl2w%w3n&5vv647LvFDj~MVSl)QUgQ=z zCEVQI*_6%?O^T_n84Y_`Y0Y_Yf^Vr9= zLI13rEO+`TERASA#_LTVbm-StU-QE3#6>hFT{4JvWS4Yf+k*()K1cH&S!2ThjYvAt zhB%7LXkK5IORSqpEB6eN`_4{H&SH9`SADY9hV7ta zdSM+GOX9q~%?vQ~Y^do1>7=pKi)dtFxe}#)%a_yYKu+N!zOUUcYF$_~gC6}VrN(cn zm%_Av%P#fR?Yr@qpl7kQTH=1aiy-S+L3~U^4$`YoYoTZs0T^yZ`KC1;Vy}}Dr$ZU% zM7_EcZaa0eP(L-vtO0gSkgq$q#DhlK|5>kX)sHdY8)i11NgOoZdxxWkzUe>;Lsg|v?=pzR`)mD{) zV<67VdVb{hqZ#$$fTqrVPj8$e9rE^eYCnG7(n{#$kVgoeHj@Q;lGNw$U7nnpxYZSKYv+5TEc6$5( zMnZ9J@i~?zWAd@HGvDZqn;p5RH$i5|ViG z)BBV|_~W67 zV2!;9B}C7BkC)6ozafnB0W;RJ(lPUmfaS^0+6__S#S7Lr&mE9Dw#CIzpJ!iS1{oLw zRg_QT>AV96-}wPxO@VrXN0D24nkF1pDBAP@mPHS$yS z#K|l4{Z2<+LF7e1FA=WshNX;ay>}on>JQP%E!P9aV2Jw&=k_VD6UO((_e^ahpqmlL zK7fAv7BkbWp~i(_)vp!_X!Il7q;iWk^rNg_B_#CmOJra+5{Gy@7?v=9Ash10N7Ndi z&oMIx_M%%0VH=s8KBJy5$syzMQ}XE(nODhyYo66A3h<4tzH}s8NZ+C(S-QogyNHYz zzv;OYmt66YC|tTqtHtT-4ZJB9TMM@<0{p8bQRKP)skX4ko))rDf;97-wB3uxzNoQ0>uS23W!1?BexP7E?mCHC`i1%6n?udx%2lPC^Pn;d~53|frQGAaiej%^ONdTK{c!(EitX)jfnlH&x30*%Xm2Vt@ zD*xxm_3_lZs3a;mSv9p*{-Ma}U#Ts@@^(w{X1#@=IGWovXJezg0=G)Q& zYQ2TO?)g>D-_3uERzPpw;XC_!fF);5V^M zfBJkaPz-1zqO{r=!KxyeX;I2^`;t{=RlK@Z$7`*3Czm6T_v^U&nl1gQNUtp#4NK?TYJFoJDKnFm~FsN56&TJPj-s#l!wB*k=vQWPmU~rW?+NJeVj#2^8qq^ zqQK($aoNI~3+DT!i9Hct;i4y(`<&C1XT>b{4Rgy(p7Zxvx~?TTRs6FKJCi>a+F7f3 zFBDQB?}fANV6|WH?v;+K=vYsH?0eeevR!!ETXHPRbpK7kQZy@1G_V3V-kxHqWVBe5 zCkojoQt2y{YxToU&6G(l&E`Ri$GAY*4?#hJm`}PPBMv4*{Ux>4Ml^(%;Mbg-;GWUI z+G{dmfP`5VUE?D;Ww`Gvuy7;_veb0IW$q#!ENE-Oq}OMeR?!a^OrbRYC9F9K;8$u? z8SI^0#5ulRI7H}J*fHIpz$}iJyLS*25k%!z0es8CH$!T?j2a;7KpF@o#s{N~U!V{~ zU@!DZ%U3im`~*nLC4+~aXxeD1PS)EPGdZRyJ)z*XzfJ$1rJQ^A4G2Ex@B?Ai5Fwap zS4bN7jsIzhf0?Zz$}`?F9<8TKr}*O_n!3$f9h4H$*r5x$jtAkFPoX<1eyktFoj41P zFECjhH>uF?j+$#S^dk*PCEZS|EwnVsKIz(s$(2Ft(j2W6S*ef)TNmD(X~i6n{on)E zW>l^w4!dIH=o6Nw6K&Z%AzXbOaQ33e#AMF0A&->O9bHk)#bG$tl)0*3Svm1Sy6%SJ z3-Cr)qqw3wXJZHq24ECnF~@})^AYx7hN^RY>AaZOn(ON8ekul?EqwtYfUctt%tl;I zM_kKA$k2TKyl>XCIz(D$>==k~BOW}<^*tMSm%Fl-1A|1pLCk1;*|clh;6s&#VV=r1 zR=hASepIGTX@DB^>EOM&8I+AXcgN~Vr<|ke`PphwlgjzodJ!-4z4X?(%o4dQCxs1e zbY>!DG4l%Aug1HX#-f>d?dADzKitzBiqk{TfMQ`Q`S+%gohJN~LF12OQyQ$nGh zRLR5gneTK-V58od7w_3)=0huRG~mOuDr`|q3&uOB9CGJW`}Q}uQQ+<8ybdv3Cw8N7 z9w^wjFVu(T;krJGes@V+Tw?%CXlZVvR9y$f^WJcd1Li`?@rE!sA~{N?Oqq9jsyvZt zD)W@tsc8l@dz!e+$U;yJlAFxeEVfe|^M@bC%7aW;;09Q#gpqGc%xrpSc}T^c7Mqx*SMd<_ zmGLl}T7DL4ygIHs`@a68s(kwg@*DT{BV@c6ej|%% zffBY&&v&qJtMX+;Xu@LTh7xi1V+{K@_Q6-256-D!6fdD%EGE1<0?4ngox9H|=0qfS z>JaX)FY*8n2=HF;rs$aSasDL;Xde8o52e!aywTxShRHtpk76@$xs`9pk;&oMRESaF zgEW2(+1tDHZu65RzfBQal{HU&QGpt7Mm37jc4YX)Mm0cCTzJc>LN3ajC?bd%_96^_ z)idwyVWxGrl;lz6K~=eeyJ(O*Y=pJ;MSaish_)~7DTASGQS~82g)B|Rku74u(C3gLKek?Q$xFYl9 zj=jkZq70VGeh;YS;qQU5#y#zyBQ5Tl{BDKmj}k#gSONGYIR`ZKV%|q&$#TLhei+Mx z3dK6}#*U~-B08!8JRt2pBJVQ3yQX?Z3XNpm5o(Ix-)TxnMn^-acFJxzfVY%E2=6(h zu?uINjL$VXD!*eQ{lFcJDnZbsOU=uinN`U@dI_Ua{9=^qKTd>YXP5RCY_o33LHu5T zztL8Fm~WLY8lZKYKH*ywdi37OsYhYlhJPC2)L5$>Wr}I~(i=dT1B}Fk?Y%smLw*4u z!go@Yuz|X^jeB0Ic_Px;Fi8mljGY5s#gDk;vdjZnNSvb4P~Vw&|awf(a=$szG*x4g!=;z=>mDo$(W5cijHjf^#|07 z;0*@uG7Dq*UhUEm4thk8g_zwSG``gus&PtxMM?giCGR4FJPzKj(eJ%Q3ft3ncIB3E zfRR9~$(xD71ttG^co{%i+$*Ol0xI+J)G7=h$cfGjYZp-)zG=9_)OG7;MK{j_`IOjf zoszWE5+`xHmc3A3P)IkF3`+^^iG=O55qZgBVfu5%$ur-ch=#CTK8N%L8as@;p z5piux_qT?%_&?fzUo*uop7&s5|55J*48;_vCCaU^1glo{8eY|<;m!P;nL=J?}>nB#^LAAIp3i=X^!k~Uys12FElONrg zQ=OUqmVw~2ZT8lfORmTG)=^U^crvsu&H+=c7fS+Y7}(WObrUy*zC`otya6z1)v~Gg z$zKomNiI~4bM8{TYh$NAJ|dePSv6?izrLV0H&9nJtPX$<8}ZJ@C^=djzAxC`o5;*4 z%8pMh;3<~8Q1}YRHJd=bb`FO!G-AI!*jRh6i7QY6(f3Oy39CV-)PjvnOvjEP+8oYS zA$Dbqef}iJG5&E+?L7ryI2=f#Hy=6!e^^2XdUy%V;#5-@R zU&2N1XcGf{nY*uegoxtZBld-QppKGde(@(}=(C2tl}wlYYMcKEud#yUBG;HIyEzNG zl=dIRga;f|$;IF>F1L70!aDMu#<}#=x54#pXc!2b(%6buIO^Y}HL&9$FDTdDztcJW zP}jvO^f;r|t27{gjsHulf!f87G!gFdCP>Tjke@bk?$vA8E&?Mb-;XuX_2wgTzC}{YY|EWa3rfQqh%T)Z8BRk}gl#nn`~LPy&JBhQ_b2@v|rfbQ+ju~R(oBl@rRi5Vj9?1 zdy~fuO?E#ZL1AmiGpyIoNw*~5b?O`IgP=DnvPZg&*|GYu;{-{g+BY`fW4c@M3csm zUTdy|iWni>l=@b!3c+teQS8mg$FCakh$b`?bq9@@d({c*UFyWib-R0zi^P2MY{E41 zlq>LPu<57U6z9a0?MKv8EtQWZ6-&SJr9oPMhS2f`!478nY5tH;epU2zO0^6%8+MGr8U zc~Y`C`7=rmZq%2X!FSloBWQG9jY{)=y!60nLN1^Jx=o2_&INUIKS77j8lYH+zns2m{s?%Zmb zH-mkGmf#s4_QH09SSjV6%b`~_l{OH6EvNX&LO&1mz zHkT-vk+t5dm2tXo5Y=M0Ek04(#k7U$gFMt)0qm;ObaGbZDBvbklxWpWbr5}=6`f>_ zX#4^4FCgE0`iZQ=+x)!mItqcAl13tHZk9%BbX&uAs!!vBa(P>8l24K*Z{!PxTie>O z&lAPKn8@87BdMnn&Er}fh5POuS(83wPwVau0*q7r0c`Qt$%No3v z6ZIT-hYrE4(h``gDO4e}Sgz;GLb9KqH9*{T*!~n5=6Z%h+vxFC>%`F9*vBshD(Wsg z+xE#EEZIfe%GgUv)V!b|ju*DuD&G{{b44Z#`hTsx1yEeUwy2G}1-Ibt5Zo;gG)QoF zch}(V?ry=|2G;}$?#>Y0WpH?tbI!f@-23Xi`v1TFs@>D8d)De+t9SLDnccm=31&&W zfwTQF!Zd`isi1x_fZXh?+3*zqY8U~@EHpas>pO-*R}nouWo0tbi2V3W zDaQe72wIVTm3@W>dw)%~(~LL^8u2y-#vw%e;buzoh+g~QdS0~n zz49~5#QMBJWVqp~P5hRWN&UFV*#VhX8#*-8O+HP3K!?({s8RG}Z}Y=ZjGyK6DS{mB z#Z!&lRSm3qQ#j?o_Ab__ukQ;Lv_r4~$B0EWMbkH3$DheBTgPAbO_-+#Nd0cXwRM=b#qy}g z!@Wc5t>2u9IywgIyl^uK=CK&QZ{-Ud)&Su3_T9L=c%8KY7zZQm<$AX#y`uB~;CAU< zeRN=dC}Mxl;&~?!Ih_2yyLFr9-wKP**n2uzVt8feus67SvT19c(fL5fL;9N6d*v5K z`e?ovq(*P(@uV6J&!{YYbgI_9)n$>z*+DqLRrD%HL`)? z;^MZk|4h1pwPslN#tV@@PN>xSbx!v~_Y{uMam6VI<7!c=!71U^;pIVgI2X~_4Q+f& zy68kd(W{C`crVJm?sKcxJc@5I3lkT{|x- zO*wwip|6o7!>YHN)2#JFcbG$VG`t>9CiB-a(tw0zhM;{+@<(8N_d)ko->yF*68tdi zbTH|gKbEnvTZLeHi)qd4QxGWc9hCKT*uJ!^7*a7z1nu%E4X+MeLH3NgUD&Ur8%Deb zqk_W4fDAZT$Uh zzZ8^+c+ zh*^xf+ouDiAC~2Rf0bj=D637UwyBpd4m54lkKr#8;RWdI)%iicX;Tk_x5fiUrN8D` z+A2W2u-0TJEKwYz>{Jqno;AJOa|ajxX4B>g4sJRfM{4@^i}qt{ta6N~hn)0gj*R->PXVPE%W&r>7Xhdlj2$44i4-T8TqIIoB4w5!M&(X1`{n7`Rs zeuBEPSJw1pSi%`~`Kyk9pAF7Bt3@YQH(S9L>(BZn^3<8`eLMRj;tR=gQMFXp%)>hQ z4zZiR6x?f!q!vgd7qd!A(tX58dZcN&8uG$y9~gTpra*^QfT3kc9L zov3BQ(_V;`j}_BD>lnPx`)Ko}bXXZ?rNqS@VFEbQvo>AcXVWi^`h?}Gr%3gMXWul! z?|E6sTd02DkJquvqE0FhX=igc^Vl8Qu1;?>7q(dq8qS5iDiEP@+wrb98?{>v&QylU z3ofhqpGKX)yM1rgc)z6Eu6Bxtd9RpwoKs$@zz+Na6RG$C+Q{lxZQKkQ>`Po!(n-rCC|FsuOfjEC5I@kps6!qg@18+d zXn8*!os8FM9ZxSso&&#bKj?aRH5C!r_&jmE-^E|*T&%G63i{C#?&oLo-f2BmUPK>2 z(M@CrMP81RK>8~Ymp$IPVFxqFx;{LfI7of6_C+O=XMeAGx#Y0VWC~wkt;GE_= z+0U#m+4W~@*}kT=E9^k<2qjO%NTllvTO@1rKy&b{^AneOx?gO5Ieu7rxgnv#K9FgE zpXG&nj`IqBj<4V=+oTN}?=a_t%w@clGg6!vrhW+%QPdrMXU=L`C|;70@i!1|?=e-2 zc8ss};X~NR zDhA=zHliBb?ZQ)LYzALDFpREgpFL3;A88*#1;rM7|E_X2#fbSf&?un#$nO)#ouVWm zFUA_V$BEMk%foz9#7&7RFDMQBApB@X2uvo+RxE!!EnM^Lg3(DMGkKR}bFHuLNuGCV^WF zsS^WB<#E*5x0M4T3YHJaarA+J<2we*W*C>l3Qvfzq}2w1Do4Jl{*a-9ABvjrsRN-g z{ix{X5=j$Q@~e>wejszou+E-?aMuv(V*`}(41}vPKlIh06L7d5&i}{Fi7RgGsI6a_ zL%GR_DhQw87=8bhE^SFMBNQ=a)V2P$Yf6Qy_`xqhvfjIthuBCd`vJBrbVQG-4K^iR zn5Jl~M)RqDnn4f%kgdu|YqG=*qWfVBgN>bFG!#wGl-HI#e_&mlaAE^`MQfP3eG6=9 zct{*{Bh~ug-Ba~vth>so26jxf;<9#xtIfU045(iSh!0Ktm2Fd=g@AalaT%EhaAS2l zulgZDr;ya8Asle1wZ%%R)Yr!h^>TXLP8(J8V!1pM-{JssTSTtIIL&f#MY>G6ogXys zA|Jn%kA1)w;am}zvw>L+#T*s(x%m;!s(`cM#T5Y2q6WMpvHUe5-@GA@U~xn z9$%`3Ms5gy|f10-c$YQW=^M(>+STdO^U0&3{8?$W`fl2vvQ-mgX87dhv2=kd*w zOG>?4;)dCaLl{R1GH3LraXgV{94_p$RlV{PsN43?J9irrFuZvQs}T0 zVi7Wm0q0?s;XElp?5<1=Y#u~mOa&Oad+LoqW|f8&Mk#h!Sq-5N1El-nax~$gcq;hO zafJe;9660!A3e>|&^dIpdigyLeA~R)5|P;it2w6_Je6pZf2C>QO4T8+ktQIAnb*iR zBE|`n>LKOUuz3EN=i7=gZPwB%#r!23os{+^j3!>3rA?Ma6wZ-aPn9(}x|?C{=O0(K z!(EO}DCG?n+XJ{G!jumq>qG+?&!6#aJVKnl4QQSq0M!tIu12L9CE_^nS5*3Om5|Hs znLVtDNK8ana0PmEr&;Pt&44lh{U6;-XAi+BZA)^UB8()-vV?JvE0gzV;EkWqdu}(v z2f`GxJ9^t?=`hInn<}KB35S5AS=;Ch1vByl?D-t4G_8o|#<|c}ST*wc&lXJ10Pdqz z+)4l@WjBjvDDIKA)KZb&_>s2#(sie(;@X~2XWXXSmnFyrL=YrCLdglC9$rcX+Qh<@ z0oI#@d$7CtF@gUm?1*{>1r|ceFV3cMn25kIhzz}P^G}WR#C0btdQ&*65j&B;_eR&E zUOcann$#YzxKl{0^!;zUQ%GC8#OgAdDZ~eAlUr5F$5SXPVthAlK3}+wL&3x}C!{0G z%mP{y$CD>Px;%LF#V6CXCeAAiGUn`gMXoct7P#+8;cKUk&B6sBr_fK)obROO>s{ip`YJJ<$%4U_p|DLAWsx?OWzi-sYW> zwk->NR0zbl;U5ePc&O_D=?WNJj6fVo2qUOutf(HmTWBM4!wifBdcJCz;hy@q??*i=JFILLcND!9^Vrm2QHj*t6`gf+Kka`e^g_93+!&rK+(Ke8I(+%@ zDjURhzmE?cQ=MJ8(Q-goHsi_*_ne>N1OdS)Ka_01z#WN4P#`Jae!CA9h+)^7d&CVA(-s=D*=VM zw()G~0d>}=y6b}7Q!6*O!kKCl5LN8ABKJ3(#Xo{Ck*U$`DIeKw{)C6JffW6hDMrbn zW}c$LQ$AXAvc5?%zSTTjL_S>bXYY#36zdUu#)j155)Gf>Ym9DQRLjWl7#v!4T8#*i z@yaz3oVR5GE^dO0l869##A)-z&3#V+fC5p6l1i#tXQtqlrO2EVp<=oo&XIE5Q&#+r zQX@|xQXb!$JXsK-4_3ssOui4Mc|o(2K<4b?&lkb#(#a8tZ}YZ50WcqRl?c$j%QdEc zf%ZvnT%EPW!}?Ce!l7FKm^f)+&Cz}hsY*k}ZS8y2(q?+F*E9FZ?8uCJ{7tT3VVp~q ztyQPlb^Eh8$-Vl@?0(uW;F$tPgvVU7P$HxDB&iiIq|iz=O`j3U?Q5iCQFBE zggX=8Fsb`$lxNIm11JwUw@mc4fcp`IM()z|csP`lGR3Xy^l&sd8O|v0Qp5IYGs0TS z*ZDIccQq4s((Kcx-1}j>_i?+QW}%+X4zg)AERisq&Oj?Qt3^N4wBu)S=%R}_1XG6y zQFmz=6Nd=H(>MfIaLGd&#syqDk3#?`bfiZb*4(0LEaZ_`YInzUZ3tci6mruOJ<@yt za>!O~&e9KxKeo>kkTy4!`qw_kPP*4hi&YYK>q z3OH~0D72KgUx`2bc+bNT@ZGpb8dT%qX|c#VQEk2}GfO(Ik#FVbP@$0la>!_B+L}3| z*S@8j&05BG1;5LSQI18oj#a7Y3sem1P$!!+CfCT}R_GKuzm6il-S9?91&3!H3&2^17{qqx%NEq9i zNd#D3U0({wVb%Os9j&LcS(auED_))EzA(igO{NK~JoD4$1%JRco?QD+i?-KF?0Ct> zm?>j2qgmq>7J8G=m8F?;i#)f!r%`Jt9=z2amp_V8>nKLewf2v$>Jent>ekDm)L#o6 zD-V(33wfT+939#;L?T!9tABgZ7&isdlBoOa&W!C@XWDj+3|iX=YG>*)C&!Z3YM$-L zGA37n`x(Tk64JH$M?e1U#x3ED;BeA@jf~4wx8{`mvvIz-g*+g*aTS`gktwHB5OMk6 zdYLT6n0lFPe5ZiO5AMKlMt7g~S%$iWu_|zrfPZVU?VnA8N0xHRI<`xK^O_Ls;@^Sz zJ3g`bp37&E(*N`Y3mx#Un7w0(y!37MJ{BY%aQdU{H2*8;9I#(G|LIp`_}qU5?f7p& zEB|Yu@RM$lPOOt87M)4NSdm%0R`p& zHHz8V4cHA=7IrYh2Zwo?Yh`JwMyP*k71JM-w{78oDB|$-@}@O7|B3o`V<&t|dJD(IhfVA8%4%U9Lclz^dw`9QxL zmUpl=q+<{>^$V;Wd?HYpg9QDPCElRiVp%gAC=_?(+)C^|6xa2>nGKxnpIaH7Av0HR z%nfYfX)goHLjkPKjvim5%`uaxbGmi*t{HfNA7Tcp6`);gjXv!owtAihWp?TO9BH`? z`(b(%{)Kv$GxaCA$}h_-*%5M;NNxpc?}%^KG*xm%NnR(x{;BHv{$Yv)9}Kq!DZ5_2 zd_4M%wrD4)!>Zx1rv(+wftLFRNlA<|k-hJPFRBZY>GWZ#Q(D6~d!g~nur@1o*}Tnm zZEa0c!dy9f58?_iW=C$+9`;BzLjd z+U90-n=fMn`pn?Qtb!e5g((R|YIWHU(~lIXS)i@c#qR<+fKsYfKIS#F{U_>3JNxn0 z;EuvC#%tu>?TT~oLBGjK5cm~H5%|MB$qqTsdiiSJ-Fe%5zt|T4wV*(Wv^z^YdfUWl zFlOYFME8(u!>cYx@&gC{Bs$GE1T9u>^*(9!+V-rJqCaPQqusiZYiBP>2E zvpVPo_RK9?(aQ~;{m+6O*hmO$)CM-P`-hQ2c~__1*oj|#%@L()n-E7gdMlTo>2a%c z*?oU&nVx-{TgOGPodRIp{=|6;dabK$POqDL<4$;a@wOv-DG#s#zm^4B>soXGfDO;u zylS@G|90zequqN3R%(XcZb9o4s*gQX$lu%^1~CKA1D#5oMp_j6y4h-vD5(Xbc)R8> zi{?g-B+-);&4I2Q;7lEe)Z~V6{@G|X_EW7J;(4f(A~41V-32Vz19hT&5_F=LcyrMj z_E6revJ@pnzVLIM&m}IF1JFZdVnzs-)CV?@!GEF{V>7h}Hi`A=-XrVQH|A2LJs~?X zpIWrG4l`|wYo5(=I`~8^3YyjR! zCfE^$1+c*7&u!6c;c`FFJ~Fi*1F}8W$6q?V*G!D$li0wN7=O!!L}{q3hG|=%|Ma1I zVN9bPd}Rp)BE4~SlC`%LWsTs(yL>Pdgfzw~;4XZ4RVPD3fPh3KgPv5@?vmX*q^3QhS%EsO63d5mGQ3l350 zKGg756v6x)xqkwhJfnpbrU@;;aLJdDN~@_7r8tgn!xd4Zo?$%91aG3yrV|GRuGmp_^J(-&M1;o3 zx(R8v8D+gXwYZYRHC{$;0ABhTB6*G;ma&HctvaGIpQoW^5Ioh;Qq`*xyCtWRC7R11 zihGv&tEJPX`D1xB4uzA4%G8F;r+YfRJmFT_y-FInGurMLzru7U{M#a*qV!67Rs}|y zMphr3l}Gc>AhR|Kfvwt~J*OIbY}`yH2HZ?Qa2|Y$-2KyNI{F;B`_O3G=6N)ix|8_D zs$72En2I={o;_;wvk2bY&Smv5_*akr;%*}lcR*2B-u;l``j6|;>2TU_0~9AX;3XNd zK=_PYKW=uzynR-w`}iz#)4W|)sr~ruS!2pEYE#NFvs~MR$}Fdx%-{E1pYiNcG*^d& zh&UF;Pnp_(K86c9?~_llb!<^H*@Z;y`FDP~ToRJMzA(;3{))RJ$(c=4^hkg?W1kfP zviKs|W<}ANPyV61tc|a3W4{$JnW><|Vs6u6n_UVP_AM+sGX5i1pBo#tP90B6jh^F_ z%S|iQF}Ip4Yj`Bc8cEw^`@sDAiOP6xq+)@vSVx@&7wmGg*-@I-YO|HCUszegf~(Th z6H2hR`af0H)L9h5@oTt;+Rf5d6?EL(Z5HhQ_V`}{$ii}A1zhou{8`1s@Sg^n7vHnTsw|B}Gk|E&6V!H@8`wY+c*9A0^$y$@lhS(-NhFs*LZqR}zM z-TQ?izDu3px5Jf-=eO4LpfBNbO+)bhcqNSILEp{;O{v&Hp;RNA2_;9+>UBbf8=wJ) zPW%CzX!6#{*|K<_?y1Z6C7aHdzGswi^sX}0&vjhbZPmI3K7)dv19ZylGk+-H9TY)5 zp3Z;lvd@XxKlmb5<%BawSgNDJt_YO3gAUZOs9b9wct)8t70+Usqn3Op{ zy2cPTJ(9T!_p$Bw{0Ot)thOgux0@E8=3%E!h>x9oXoIMz{aFIL?&{AL99&!XOYBGu zYjI0Y>+g9#J{ak3&}Tn_{Y{MFb%m?-9GFsLDC7TCjXNi>V2Gzs2WqMbKQ|wL=cchK%Y1EB;a3TW6 zp2uHF-P7cKzNZDJk)qOPlbI|ZaQdIQkMRtYn&&(=;$S=mc6}Uzp~=8^+!qT{wE+I2 zQ?L77RyNyYaPEcy$}lL>(8@o^1|dfRQQJ`XpN+FJvT!MtPsJMGhe=Xm zt6hFB6JO$i*c!qkh2&3-IJW-^Os7Uh=*T{r%Y(-9{Uo@c`ugzDzm+EFL_W*QgXX#e zB-}tsP<=yqtdQ;Ljv+d{5AX7z5!Db08pzRh1ct9 zLqP3Mk50VNH`CJod>zH4B~JHX_(0@@#P6y5(-PGmcBndj$hCihkZNVyU3gHO-+58P zk>#!e>o}=k0I5=`n95kLbi4+0lsQ75iNVU+yZHe_#|kkmEq)@5!KlRSB1J-#dtwe?<1lK4rA8q=Q`rn!O=s4*LTy}dtb%!gyOWJWy1eFnTK z(HpvDlMRv43WCJ*gFPgzHyLq5?j(3bVc-SAc>-ovDdgOlpgLm~bzf$u4+pLm;)*DK zi0G$T%>7KJKh^H)G!E4mmkM>QX2r$4VIwUIZ(@RI+{Ms}3w{L=>x;pJ^=gP|OQlm< z%g|x|_6Ee=N%e1YoGA48j#nG>FsFb5lfXz4Z^qHA8m@HgicgnrBj~yB6YWJV{+~iZ zqPVFgZQ6&qnzfkR+mz(Zdxo7jC&XhWbv-+vE@cPIQ~DuA`{Kmp%=z&rlBr_g3rSHk z6Wv}N^5X{XjdC7W7Eoe)oY>;w9SYZCS{zZvCGT0#Xdcq?v7VdQuB2}`iJ$!WKbj?P z&wf3?BK`F#=v*sgKgr@arM=chb*^cqb3BPHgH7UsqQ8GDf#v0bSfTG16CwQaWPXSi z8%iTYDA_-NHA(*h*1Tw8q7`AUvagy^N(q69HJKRyMy$b~gl02_d~qFU))B$)LIxJH zCJ;`9LkfNjdwm?9kx847crnAC7}eUC{{km`#WoZ!21gcW&SE0~I}5{hi}CAMKnPFa z3a$KHnA0?A_%!~H(Xid7$O9Q(!tme;QZv$Mo^-8@Au<*};#1V+$ycKXVM4Mz9=;Vk zx^i^j{R|tDX1;MX$&Aly{|uj~Cwm?!xFH`ciHxZ0F4)NxQYmRHn)3;tL%j!8rKGxM z?f>aRT!H?J0Y~9kCV|A{25y2gsH!mY{&G%`$C4SBE|kf zJ(++wTnFBg3D?{2okgvB+h~oT=dY?nc(>-7=CpGVutQ0Pf=B&Ehq_A_%o1ZvsVM^c zcCRjU$|$;@NSTb%hi)ZWy`Uf1j=DsK+HWG3QDJwYEyOgcA`#`X1$*Mb7lHE z5L@|IFkZ)mE+q|FuV~0u3N*2G{z8;G9#a*8uP1&TRC9G%2D28o&-dn)<;(4Il4Tl?lRvFme*-x9@q1qep|$Y*Lf>PdjF8 znX!Z4VDy(IWgwou`naW<@9Z6!rMO{C{=RBJ36MjEsFZ9U-xEvvOu4O4nQQGe_&eO{ z8g0*gc_BeT2>Zn-r*UQgI(@AZxpNSHwvF?{xjcS!BQG_@cn$~nkD zuftCWW#|%`dT(@rZ&75S^rv}!Kb6-X;rNyodLH*T;9q3ObDPLM+KRi_Q*08g7-B6& z840XhMapAaGsCQq4(m`#a(~_BGKI+Zf*iNZ5)Ixt+c7HRerAUl|CC{&nh;}zsw9qW z*c2~7C+ZK&f&%{J%N$f>>wxdq>N^;R5N1+HSRBJr&FXXQo$sVP(K6#>fqw$b>W~H^ z88MoMnRh?6l(d|q_hDVVuBjG9ISCL{6j?ey1rXo&t*YHpB;Hbp>xG&Ap&yVw*x4?|(sI9imbMXo;C+0(-|^vx z;dvkIYZdujG@mgF0&I8xijUb82KL9l+mUBNe`fgmOd!YSBt!Wg$I5<$p%Mn|wtl*;31p*7VB@Cfr{N2`fSpJ2a` zgYPeo=@@ME=gQ#>tNHAn3}dgTG4UuQc@0Hj2H-hTI4I|^29*X!?-XD zcfiiKXUuYpUjKWpmjf*x-YB0};%4 zJerQb z2X>R2e>io~)ebeKBUCUUR5-yn8%936^2`f*<6q1}xC;vw_J2IRn@gV}$=wclf7yDM zjy}K&!58vX^#(3n%AerYEJ6yfEI99cHl_ixdB!)g#g1x>dfjVW!cLdNI0=`i=;P7N3;U@^(O3 z;ei|p_iuuO_(wAYBw}|Eneg~WLIP0Ok?uvGu}{Z`1x83gvy*=@HDZ4;HB|pQriNVo zFQ&$^@n4vlpTs0m|7T3ii~Ik;)O=C?i>bNdb{ra6Xa2uoYS1J8C#ELw?*E9X5qkK4 zgQ+q8|AMJ$cpt7(#*PcW{>I09Dux|jX6CueA=qn+n&*k-xtY52IJda%)rKh8PW{~e zA!WyyND6+7c*}lRJ&cugH7FAH4ypc8nN#GPuWoo(&_i&@=xL39H}+ZR)A=R7l$(Y> zTKJ4_W1s;gq5b)Cj%9nDhF-uzts+1Eos{b1uOsKFJ=dB!3Z2<(K9-i+Uq^7iBX4U- zu4=vpGy}wy4HV8w^;0;`2QoE})DiueNpe`+LKK%ezA!W`0%Y9srjOuylsu?Abv||( z&RAd9UM~J*b9ejnr1$>^rKVpm?PL8CX&KIUX1$$y9K}_7Pl@JeCuOWIigkgO-yy&# zJJC&}a*LiFaxZ%>bw0*W%a5Ilg=@7E8f!w*K=!VA|83T`ZSDmfY)0RT#b?{@sm14) zm#(RU_8R+b-)r~D=R7smt6TSQr|=!obJw7$VaQs~s`55IpLG`zca7kS&G)>}L3G#s z_Q|KM;p*_+@2rpyH}}0O>ZNWIudcn{VX$`G-|qjCo2*&~YyCXzZXnQQbTj~NE&uiM z4y$YTp!&O1p=|EMIBU<8*O*BfQX~ zSH|VQ*I&0n6M;>r^%e6&jIHrfz#}F-LF~_smsN)o3~!$1&M-6wrR|B8S)sc0${Gwl z)Ckv^kCdj>=%NNu#(QG|`ayJ%+0X

c{tC|8+4s5YO_%?2H0&Zv_)4nb8-gDTi+nZ=nR9y-1rBA`r|?N zF2+&UkTQw%B(zl{YU>@YAqoN)5Vi)zF1c=YY2%KBqp6qDOtQ9z zC%Ei*w% z>DQ~1<$VWSP7HR8wq@ao3RGw5Eub?)#VDU>a{-Qys1;}bc$LE0bEf%^wPD)M_dEEN zS=vDlo6pT{qbt!0>o>$i@+!-_Pm&`&h=K#~W#!i)4J=AelK{r1;-D)^gIX4Emw8le z`?OBV#%ZlrPo&B#>v>MhgBp?ZlMk5L{(w_4s6aw1a8~gz_oovfy=H`;ZzlE^+dgfE z#~bo0udG78G_!bizUVRrKCgKD&EDUJIVkpVN13pGA;BhFVr`M<{+dKw_5d+RsXGXGgJ=m##OY&bB4(W ztm3oNB3YN}8R3a}CMk%U|3W~fa1PK`Ony**)t!IwSQs#+ zYG?bN#Ka$%6!|22`tQZt@dv;b`s0A?BkTN-^02khx+!V8Db6F;cErXXFfvvOSX;PV zDkJ`Yvhn@x5j&vwQ&f)28YbwzdLfl@L%BuX7qFJ*xZxJgK@ym`diIf` zNpGHoZ|DOCp4?v~*P|G)Hae2Ff4aRqk~Ybx$Kxy1 z8lt-H{DCu$+8DxixC2>Y8Npqt>^Gvsb!jR}RyrSMSXG-EF~JRKR7 zJb5#~9WoZvm5`h^JMnlML_Ek5k7FU&0(P+-Xxv3a!&U_f@Msa6j}cd+#Yvc!k2eZP zR;+*r5r`xqLQ(KCUM-zX|AR$cRyt~?&?XY-Z_d*@MLCkxn>KhystApVd(x!7VN?{> zpeN@41h&^f;SOt>b7F|AnYx`uVXPPS?R_hiD{6n{#1TRJOR-&VirwLXTSd&RqPDFk z&*_n<&LSdBi$Ud}0{f8sn5X&KA*;B_eoK){Xp*F$fu*bDCen7Jdc0|;H8gF@y9I=X z7>-9#rQZ`_VODKG<^G*r?^Y6Jly`aR_Lk<7`1Thmr<$Pd&!9IL^89!5${=iSGCa_3 zq#hO+kQ{g?WF;wx6c%0(vYYtDeMC%)K!o$m6OU-AkcimM zNUUOWehVe#2Uz(vfsSL)@0%doZ+gCJDXtxqGhsX+2IjAaY3^Pl1s1<*)*`;ybZ+dO zm41KG;FWNs62?5t=hYjoNB&AnqjAmRERxol;t-V)r{@We?BX8@UoY%CdP<6|D&>px ze?Gb)dm%r1AzWYojHFcO6=CBQkW%uaw1sZZgU&qnXe*G~xxfC3))~yUGZcV@`!ow0 zz~aa>3z+|NwP_aocd9mt=4D5^)sJ?E*bVhoymEXV^P$o^dJlV zY2bg0IPXZe5YWl@Go3zTji1yhcEd<@-bLCc;clEmu?zVR7EYR5{z<*w%4u^)afHSI zBEFFqZ)HKpRx2Y{aYOct0{sV!mBr2VN|KmRFaKo*$${&QBSP$IbSgs6Ogm|9-Rpf4 z(@rY5vD8@>B>e}qS{bt%7##%nAJA47zo>_dv@Jl#sMs||g+Q)(O{@!^)ODY|Cc zv~RTjeCPVqK*Qe%7a`D=45$xk## z{@tZj)(_e5>ZcS|mqb+*BOt&QtA;&K8*GSWoQ3;8FI#wHQt>`uoxRsWG~DsKXVMCK z`~?xa9gmD#r%^xl^o;h1Cje4F6OQE4olER+jKDh1ow1Rl zVbS-oyI+>lKHWOG2-Ol+;vPwYs-MNWcPvy)_=$PKad{2YeYyUQh2-r~r*|$)PWUOOdEL1U z&rG9EZ_-@2GV0HagO6h3f66-eu6-=4pk8h84X8+OZT zBwc&$5Ow#)s@9r!83$i9hMrLlMosp2hfcTew4dl+w^2Dbd=+@-!hffGQW53g#TtR` z%Wp5MzB)bp^&SbO#Gf2%F07fBQu52R7S`{jsnxv8KX`1vgv@)XpAFYq*ty-lWchpg zNv;31)o30RSw;OBwW_FM&7Y-#$#bZN`iq^#UK3V{gyIPodY>ShZY3P&(1Id3Tagbr z=aIeqP6(CHh6oXh?~)L5cZU$FciB}6FL+h!k0J3ZH_{bL>Nw}y_-dDF2$g3ORp;UO z?HlQvO9pM`<2d+v6pq4t5}(H_yYs@Q_*n)2&#@}%pW{``(}8w3gg#j*AWyv&L>cIx zWy)vt=hET`ejD8L%B2)xhwssR4&PI*qSx!mB-6`R)^TdR{qdFCJk3`S{m40C>un; zCB(ZDnLSlqP0FwH|C{1rkHYtZK2j0#HH(Kldv;eJ@V?L6P**K|kPzA!_Wch9amg73)8~3ibb8V>fWSwh9HRb3l##V?}0esD>in zr|i!m}sC*!8`4XiB5tIj{^iz4L~OaYkNe`)_Z^_Q)sgS8eb1Av_OHO8Nl z5|s4oNX=oGW-(xmI{Wd&Y>d&QYb$=KnTD~(uVYO~m?r|@l{*GFQv-O%jt~*pn3z`g zv__pP1r^mKK{P1F&Hq|_$xyKr?QKHW_azw7%FNwFd&@mw$q=BK;gr^P3ldqZeg8vDwO zV9bt9o+ALqQ)v}e{M*HDXhsmtlrZGeSYBid>thd<9X?Os`jmOFgYXGE=|u40ozrO* zVF0BUngJd)CCK_VmX{jC9J+?;(K>)FyO52Gg`4um(<<803`=BV7*JuSRrI470YHyv zQ{F_HJX04N*s6hsHdFp<#XPGX+v4Qu@zl;DXav{ik3LdC6EC4PB{T-#!N<>(6}{+_tZQ0(JJ zq#6mka(H=gmYpBJa#MzZV zhgxg(V(HdTp$l>Q^kc`Y>!F*Bx8sspHC4u&H-VtXaY>z;D(vPA5Y!u&M9@^3Xx;>d z-oho3HC1@c8DQvRT+*l%Ca}zTjJg(qvF}^ss&s!mE!U zQz-P&fZNm;apt)rZAxrq(y-Kf<7JQZ2{J)c{*QT;>LWbr<E-{Jg;C4S4a;O##SM4u zYp4F0S*e}`a2qN+1(4krmFbkJ-2k|yW7MwXh5<--Vkj>xnR+>`QvD*pjZ#+PLJvz2 zmBp2+odvi(#Hd;4hQ+X}P61@MsXsobR6hc68z@@^klhTj39L}l2e_qT)OO^C-C$Rh zyv+-{PQ84uQhgo3?M<2gIeJ*IsO(gU+6sVM3Pw#LH|#RIY*oo~OywUK%pUP|o+yGX zieR!7Uel!e%+D43o#vRIvNORGH1KxI5c4j=L!iicOz9??LW58mYrd-3?-!2w&vwiD z31fYBFX8h%;UON#d85+BG=)N;bb)z&k>69cs#tJvnh*lKhWmUY{W`CYYx zFR;Vxp-aPP3VuRqAM+Q5e)TN#r#54qwvoQ`ERk2crO(i$t<29AnxD4O=pZcXup7I0 z)fB$K6nXWP^g)_}p-_6C`7ed4fugMey||1vWJElRV(kJkJR~mO0h2x;F4gEnA3iPQ z(pe%VvA@f%SGceFu&ll9FPirIn?q$al$~mB#4Y<;1+}l)4Iun#-xs3*LMvH&!mKz} zN@)1~oxo2_9hNa|gX3mLXc8PJIV+A9!Ewej6B;aI?lfCN_TM$L-IDv7p|bYLGZO+1 z%8}5}o>@3x_wnF3nOPB92FIDtituD`+^j@H)eV{zzOf#rr-yl}rXqF?c~*phx7U#8 z&W2-P%o?)P%!J2k`qMVo$Q!SjY3VAHQ$k^C2F+hv)}L0{iC6 zVNO_FF+eyg(QsM&(QgLQDU+~k$w2I*&x$ZrLPKd*gar~B=$Q#a){-4E_cV{S&%#01 z<0#u}^go+~zh7!V%=egCIAHe!2@UmG5f(~lnn7K3J$nF&)uxk;J7K=qf*Yz{Dur4kyrnF#@x12JE2X5oO{n+%#4&x&xX zL9^854oEb=|weCv1&VAKC}y4eV%o6R*zc6+`hcM6W_FW101hQekzzXJhTf29ThWBX@y zGXMTi;P3au_lE-Ce$w#$p}GfZ3Y9j1N5Nx)^tfBx=9AGo_&HUDGY z{hOzk`h9cz;%c8tO$XtiCKy6Z~6sl z_zhoAXI|hqKnKnZvm#V-4CVed8;)pzaPQ27D>RBH?*|+VW<&b@bTd6+Ukm8}$hO%& zdF7cf^G)XWE6;C$v}HgH_|IQ?Rv4Lu>SC^ZORnbRLr~bd@7HSIaMC}5pwCZUt6iMM zb>jEyfxkmuK>qwkt_Mnufo+q#XXXU|9SMATOz{ECOa+vw3IG}Y^GJYhDs3N;ws>X) zbgV`nxF!5ot^S%9fxz3}_zQFv*kYxII)H#?f!$YX$@^ zzb2TRq1-uoE%wNjI*7NXTCJ~croXCM7`Xmf6$iiM&<-Rx%~f>=LDpH}RCN9AeN`aM zaOX3>e+4O!b3DE%;weKQgwSm;%wfwhT7Ex z?wHl9iNNG20+YitpV>q3wd8ZbaWlWc4G7oYY0#`Z`55AxZYKk?=o%cSGOJnapViBb zz$`wP)jwwdX3-6p#hDN5z$_L6vp6%N2WF8D%;L=NCIYhvPMFQB@KE!b3W=Owpg~FB z_T%L8E&o0_-#WPdGn2D)a&oSGpPaA9)_-f~bS-C&Ux`bj)Kp;Bk<0B1NYUFUI1_iK zHv&>UA)AfDJ@eO_>v8oO^Le>iF7w6TEE3Gem3wwpoLOnH>~24-wi zM9ASAv@zZpM1_tHod51!siHBY3oS;7QAk7}r!5476rtPf9D+DQ)k5I61GqvzaiEwa zi6-F1jMr6FWFb}w*+TT^42gtTI#J9JwxRNVpYXdTD&do>(>yV7ahowqNksPKU<5n^ zQ74wiAtL!AQQzWB!GI?}=TBUg4xEoO#_dw5xd8q4Cj7(21X_^zwcR;SL_X zy3q_}&)R5?+QUjGE7lI1JXB=G@5=~Skzp7gup-m&+H~mzF5=d}#zPU_0~-%amiAAV zj!&1;ZIvF>bDKl~r*qLA&d6hlmPg#?pOC@s~&(8Cga1aMXzyqSm zxWXXbB(j=d&`e(m}{HFYMUHT@G*(PxKpgVgCS?tvM~@DM$~yPHFeRur6<~&_*LG^O-~(# z@3S#C#B;Bgv7~+Is>5XSc6?rXpPfl8-bB0X-l)eu{HyC_C~2Q?1s|17!-w>SZI8FJ zeB1H&)3Zj?`3Ft92qu2F@8v#C9o@9gCd3eLcD-yhsw{7X&r!uT-DIj^4*al57sbRc z_FnF*)KT?)_|w!2f|3B^Zw*7GvY8z)tT5HBRGD zLonX*aNO&XBusmnRb<6+^Y%(?`iQi2)xB5dCj{5adL|ryA3;^y2g*xOW7oVpCLGHr zQ)3T7R=@(c(0C8-N@fW?7Yjut>EfbfG{#RYgat3`?YvW!-Um0yR~z17+ip{yZslXL zOwB=5E&X(5Y+k^bj)GweR(624HLI@4yz*tH^HhUJ$?#F2H_8k*)quayk*IFRa>`1c zYAAo5S!`W3y!9k#s==??%(F7E!zw3Ws(~JyMeyZj7EiJT8VF0wD}@X*&*CXLCoAQ0 z1F(Zxgb#v?tyt_PbW1lVak|B$bl67ZUN_n!G0nTljLvY@^u;-ynq*gLl^YNXNz8}u zte#fPyQ5sta|2%>J1sgUi!g|D8cA+>G$pOrnx%%^>A-Ohp4NLX(~nyqTkfnmt=U%d z%5RCTHlvpS%&Wg-F8?KS(z`F2hkVIgNB>K^UVmxV(l71u^8eDVzZGr8DtbNatjX|v z^2w`S+)To{!#*+RJ0!R0h^jNY$OW=(O=h0uSw81;9^`=8XVS;` z0W`hQ$C(y2@~M?7$H=~@*3eEDFWwd;i?S~9__1qR{lGa&wNLLzT>2yfH9px>FKYpdh9 zZo=ct?X55i=%e6sHz)(y5EJps^it`LahtXTv46mh}yC_5vDS_;0ei=hi1 zkoUAq=(_INdo(nG4LwRJeJHeM`Xv{Ils>Ws%dCVxvp(momK}?`+F`v-CLw8Y-(bUw zQQL-N+iy#F#!GOT%t7VwskKc277U4Dh8wm0ufj-X~p6suuVjfP5?jk)6(u!GW0}FuZYQ&Ph{%$G7rKN z+LOJ?0@aSZS4eQwD^80OR*_yy$Ym8URn19O2~3Gm6mf$ z4>u#_2ffQ*q!Xc4O;ui%b=|?tEBg(~6mc-xJNtNqDWc(`nmKE|87@C~=#*w)_Pq$R z_WTVT9rVu{`VsNGTdT_`Z)Ibl`?AzC#`Kc4)UL$^C&Xy2OUrEAk(6y}wq<_2Yn+i; z`6eSmI>aQ^_d4`|hh5#^kRr>}h-Dh2_^^$1%0_X)2-~r}6UT?Wts_m`QCu*_@V-;e zJ*Jtu;at0<0?WWq_`<|gYnT$wgQY%nZAYzUrS8u;VZzjMMO;sKViL8}_0|5ZjV7Af zuA3qfs!SGNX!n-ZicGD$*zO*Y&|*@c+uCCt#yI7_qfYVi?^71l zrt-I<2K@A0iQ_unMcA?BsMG=ZU(tiEE>5=U;ETEX!<+&rT*on+? z0*YjoTnn`_9##ny3t__jOx`&sTcznCEfvWjC&@moip<`Moq0qjTSHCeu4Xr&7L*DD z?bOUOobEVhYuwUIZ2)LmsM-l#EhE~AG;K|wQvBbo0Nf61@>^E&TL7`V9J0^TM1x=m^rBv^xui|K}=*v7iD{Lq&2jj%v6y zC2(S#=0`{JGDOux0ZkNZhpZ>^PKiZ)Pa+Ws-;GEXoX12DTY$Vz;rKSWCw1=@3*HVZ zE4(p-F>oE%lk8yq9q)4Tb(-_ciHIQij=~>C`J@-QS_~k8_#tdM-Z6iL$UJ@Rb-%0Z zNryN`cgJ~(IA`}UDVJW?qgiyH%%1UW8`!*C3CB$l3rvNBrY%`6M7xMIEo8TrnB*o> z=@iWG66`Fpj^+p|mCaj~&1;ooxyqQ)bUHMB5SCu(m%c{pgw-lnE%{E~prCztfx>WF zC~rNlD+QI}BM}_=DkAu$LORY1|P3LDrGvIRLiW zcBF7aGiyyt$5Ap*M7CTw^%*B8s6lvz`8q$c8HGQKaNopt zu#;6xY?|mkL&okb0J9T>`L88VHqL?WpgxCc3&p->*rsF9wEb^R%td5+24;rc%~<{B z1myV%8?Q{&l#HOb4D$06La$6Ex6BQ?9a=9>K>j=-vmXG)IG>8#l@H5yB@Blo4=;Dg z1n=rVLCiGov{LW$etr0t4=ZUkYki+?6BX6*Sd)gOa;y4txZ2rV=T3pLo9LRB_-TSt zbprZ%g3|K@^s@w|XEErfF-%`v9-irj$`|!`9}N{aH~6d(BSrTOMcOEVr=qS3%JNxo z!iYi3vy|0i$4vcJ;UZ5MWPn>!z?c;9qZDvT3OFeR9Ge2Zl>!b=0f(l5|40dXn-bKR zvKiEl+68=)vOJ|d)88y9+$dr8>~+Pi%zdxrlT3(*Yf9_edB^8!4$EEV1>ZX)N4XGK z;$efaHU(SnZAHaK@JaJX6aMifL9%j^|0b$#)v~AXMktmJQy*K3r7eYLM1lFAV!dIQ zsZYVnWV1;m?9a{Ap30%qNO%Z9!jC^;HYR|C-9JI_7yyFTP900^Enl|KuH z0SMlwX2;t383ebh8m3J_30x)s!RaM|9eN)G`(_b>{tcx2KMAr+h7|w=KWn5rh2Z~Z zKsMksu(i;AzbO2ZSJeTZe+J>hff@M>|33t<;b#aQ*<2utMV?~qg6(wppG4Hwa~NnK z-eq?tWBdlXA>P?ay7y3mveYWvnRMKP`CZ4LXVRZR+RrI<7D%>>bCfQoqt^~E(19eU zUy8?cs%xo}l47+MxP{jF8@2MJSW4juRwj%0B~`w$)*wwVG&|F@I~HhnoJG5qCQ}U( znEX~dSGD#V=+q5++pna%K)Nm_yY=FzoZ1w?G1R`q5^jGN^dxN`?OI8o+LhANYCCjg z>Y6Ce&#A>NK01Y3uL{oqn02EpVY_TAFe3!K+w`fmba?BRRhue`=EyW?_2pW3Pl8rJ z8#}O!?=8gEZMRK%ukm6(X+C z4lqqBeL3-BM$4*vq!lW{Mn@xDBO_p1TCZ<(~XZP4?2 zV#TIb>vK>wKt1=zkR!lBWPP>VhUy_k+a;B>xmF(`IiMcnGxd6sagYmlV5h7ZQWNJt zV(R&nn@x>btPPO#r1^Y?>m9DVh%|Ugd~c0&F9Z_CyP5fhc|z&Hl4qq(bbYj#1D&u- z;GT==1ShbZlv)^qC=0v5?WKoC+NdbU)aMg_#(s2bXJcAH;l$8LPT(&1 zALv&79gLx~Qf}|s;?;x~hu7~z9cD0%odd>(25Mi~*#3%F$O8kJh%;J46O*8pc0t=n zHo87GYRx{S+qwpyTXz{iZ8V#GOm=huzA)d<^bWGg_p#a2>=VAD%csV=>l$+xB+wPA zitg=iODlT9$k+-(xViz=-ljCR7%bpWp>m$=*Gr6p>ODm}t7@IiO9uqwRVM}o?_$cW zM>X}F0vgBT#xgozS<1R5Id{0OXbBILV4jBryUE<`jp8AZ66#&(=4V`?GZv-!SJt~w^rOtDrv=xyq0ut!|#L$E|pj4>pwJCGRsXa^(8mP zQ=M89NFMT|btQ7xa<4M@gg^;AM65~+!PsYF)~m~DE&+2-(;2J1TWbT#np~m_HtRjF zUKxSY+wn%teAK!a+R>`TKVyfjE(*8KfZhqJe+9c#?u2(!-fJcvGJN+=YS3pSrs;X9 z%2~Zpc8V`zggd7ruytc{7gpCPImlKLBEp-b^%yi+Z*n!g zcF}r|T6e6igKqHt`A~`d1uq4}2y%(<4zUL$Q+XZQ?uNY9iOw=he}wMi6Khai<*mVk zO-B>nFy4%n^{d=MQDW!MM4n<-KhO zaXMtAbF;X0l@`VO)gW#s`CmSr?b)R;qgFv#Lb4Xb?Q*9?&L&If4h*Ucp#=~dX@xPV z3}-o}b5^2-L#Ib`k0s|xo%{uoJmrT3OWEI|=Clv~kYFYITftB=nsXzZT!J<$z8Pt$5gd9Vh_`gfsqE!w<1SKjY@FW zL8s0Erb>*bs?XXy61JWTlHH&*|5X{tJv>O`tWvL8rzaAj#d$2- zaX=5*{vcY(hg*$oFO1f5E!=OBD(ch9jJ|`2%0cXBBJ~m|CttnTvP8B;%sN*!;nB$` zPt{FE`l8+Rg4Dj75`fu&!&A}@7Iale5r$$EuuT&}~XDv8B47(jLd|z=_24#@C zn-Rd=4bref4Rx3X7%q7&rLPwBd=wJ6(bPbxvA;27yY_g>mYl$ihk}vK`&i&TP$D_s4^jvyYzK zl86bu_3YK5?Wa~Bntxce;k3&}*)8uo<-!#!8QfJ1R=*~vC< zp+9WRk+@s?!>~8t{574yYioKNI~ct$Iv4>@7%B3!z>R$`>O*dYndvDVQce7|D0t^? z_nc#t&R={ya;(K3xybU0z#hv|5#CzN*8RQctfg*! zilY0DD`oO~95f9MET>-lSqr+Y=hrZwT~|7tf^T+>`R%%rpeud;f-au&%XKHUwCcf& zX$I->O+!G-&@ZlJ@7~>*%B3lv^|+)-Obv3;p;nN!kW1YeB$ zVojG92WYdRfNEekPH|rLzToTB|t$VeY`sHHgKLz>h$6DYC@W%EtyGO$y|&r~rK9 z78j+ozU>zbRC+NW*%d;4a>eu zoxhz~9kBhXU34M%jbIhi_=bf*BMd?|M{zqG)MOoUWgXO3lOo09dX%8vQx{p|vWkfw zdhJl@AJrk^E4^#7Imu$<%ZFGYR;t5z`8@EAvDXWFJt`8;hVb4E_0b99aZ{nzSC0D6 zLWIBt*&Txi*eI9GNl>}lzjO6ZpwhW^|#S;9*VPp(H@PxMyZ`8gLMvm8ouH9Jo$2M!il2p z6HX&RwC+l;A1&NBYx-imM{*~ddp|Uvv~tvP;J9H&!wY&hXUUe^>G^slb)2+l=@$0p z_cbrUb}YeyJ#{=eQ#K~P$fb=Xt=C!S9Zx&Uyh$<(I_O8+odw@#Xix zHDlY#n}#O)J}WGhqWk^#etA?(Dr65d-T3U_q{~ViVXMS zjONvxXt#bZ(ox5dqmFf>T@iRW&&_&MCispJbS}y7jGk7uB4gxHM)S0`Hrue>oNFNt zn%HhsL_Q!ayhUP--!ninsHQ=^%_F0b7ro8DJkH2&Tk}L)^NO_*M;C|zbwL+zAo3=+ zz6&rMhzg}izLO1ai;6D}W9PldnR{_*eWJ(atc7DL{U>6e6_H0B3wtY`J$!7P4Xho& z!{Pi!EsqM?!^f`g>T>h>J`R3mW8H<*TER&_ZGZ1=yobK;`N>I`v>+?|aY8;n8X)yL znRxc&9IX2|2OFm608Yx@+2A_u0q4SlC#UAHRlC)-Ap8Byo=p5Sgpk?0VvM|BqV31kNay8xx4SCPiX$A$#%^sB>Z%a?4^dB% zi(M3`;pR~tgZWycs$C_tI=6l{#hS!+>MRi+?JV&rq3JYaykSgazAPt9D4OJ6vovJp zI4F2lth<41ZO|@!wX1XJyd^fA9+*8Ec#2fz8(uz^xUv&M0lu6FPaajZ00mMVY2X4Z zu;(p4xNql^^DlPwdMfmVdu}{GMo9{EP|b0WBi{FMX99Zkyw_v!RYRPX0B<5-)cROZ z1apAwdZ7UYa`VnsH*8WGx5NlkFu5zMRt^i@#}JnMw8djlUhmvZf_7~Pvbu{#p|G{Q zp;HY=*EK{YT2N-WP8p*nQ@e>lU5ios_?1gAk7va_Ry6H&Xbd=Ff!ajXa0ETf#@=Sd z)dl1^2HE_j{RBw;6UA4D{o{?aj&dgTv0|Ia(G3{2FO<=0&cyeMSXF=p_ zY!WN3KoQ#M&>GNefzqXFID^Oq2M4w^F?@*p=h+;MT{M4-z{P zQPd9XUo`GJ*@fZy{H5{h>YK>y{hTtH)m@+n?{vTgj98#R)O=?UI~)6tHzIPittmjj z`L|@*dN#NIMN6tp`@gSsD&hQ{Nwwg^{N3DJHwe~OA=C?}+%&5R^4?yXF6qt?3 zc~W^3bHTq#o8p>kt7hvdgPSylv~g<#u#!KSWhh~BQ}DocZ}R#EyUk+BXcL@F8rstc zVs|H~Dy_oy1h_r1F(d%NJ4QEF8lE?7P`MkCZk{g5TFOeXy$5c$Y7Yqr2RcoZhW7!T z2Z7EENmBeDRO1^e-R|q?+1WS+8KVhV}d81_X?U3t@ z)!zFVJgMlIkn2qbgM%qQGLKz@rPu3cQx21<#wT1A8xw+`KTLVzlD-0TTX)G-qv}mR zL}!LXWwv(P@phbORBXH(EDY2L6ka=oH?U|wwn}S+rNU;Kv4L-%l%en%(~JRpr;2J! zkZ;lDinI@v71k z2fB#3odRYdmjY+vWGHCQ*1QBXy%l1YjI08Q0}&#wNWh%OqsWcpy6|XvImFH%S+!3b z7%t)}3Yq(Ol*DnI`H*3U;K@xX1EVFnx&z}krS=*v(>*w_BT{Ogk+iPGz{N@r3{S}bYTPIkx~bY*63av*l|nhpwW8W_<@VJqz)Nv(nXB@RA;)%SXcMX*p)id z)y4;PE60Aqn#vnn=;Ft&U`-W`U37(GKh+1cAw}MbhmRrexhk45cWnnFGayr@DmVjg zZlTi?x_T10O|aX$@2DTs%8MGk7qK*Sm)@_#?|x5*rZHl71>JSEU9hmmKluRAUGUSr zrBb20j{Z6<u7FzQ&bGI=no<}!+q7m%00$MwSz4BM;*Ns z^cNKnCmg-_Xr`kVTvI))k4Oe;;dU#F;TB0+qi$U#PDN)%iq3QgpOKqC`rM{uv0o2R z3_ibVy6sb8T1%IZzHRJOS!b}$q)xojpjAX; zt=~M?O9oT)dO~O-aFyGCb)x)DcbD?RAARv@C3?1~ct*mTgjWgA6CNkrOSqMAIl()@ zKH+$R;BeEq>*o%gTXe3``MUEV=S9wqPS>3dIW2N(biD3($Z?Tl*ouK zT6%X<+4uXRJdDdgE`8b4EpA^Fro7Pjpz?g;9s6^&@eY4ZP9l{urhTR9w=zmjK$GL`AiNOwf!K@Yi(A^08$-3_sg{j3d_-ZL# z3e}>I+7Y05ZN{YqzevuPbyl33&2P`J@7v~1{^b z??9~MMD`ncSB?hYS!Gn8sftp=`_>PITZgCCGwmJtxF+3BsS8~>f31A5&%`MScaC63qpPZrA zIo3&Y>t{9ZlpoYu=L|F_&ENsWDG$iZ&I5tg!_8b%QLd(v`km5~8RcaJc{@{R&JI5x zVQED>xnPYMB-8fQc%IL5l`y1V02<{UF|2HO;$mSD_E zb_I37GRIC3Gm1=Y(h`i=Nx-39Eh4ruO#uy}R_<42wO+~~AOkDYoQ6S@!N)csgL97{ z1FT6(*9Bs4A_ zuGEHB7M0unANIa7s;(tj7)XE+EWw>Xa3{DE2u^T!cTLa`ELia1?he5|OlD`3diSC)>4shJFSy6yw-*27q{=eO342F?E^~+#P zoFks`8Rrn>)p)Q$q7XZ0u#G?+0JpKvIfQy*0pL!{kuY$(ueBrg2Wv|285E2ojGF?u z&(Oyrv-b(|kk(tBw!9{`I=o*nEtQKeb)z!kTPYu3BQpE$t{BM9?c4B9^FJ~@*q5s~V{!8-@SjE%+m+Hl? zbpUZ_{z*I#Kp%0!QTb*W&69rRy^CFKNtV=Uco_3>wLazHdHrvIpOeqbu;9cwA`Y!{ zfgmGk03&s;>j7TCztmb9an`F5APAFBUoAjsaR4>>zu2<3@s1{|IE|fbZvR@G0i?c1 zm|w=>1xZE#O6wiSN{f{ZWTh1kiqgVmKLT090*wJq<0R-D*an>gcA#^B0|X8L>~#jf z#(=0{fgJD$#l}2vpbc~mEP~DfPz)Eq_c3Ky11kXC#wdbjV}KmU1Dyk-pmSgo6b=l; zR06E*4^RXa=v}RWS%A&~7SK5m2Ra9OLE%6O!yeGj07YOQ{EQz7Ap04+pmV?;bPm*j z!U29mZh)t?Zw2y}bpYMd;sjj=@IdDPA}Abi?ThCxdu~|J*$i}?|AmR+F~p0rHUMSV z2fr9JS{=>5$ABgRN3#J8pvVzir;n2v zU}4um(JcTk3}9hxKo(Y3b`b2#!*<01?Og#CRuCv`MM(IMkMSQLDbxB)i>2gWi zXAyNxJ7?)~O#@>UbxV7~+U1t^j8)V<4TH7IJ?#an=qF(9$FyV?QTsGumM*z8DJD_* zG$p1k`7|x2Tn~ZrqHH|0(bm*zB{^*WO=|Jk-Qi1Y{>{+zYAF1pr!0zhO@RY7>8pl8EzAoihaxw*G z1s$}~Bz_QJ;NBm3oXFldynRQscNckpzj}V@({r%I({rF`_(9>UHqS*GzkSBBn5T6s zM&s>K!Ia2Nx+Iz>`cYj0|5lLb2z5mE6}dEvTkyd;`@AxUV>G5gAHhpY9D4zD6=X`!G1aDDkvGWS63nB$4|E+Wr>wPPv! zZvDmYOS?V|7t=Si4Yyw!PKs}D&gSYH?oK}ipLNciPLt+)nWU(!%TwE!ub#Zi8}FVB z(&m6VZPu88bpnFkI~WzZ6MqBzN>WYJj{&|Qul!Jl15!GtR>R`t0~;vu)^US)#}yE) zFEDt+dUT&e`xmhQe#83f$3r+^eU~<4S*6^x9Dt963b<*UuyLZCua-(GjaI6*uRqQ$ zR&ASCS1Yf4wO6Y^%k{b~tQ-KY(6KHa$OSFhZLhkbsJ~|j5YzFH+_tO2)inh$GH$%v z`d{Wrg8ORKZ;9GgV<7vf91Iqk4be`!@vo-2PRAQ{U4s`me+3cnKGW&_VWyI8Fvl46usarB)aBlVLl|J6Nu|FWs2qv2xS6&Y$l$ z76X~pUpb&_rq3aGJO3asAPJHEG<^_&#r6)M2~qcoqzqM}@_x@JLo}L?2HJI(#SOYA z6LUNGR~!`zcz~kPaeJ?-RvGs%T#iOO7Y0%APfbS zm#cIh_#V~HdYV5T=(<9R<6YI9=(=7gvK&rmIzO@8pU~`E>5dy+E#{$?gS|H)}7#edMGK6fPjxVh8tt`wj5_e0dE!7=t}qE6rOgpyXF908+Sc@(z?#NIzf~ z^?(pj1LSW(PTBy&)gXC>12OG@!17-mr};PBtp_hQ4HSp-A-OOJN>D9@K@t#H{;P9A z|AxEuzyVTF9L@(0gn_~Ve!wvX5Ucx(b3y-xyY;|Hqd627t?L4hSv()p44Kc&#nS@!BfTwyEipmV?;1P%Z)qC$Z1`d^(3dQe(EpeU^e4uGBunFq;m z^~W&yF)sF?`hj-mQJ0|)#AN%LK|F{V{6dg}PqQEfpM3go0A}m|M26|#h(7(t$M|Vs zK@Y%z6w>*RkMSQLU?j%%_Uwk|_T*qj694x0!d1dG@M0zl@r>tsW$kS4 z=IADv=i`U_@6<12&+uKZnOv7;dp(QR>5g&mFC8QY>_6!5onTz!trX5p0h-`68vU~ zaxK_tiE<-2X^CwX@vqIL~e!hNQlh}<*|^66`(f866IKM z!vbYPFvbKWS1`u}B~S313CdSN+oEhVw9%H-SS2}he-mA4XR6!~0o#&n1+>xb)L3OX z7Jm~%=^Lut6am|^>`1iH;nY|aIYoaHQ)y@F++qRSitI78(dpD!RXHJG_d3d4?G@T~ z|HSDaTh5cftjvQE`oxJg*+Qf5(222)vd|8(H%ZGkbFXgM+A9ISf40=V*MG1x8k0E6 zwU?_o(r#_9v5k1}AyaXKG(j7UE4i(UEeMkv5f)QI(Mlm7j3LFW5_Ex-8SzrNEos2H zTM?5?*on#KIw&*rK5gyo;!ms|V1WIw$kX4mHt2}Ai8nsWe~q|Apb_L#Q+>;+0q=In zd!({9>hq1~ns<1#m%{Ld1)tmbYUV1*CHHQh#kJ;cWgP#ol6$P-?sod@Y))hUfcs+F z^%bE z9wlH$n|+TF0^SS%7x(A^X(fPXw+s4V?63B1|Np(`6jdL{`d;1h{(AnuxWwEKh@gP# zF#r78~EQy&Me;XLD6d5)Z<8*kAO+z4RqW=P(@3dzu(P4^#-)Yfcg+Nk$JqD8NAjxp`Xq^+$RQcn- z`UU6D$oFYaGo!}M#2n*??Y-0Bo42x*fMPg~^OS`;iY2d2*HtAO?UHAXZ``0l_v^nA zj`x|Sk9Dm3u?$KuJB6XY7m#Q=1ufA8(3_5cPk})A`c6`@0dtmPqRwN6W1{dQ^cAP3 zbASkfOndZ?Ym6{Q;}wiBwZhp&09aG2Y#u~E2+Y-7piKe7^#+AerNE#*Fn5H0TJjI# z`+&+{->y{ZQUS?70FC@O09O`4;Yu2SDhY+1j*fgR<$8&_Qiu2tdRTkBWgT0zVS0@u0;+FAio zk)tk<(iwoL$SUy5!hiiiQ!VgD#{XVu@ZtFWSKqz|IC_?V@bLd$Xz*u%9F$wqKREzm zcz6&H9{%e?gOZX77i+F_cT1Z1b2rBedr5a|$K%m+&X-nqEt)PacQZV5cjqlx_Gb+r zs|pJp?+)5Ek631%t6lF7t^l~Z@GvoH*YU8ds6@52_1)S&*1}+ons@L%HAh`bwakti z-O|Z8#GTTfIQs3(gy^lp9|^s-3V$pFsJ#$;Z5h5R7-A8gBbZ_m zo-0^v5}qg6WFiOcZ=x;DMV0F-U|XEcj5gYyilr<^>TjYiT}PE0BVb#aZHG46pNgdd zJn!N>U=7*1QatjRl(**j|B^@#n2XO)7U#&5@4l=W&L* z*j4rNuuG97swcFoPU=2m04uCYA$i;JO*)ItI8aKtN7c>wv& z(SSR+??~!wWyTp zy8kZWd!PATe)ypOYC1?dN+po@$Z=FCR)oQLY|z#QS6zs-H$8?i%wR|yh$HDu|MfL6 zzcJo)h(TfWO8`n}9N0GD&&_~+e%czE3`Yy0*tNUhy2`nrCFWCsy9UWYgHU}6r#CEa z7L2h$B|2hui@0s45z7hNpV{AgGw_=%F2J4jNJVbvmG3sJG4-*ZwVj6jxa4(}=!YgQ znGB_LiX*IX7fjjD_sw;#8fx1i5b)vj1n$=6H7cq6=LAaDE6}sh-#xn zZIHW`IS}J%6)xS8NS_q_A9Q>_tr!xzK~m|`m7nx(%TTq_B{gm2uy=Afu5)zK-r1J< zLp$y_jyRkX>?%&|nd`AEs$|)M{zzXrk|E8jH@VgCC*ng}R*C5Okr;@;NWke}+(f{{ z0q{NI?+PHbK(ded#e1Y?*vuq4wci6)DqPyL{wl3IfQF&^AFdRzc$b{>jKwHF&CAz< zu}i0CvaKcWU)#}i^m#Gc(@cz2f>BVaf^ifn*}5bWvl|F=^`+*_~hCU*s?%l=Pn5K7wAUaZzzyA3S9_y z`n2B*BE*HY!in^J0gL|0TL65I_`Bjk1mv!V5b5b#Y}Sg{Ui$Qk07dtw2=uJqi^M;W zga;9zaM^&yG?ti}lMLzTgPi>Kf&+c($G7>ZIf!*VSS|Dlu*{iBi0IiKv_|1_ZhiNs zk<@OlLb~2unkEUqoQY|L11tIUp25T+w2;8Uz@mR4{!SQv&*&2s{oHn~=$kNLoj~RS zw&lbA{0AHJ9`(m6Uk%|@HY5>7CcxgyY}vQ>O%?T!bR{K_MUPa$($X0K#j1_Y9X8cLXERBeA6J}F)F}Q@H*bK%hyTKugXAhkgI}2NL__(Q-=9PH zd&&BDpcb4Rul1CfK9&ZjSwd`&0|Ir(Xy%sSRKF!jFc5R1w6bYpp0%MDm}@H-m^qq0XVoKGSfF(ZogQ_w0-mF14+&XRoQyt2 zg&~EvU@FP>O@lpOgOECX3SHcpfjHUpZMZ%$8o@6akxcg$Pgjo?R<|dSv1dTed8!J{ zV5On+oKUBiFjGZxyJbgLhtC&=m_*KrBz$P6pIznH3H`WcBLF6&2R=s1`bsu(S+5hY z-vBb#RlyUY5+htg7eX=HhD- zqW6RC0tP$jjh13JaqaRW`bFFK9m(|Kd)mwav^nu3=a}O6NB}8|dqZVDS0vWv30!G5 z+FP<=7v@A5fd+ft2JBHx@!c z&<74>NLMpHjTCGeB9q0^7i~{hEP5guN+QxsNd&J!U@T>dS<5%%$rzmWYymYCs_+Y= zgI9XfL*4#U5f4RStXk#~En4`~p+Ab`S%wLD4|S$&aQM@4Em!zWK92F^SqSCrAgJUg%MVoJ=8M=5#6D4h%%2{NwS&&j0U}ZJi#Op^ zbcyeqn%e6?6t_NpoX;^Zl@QHKMGyXZ3!%)ez1y#?8>wuU*VMlDt5Pl1>n*#osa*$U z1t54|U$UqVqhg<2&Y=;BN-H){{V0FtpyaEA@~1Ieqn)5AePDMBA=4pTTFU3Y>yZvh z?q~XMk+}HQRce;>*??mLm)G7c`UlN&zX|>4NDF~H z1db(raPm(I!1cxMCd)tc0&p_#VbZtN9tsaM1K9^$a%GylZF{%OAFD_DO=$RULNop# zlo&`Thl;IzEfw`|nvH++LCimj*l5Om48U8J-y{z`Of+iK-u>#2iT+??!0(Cl|Cs3I z!$fI-kwSjgqx$|H{+}avi~<3CY)edT@oaTgDvh4?m%Gna?GP*=(Y z&TcCC872y$#|#UZh&K@oruLWTP=79p)}U%kiY&itvqgACZdy=FU4x0OPO*2fKhFGb_^u8}22h7^L5kt|sh z5C&%ndnSbsvB}TNMaK-T{>6<#m=~Go#Rbe07l?OBZtEMa!V2SBqh@aj;2{wj@ zHKK$y!iBjZi80>7pTKQeynzT{9I=<0d+iK;f;(dW^v*lP`x0T3BYQ8oe)ybagdqk0 zB3s>*Xy()BY>U7~heqMT*I-pJCGd*{n+#dD^@KptNMSl*A|_%Y z=3W_vrDzfJzrNRnol-@iDKCER?Ej)QE7O=Zf}$cm|K6IuzxV5ZgA7s_$EEH5V?Rs$ zRu}L7&=LPdYwj4m1?=pM-}MRhedL|r{>`y?w&P%qXRC#MZ@Uz>}Zw*QE zhlZ?q(2&!Exz$Vh5F!eUn=S9KF?Y(@t$Ai5@(BfLrf8^U{6| zcp3m40V?sy9~&w>_+brpGrG-Vwul`m4^EoPNp;qZQfY`%>BF=5Rk6X#VuJ_AI{H+% zS5T+-;fO)M(;gex8Y^&r#y~CyoG6HXo+uKtZ{p$1v(C(!#lmGqPq$WILI3m9e z8`4+BtHQs=^PLW6YDY3fyFa8z{&4xq7Ws>aMZmnpzo)AF)8Qqt3NRJbuc;;g?G%2E zR}7dp|5qnnz~HLCh-k0CH?88C7ygpHRRAHF1&Ek zLj-YUB9$!dGcUe;_Lx4`4!AdXBK>K3I+6*}p48#94^t`2Y$)tLd_I2CX%cS^=bhG6j*0U1*f!A6O$DgaCw8CPqyC>N!5?bNmP4 zsyZ!&P0&O4yO)#pa(r@|P<65g`HiY5bdq^!b-igTiB(Z=7wTPNH{@O(CTDA~^VrQ* z)|52I7{7nDC0b0NYnQKUDmd#=dz&8;rRdjewEXO<8)Z_on_0*kiyB>l$+*(gsbKF+ zB>0F2GKNn}*<=qQ*y*AKwGB(y+{5Ey#nPlI0}YL22$2Z&t{6UXH^^uav$F-$PL|ojSzmr2V9jtjqOf^Q@l+PWDNRl0 zlKLMo*eM)a-K(o(QE5dd%9KxuUjZiS$!NIz#we3;Ku$O+0{D+;L7G^$!?c0bOHqO| z$6{&e95|xYohf$I96bm>I#R0jp=HGoJ9aWmd+5(mwu2I7Z2RWpqo=T7d67K`p}62G zo*3!KwZ0feAhCe%uno~SXw^21e(q!62RDOju+CxVy@9~clfdwD6M-R>!%*-Cu0boH zZW`BM0`N41Yd~b*7qB~lc`!4LX>1=IGRwqZW*c4RgO^68KHwx`R`dk|lry-!X?M!OZ8=YhV$Wsdx3KB*sL_Ei->g0YWqS)YD`3 zGZbej%zlAX4-vhmF}#`m_MyfZNk8~^UySPSw#r2T{-?AK6uoOSR}ZcM!jZRfOT6}X zI!&t4a=CFCbun9N0Kk$`4Kw;S+k(#)IX6yf#&eV80c9&UF0C$Pi#z%gP%lAvwfKbu z!T5htR0P=Pis1~k61@Gp0tOa#l=vTy`Y=07Mm729+Z+o~TiM(=nVIm-OgR9`SQJT& z5IeNTJJu!ih3E4dqIe&8zC7V$RNuNG#ty*Xe|~rPG*he$BKfK_V1oluq?UGGEV6sU-Ro>nRyFp>O3U_Doc)$XE1*HL+GS5?tue zz}66NRz^yIpZn1xJ<*m0VeA7FA$e?Vu4a}&!F7WJMfj->1;1z4ju_$|%tNuB5?3iN z6Y`^#t33vYdzUb_d83gNSOZSkpEv81R`#}oQPoww;=)_3( z2(-zhMaTKA2o}$iMdGxjrbUnXc?r>XqxuKyTu5_5_z?>q2$Mw;wDF}Y`JwoSENaV8 z3H$ko6_b%i61SygDaE4rhv_)VP)Yd_ixvwngdWB!l(s$*`zS0tg%nyrlujPEy7-3t zGG~L7M{=EX>@6b~DS@z&6moC>MjVM+l!{o3z6csM{R~nmHT@9MBWn6SBv~r@78xP) z*vQXBai8kv*I~&;v_+FeVZ_NrG_VdNKj0lnUQ3966_4@K?m(utMZaC}@xw1sfx%2p zNeXq`gmbimQ+~xKXwXqjs<(ptikDx3hhQt|OEJc)C;Wn%9YwI1vIHLFdS;$*eqRQk zy@KPDTi&+b2MR$f?;YadWDOmv;I@!k zDuT3i+l%bz&2};Hq+6=L?>AyGI|hs!n;m1|8MJ)p*f+vv{s@OyyDMGiJE;Mpi}=QQsRWl5=g5Yg-W*DfQG=B!bBGqBnw>gw3I;$<;)}k#d>D(#7d? z3`~onU7lq)A`*PLuL!n0M#cD=!@gJu3)>(Gs01yO5_}V3bawA?_mq?3OAY%%C@O4) z^iB{dG|>}^K|5azN9?mMj5QTO5OHgq8;D!z$AkWD~55 z`j*qCm0w7uBP7(8F^hFE_hkY5Vs4u9_YjkJjNPn@r7yWT0EPUD(X4fPA&&Lz^EF)S z*^t$DjL2-S=y3wQblV4_1^tKOPy!r!37bC*7HKd}H5`e0`(x1PR0(GWsR@8@_;nTQ z6Nee2s}GV^e0}|DG=;LOIdYUg6WvA`Sx={c@{_q~>h_+-X%woH;zjkKTTUHUw?ZDpe*8CUl2C_28|S#YE@D-4nky_s7dVnhC?d1gL(jxsSh_!s!@bB< zf*^=myYlw^1heKFlCw5Re|$vR@6EY)0N2ideY4CKY$%X;?qH%f97xT={A0pGx3u?> zA9Y`7!=k8$n9?~7<`)cHI54~=Cfn|6k5Pm}4>PQftJGfQiTRbayYqz{^QH(TB-Z0Z zyRodfIn-~>jZMUm(V48Je;4#enQEO`PsI`=Xf70`JG)DWHM=7?3yPNQH$u-)BRg}f3=*8fEZHr*k>C>S=}0XJWa^B}tD$-XMOT`v>_8`xHJy+zV9Jn<2_ z4jeWecC$yg?AWGAFotoTwe1t&V5yd3NBY@C=zXrogmqMONpfCeM#fTNNRg5U`wd}~ zv?;vo6oO+AsuNX{L8LDT!MvKF@z?FDt}!NJvuO1yAB!E_)8U5IY2IdqFigx>J^i$t)`Qk#sq%AHgVFpa+$zKDm~ z521V}Po>gh{ldam!5@|+6tN!MIw%k7l)&4Zqkl za!-S2B|_su-!KyW*vn88ItmID19H>x0u@7TQRbeBy|+NSrud*aw8GYjTHQtRW>T0; z@_6O*N8(%!zc@vmxr}vY=%9}iuMSKc-m0iqG|P10zZ_gS7yEWc)D9o?5nP73B=-93 z)A$>0EEZvG)kKQ~JN2ivf*JdH`NwdsnHk1{5hQW8OP-{O%irN5n7A+xyO8sULS0s0 zIZqE%!vB{-wJH|c#};~&*tzA_haj*;;`0J3t%BEATL&%WJ%=`aTji6Y-30=}ot90X zW5g@+%+4oW5GT1P@oPmNWi~U(ZK=saaHBes=U@hK9xu#8LvyhvH@U+hXj#pFdW43P zJr4#6O)_DrUFlVa#;-;H7&)v&hIoTCcG6tC&?^D$RGBc9jWG6Q+k1??-dt@>!&m*t z!nmi>nc$8QC4T2MEapxnexvU4UuT7~sP{=#HO-c!)SFSE*;o_1LJ)#7-&J|&=HML7 z3sXRIvj%kyA_k?tdqO0Otu5lX9{SYxsQ_Qq;sklSAnUs>@KEvI_0SSuQHu6Rlwiu7 zq@r|B8xd3iVz1UP@@d))HhuQ41&to8{kB z`8`p54(Q19T(!weyJ+xxq$kUCHVw9g*|*}2?-ke!ex=NW&8S%xR;y5?7FM%RS>{$_ zP^9KoeNb6uR^OpW&8+GL^&Bz7;RSQW9tHzU_-n3*8IUTNbMEQ*Tl5pfkfl+1W_e(p z=%ij+^-ltSktN+_M}u9hw}Dik(=0DuVlI*+leyje~bOqXyx}Mg!T@Bmrao zfqj4!k6B0dbhqWAbT@G7Pjk50CC{zz2ZMn|V_!B=#Y)skFM=R? znN0+k`CE9)svOG-6Ei^Y0W;rEAN5W+Og9!~gh(yJGcVjK!W-vH<~rsA1@X^k3WU!< z9*9#BpU#0um?uWVWV%+mw9?-CBs8TJYRp8IFjl5%x1W4Vlu^)(t7yj-K zg|o2ihPXhn;y}{w@Z=Bb(i-o_W)D)ARS&X%-x&9D7Uys^ngzPfStYhNY*+^W{4~T8 z!TD;U67kj5dZp&e=A$-ou%zP9MXIPmQa;hyH_;$XC6SY*LaRhYqZ{@D zNr9pWGhRiJr*M?t+^a(gJ2V$K3+WCp;jd9OFgi+~w1~bUaP>N><_|_(Mt7;_O(p5kusGgO z+WI{^bk2yC|iDSV;;o z3a`lIBZWoo&LdvlKGhvB?7s?!Z;;rt*FQJMb#=H;#Qxv9NHHlLuQP_UtVz_N|H+AFJicx45>c+(i zQE2+=#smsc0pO|_U@n{E85^@`vb9N7>h#K2B}Wyw!{w6FR8} zvH>)2DJ!ByuZdE{kbS60V0qrI4~=N~Z!}6iu1>!;PuZ`_9Vb4qfQ{IV_(nr+6-T)v zuD%uOSK*~{`cye8yoeg5Q1M%Jx`BC$N}bFov49Ee%Eo9WO^&E)wooC4tqA56ANYsS zEV0c#G>Se-7Ihh;3Mm~8=Z(;=60g|9r=n5ep}nZmnV)P#b|&~n9f;G!{MyjETJxT( z%ivZ>p=(I5hrTQF;@i*VjcT1kBi!>+M~B!IP>O0DLlb-Ha?lcq#$aZgLP$Z)x31&f zL`%Is^zIY2c`%$n!x5E%~{HzgrDr`Id~s%qqbNRdj(ExQ*)LUgs*cD8A*2C;nG% zRWy)I=FiVh2`ts0zMm#6+wqvHM(L;!*q`#rwPs? zH~I6bpJZLS<M=!lyy1~pjj~=QU^VQ+WQ$iq^(mqnDX}afSyv8* zcvEzLAhN|vnQB0R@S`;GcQpA_-3p{5zY;QZ{qqfPIG!-#YV z&)#=t2Eqzh6bECn?1Y@vuwI|0nz8uwarX;@D22C~vOHYrKq7ra zu~S(@kHN|yVQmt>_=B}gA!KozwQVfql?!FiTz(@xvP6h%{L3s>5ee(acpWEE>qNEU z7)kllB2oH%(?T7X6&)*V)msEFyx}C)gRqgRO;vSD zb|~O|;^bJm^{|z(5D4d`-q%McDB6vbd=MTVZ3*(a$_!L&Lvx+2?PT|#p>JE@X$#>& zz2HwQIZC+ZU!@M}#nN>^E!+57Kr}r$RAkRi5#+u2*mRb&31)@cnv*=kV_GJ(k`k%h z8Og5VBwyR_q||9?^0^CBfiJf#j#iuTd~KTt@-&-t0&+i_Ip@h0(y(`$HIm|_XPJbL zra9$~NN&<69Wh^}0^x8S(^zxEiZ+LZ#Hb}l`h=+Fo7_0fv6H;ANts+qTANEILCG@B z@gsli$wgHeWwFwTjN+=2A=C)8g6pqIZ;NmBe8rz&BpyBwuoM zl1zV|Y&|dQ8)sj#)%US~w6r9HrzW$UV;%Wy?bgZ;Z0)TT^W(KwRwSP^Pma4cT_QMD zyCk|`dtCy@J%%LtT}BzE4e%5ckkvcWySC9?&4e~F*V)#Tzo(i{WUjRnsUKaoR3jKJxmr6C;#AKTUpQ1lqoV&biU&m6vx9Jn^B z-;^|nQlvC5TU_1@IL5v`!eXPx3~t}=--szWX1U=*-qixHxOgkKqlBr!O@(WPilE)?*~SZEumkGdp>IyLw_$8x8ItaiH6eI3G25KC1Wm zrnYZIv%b5#-=L5rt78H!+k}Q+ou`&w0 zAVHC{xC~dcd~V4(_FUF@UaSZO{hC;unyNLV#P0%(%|ZN8lqDywlF*)Ajy#ZGMh1x zdd+{(fsM%5M`2$KeaSynH*v;M2%#s0gU@cP0rFJ|23&|)vYxM}xWNsZ-?mB9DF-E& z#gSWe0AlUaPu@bxFr2|>PbL_Y9KlJYmu_)%r@^H87T(t;N-v?lr*m5(Z-#dFs9f$f z%4oAe7=%lBs>^Y6xPt!78*rU#l$}PF}R`n_%C^X?S z6?IqHQB*u{oc(T=y4&ZtuD8DPSyC!>1?l(ko}kq{27~Uq4pooEh*e`dMpsNPDc}`^ z?!Il)dc{uw9&!SCYgG|_$C(HzwR_l$e-OTU@oaQ@TH};$Emspe6{2>PWgn|*`=zVa zyIZ9j@1*Cvn$+#1b8AN%howgcaHyMAJT6>SRq;Vlx5CCIM)Y9in4Hd~YJs%%AGnlp zbyyJhW+;*8pC*1~Sa8O|r&0)Gz=+e|f6?(2@0L;X`iU0a2?S2&%kaxVJ?k%wkM&(n~F+%Cs1D?)?(pi1j4I`0-6d zR`nQa^&j`)(obd=wqChooOF^O<8RzO&d|=x8?1_Ib8r1PM*4I$De!gmr6Fv#Cisv8 zOc)K^^5pjZ8SA^c`Ll+*1JdjK=IV4UTyYsiGqqWaX{}wv!+yMiUEHV`Bq3sJ&bS$@ zmkNshlL*WMJN1~l?D&>DH zE>`UanAOwEOMM8QJfqrT2M z1tNRUgouytpI+@rn7GV=k%`%ueJSuB)C|fp6xtRp$bM@hjR3Htoks8CUTx-R!>{dZ zwV;w!b+&n2ZO%TQm_Rj$h5DG%?Y7BItZJ!_QOJ!Qq-g0~sCjq2c|4kzq*?E+6UFS? z^k$SNSn&PL;aZ+N=kTBzoeDJ-#@d>qwU^W0D$zi?^#|KbV?5ZaT=Xv&E3PGH*IM-F zIsFaZD>PfIcKYIPIlw>CNr5Q4QLL0@qRC8CS*S=YNwL!all>%6;W*dp#L!MRMBtK3E$xb_@4b=mY17nI8VK zRxny<(cnA^K5F=L3IP3Zr5_#Sor zEri>`MjNplRK?Vl_6N;4L+uYZ)w&6IH@n+O(2mLTAL$#ax39Fm8$HWo9D_Mm^%ZSr z9WQ7bNiC0_daUL(sdZ_i5LtskNq-hL0!vg=Y;nyOY**RTv4H8t%nx z*e8C=MHMS296+$QRs0UX(6Gd>c?@jjLMBU;AmcR;yP@sOdbB)WRg&O9f1R1TF z3TAqVY9+TN_{HuJ2p)4ywJF7=10%=s^MDlBvJZ9aWAiik&~i(x*g*$dVth7@rNVS^ zg`Y|?ym4jOUu1;4hP$8N>~;4UC&nztc!3E3>eIwTp#&^k(3^E zZnI>Onen!G%(F~*-W?$}Xn8JQ9V||YMKkX2ypP^aL$A{kK#bhq-1BJ5aMfn4O*wzT z>3Y5md#BVS3ztNFJ-6Ur>BL^A!b{S0vTKAWdgtL1-&6m( z`B6MeP*BjPH9D3avXNT|0ZJi3fi%eU!B70CAMc#^tv-}LzOkisSRTc8IbH~}Omse3 zj-w4KZo0d5y|bsQspj>g&wLh<$dv(RzAqI1!R36XR>a7Izvv+HHI#7B?YAS=kB)d9#hUY%W84mq?ply z$Ei|c$4e-5Bgbo$HV!}Ccll7>T(r{!L-P*rwc)Pr_Qf(-b@rzvEuF>=s@cJFIn6~% zgw5t*AV8W zs==J^Vt4oL7yT@8I|6A{3Ka1cTi@>u<(s4)4xbLDLGuh>z`q!h3a6y#st7oEFxHo>Bo#8{z zjky)@%{JVBaXwvx0Ay>rLd}f{|Y*(8SUq9Q4-NhfS3Ck9#rWx5hiMP1YLpt;K} zUUPc2YqgWLS#WL68LOtgy)b_M>57B79lURAi>A>|(U6UkgFP-PiF0B*hI3-0ES!4d z1}92ze7Om)Ph>;=eY<5H`0@<4=cS#6<#8&-9Cf^JzC{Fn;bN0VV9ai-1s z#eS->eG#nCF%NN8f2VlKWn10(diQ2;x#34}A#DrG&gGnA9=_jQo%?+7++Ai41#3X{ zhKnmaNpsD`+}%yXZ9^jo7ix84=^%8KFhxN{)zqSie;zduXn;_}zE$kcQ14kY4A=Y^ z=3BN`6UajP)IOT#YHi8i|3?iztzww}>vDe^s5T^f2E?nvtBc61VHP_2GuqX{WMd+o z&(oSOQJX)yFehlz`1`o9&|Ys)4v+CmC?&cPUt%GLv}7(XXR4oOsCSepmcM~E|8Da< zv{BM}{)+d;v>~s0gK5t{fbk=oeIC*dX78i<12L_~$MIiRSM*N2=Lm4lUuJ2&xM7XG zW29t7ajs%($yB)|fgR;ooU^#E<_2u*K)2 z2EQzkRK5U&7(sS)76~?5!G&6v3#|$80aN8k>is`qKdHn43 zQ`FH#Fwo=GieC6Js zrb$?kLoe55n_dYp?Yd1}(Gr_|-e7mI2y0HdmWMz-B#lKhc9eiZ99ol zK#hutOQqysZ1;Azm~_zi`iC@)SBgG;?v5E+wph`;-tj)XB<+IOZ`_}sY5;a$y6xbt zytXy>#pWcUWc|)vJ9@C|`R1wb4nr;CxbQnvT92nQ6ii0XiyH)0A4OhNyBHW0^K}G_ z-yUv;XIA*>>jtRDF_nDUds~MXIN075t~hEmrgnD-kKiciEC^3?5_V#LTHPSn0ApJv zc&8Gmx+P3r5f>H+uSrcV9i~Bp&`8U zo1(jPm9DBjL8~a(Vm3i30H6o@p$xSkuY>~A6E)TR)5kKb9|;; zi91$JL8yJc|AR%jIa7ic7hc-PuM8s6d!${9C`Z?M;;^~N<0-P}vJ zp)h9H{5ZX3P^ci79DEp$`EK~(#s4slJ#(U*H%ImMc?MWiYjrVi>D#1GHf%{29f5Lx zJwD1+G<|iE>Q?mbFU|AQj`WdiMkL^3CRdyL+5P6&l^$Cv)z)v~+v7+9-bg*GPK#}w zRJbW<#<;MAugk+`S#6<{Y*yVs*vc;|z=cm(<7&X2mm@!g9KLAsrwqdfz_h7OtU%S+ zzlT`uZdlGQv;XW#u)-v0>R&s(J6t0XzbydC$hLb2Si+s^tSOnnp5WopWeh{!>HT4R zA@U?k6B+Y#C0GVrg{NjX2L^D`|;t*3X~erEp4#^!^(@GQ|lc5(a598Ry4r`GmMzFk_5<)TO9ZA1Ir&dco1 zC*W+i+n=qCnpNwIbQ|wHE7L~1d%vwo9iqz4K(1@P%{K6Q$7iFKM6`aL&Cxc?>x<#Z zmMkuByA9$F=Xlx-DUVDDg9P_5rZC_Pe!|IMoqIeK(ll5`7g$raLP;BVZz=uVyV9kH zeM|Rqb-mNxJ&l6Y)AvCPEi{n_zhgcTZqS4qXGk*MrnpIFYQe)~`r(9~@S7Gu{&ps2 zYM7T`Xn&Sk;3f}3sTQgc(_NGdwJ&Bc!q4+Og~k?EZ|2uL1ov>bBq0HnBVIu&&@#sJ zq@A`Iks4-ZnqRXdTkBEK%M<|uB z$`XK(wnsELj!Encs;UeHMMd%aLF{>jbv-&Hrp?IsX(`YCbU?C8G<+%Mo1C{-KbZdf z`}wixV7B!ummdhs3I_=KytUT)zdZYYT+RY|UPj#gKX+%j6u*GiU$1Gs{^nnw*V{gy zws)7vZ(07p`%0m&?Yv7FF?*`|zqfo8DI-3}qSM#8bNAiS6!}{;f9PrXU?p%nRCr|~ z+<%YG`Id%wK{h5W_%j^4%h4z&lviD(7YQ__YC!aY?&G!+PKJk5b#@d;`uaM z!ET+)kBm=wV$j~+Tf7)q{V2`wuNcTi=^g(%*g*kojKh_63A;^*bcamInt1P@Q`qQ( zb(npubNgR@SnEQI$zCR$5>|oL#6tSUJY(}KpdR^Zdv$j4<|u^q=efn)?_T>X#|10q z(|$Zb*GYZheEe!8zWERzry}Xu>`T(W>5PG2{#wEN+OftRDccbw)-t~B&gWKSc`@b8 zn-LV&O%?`!U~s0-PdyPP7F2&Sx*@}X4_@V|!hieE# zvI=f|>b_f_3op70r(uRUgepSCI5hA6$rRt}+uYg=znIG28lvE~#py+A!RHrm86N@R zH6xTopIUjzfL;Cfk2(S&1l*y8#wE_p{(2Ag2Pr@zGen)zqGgwcXzWl#@UEY%7Pj!8>WzMcAcYWV8=c6;wGx zSjB{oYxhf*DgATUS7nqJ6^tfVRGCNNDW6}QN_{`4bp*sWIEa4aa+E(=sc^JJrp9R7 z&)f30>3#$tk04X8cP$H$Z*Kl0J+&XgK8;|SGe)e30LFjaz^@o-;@#8TRN*cV>$`V- z?%R4XEEg1x_MRS6*iFt`+U!C3=FUBPd%N9WedZ58*)5Po)$XINy5C0pri`b)vc0o+ z^AaEB5GX`LUiK-X?5or>T0W4-AvVntFAe6(Pyg5<=ykTfmM*JMvZ70t#Q*39D#TxF zSJ(1{4}p}e-=O0Q^$wZFaCXMT=Am6HcS+q6`R8mE0nk49U+^<7w)umm{oY<~|MSqB z1XwbEyv!%zGHpCHK2T+*ERW?7WKVQe$GuAVmGl*Y&^X($e|&w8Q@>M8`PHv7MShtY z6&d4i=22hXkWaj$6RsP-Tm$JK_mRIG>N5&6IS0ZN&HTsis2GRK`gkBsnGp@N_34>d z3dT0z+vINe5%i(aAFOFi!6wW;29Eoef#m5s@Dm|@@0~SfLjBTteFk|2IWaPl*^9Vc znTnE~Ij~K$aBvF(a|`Flh8-f&K=+Pa3NP+P9(F+jT_gR~JCv`WpGUl*Mc$x*ad(bE zQi8{N?VBv-7ZVpRA|JH+!!N#vubaX?kOB$zPfK23S4VblNTHkkHeRnL-I)I8%$PWR z;-JUB03{dKyI4>U;ELtJ*gZA=-Y{u^y)gLWbeYw4!GwV)Dm_)v?aKv10Fq`; zdM|HB5O!~9d`Ru!w4%ZQ(@w7o%!F1f(?;!d=P^sY4Sz})x-G=aZ1z$Z^2-neg z-+-;v?j0_P(jO&~8fCAcIn`sx>A6|3AsVh=_s3R)&fUB1<$`%}ahg$aM3q*{b(LDf zyEd*5w7k3$Oexg;>h+=9nLD;j9z-9Ua6m*|4xHTWVO(OY?vJlh0h6D>*(PG8s^}vK z@PbZxakpE4*}uoaoHrMpFQ`AR-MU(xd)a#Dtd;2FhhDif;34(x{@?*s2*{u5zj|!2 ztF~#Xx9L#l+)`B!w>G^TZioUyDnjiYLV8GO=+c}Ra_Po_xw!smHGs|5Y@}_-qQ``l z0yFUwEi0nCr)t09mXo8+$CFcFAp5ImzVS4R%)>i^;_CP({~jRu&_A|ARJwrqe_0`uFo$PI&RwN+-vo!SC2^+4Jtfw(#<3 zM-0vfM%ydB;;mA5@iz2Br9j;?G_HmeQ&Su7+q-*v5HUvY=eVA1!8La;+T$m`J_y+%fZ z%;O2O^fL|c%pF5kN@2Fjq&2vrea9)w4QCyyTaNf%5a&rHSx_+SD zmF|@E*dh_=>N04gMZfZJ@8nC)T<7k!V7xrqun-Ljao2cykZOLD>}t$|=Fs4LuxBXv zQm58R8(|X}qYToN=~qZ{W$XkIoD1}D?QH2IdEekK%CV2UOtYNmk*=bjMrKSv4eqAf zvxiHKU^u;4vS_8qY`~9kTtmUkUyEwap1B^wTg)0n|Dl-O&X)%Ma(O%GW4r4$>l1YN zrHJHWqlgsLx@Z+uu{lt;j6b(9uq7rk+UcBf0^7%Z;bsf3E2FO74>- zaQHW%sPS~iXY^WW4sltmC*I+h9>Mo!w8)<5Za9tDENRgYD?kv5=(GFlCEEUL!++(z zbmpn@ekKnA609~d@sqhn&|R`lIHh2} zYpEiAeG+E^R314{2!Y6m8_tge8y$F4#Ii-nT3A~Hb^Neu4)|#I=P3pMcN!F_pK!Y< zBw@D$`u)-3_=;5i2X`O$@yT~(^8!A-P&h7cj~-G^IFq3D`Ots|_m}l5mnAC&aE?o< zJU7s>kC=EpKc`V@@6b+TrG7EK`weLf+NhL)WZ$oU$g~I-OD2ax=gFZ|Ng( zB>(i}#eJ9viX`m*bPG zpNAbks}oWhEtKANhZE61QY2&&FY=_Q4)+(OYs{9}OR5tEJ#H{*)t>nIwCo>{CQ8C% z!)U%3&(Gb<>uMTl3lRdn8uH_{_QVIR=i_E z97C8m=>ZGO7^57Lx*)r765YS0uz__KROT^TO|rr*`pCZ1SZ(8%Qmu=A2kX5G`XKYt z8KA2+QL9U8ORm91IKnz*ody=OKJy;Kt&2WgOI?;0TU+Y)Zq=`41+ND!nTkI5%Zfmf zC6?#KgSUA0G^;sa5+O|nV}Ffle7KeYSO7=wXVq1n zQ+d~tx51h)OQJT-vh$FzAby-EwM`M86N*h|I~~(pGMsl$ewb7Kc>!VmVGHp zV~}vUtA@LcqL!`(zCN;{Pm!PzBTgetYX55tPM5W7hHt%O5C{Re+@Q`Zu6|H0{LJEL z+SouN0kvo=0mY(b(u`C4b3!VM1X&eKZTGer?DF{<8X%&3r{|LLjG2OQwjiFMEvwwc(xC*KQQ`w8}D3j)BmTG;}ynM6Vu zlDM{RjyvD>e?7V_q5}A?`?Kjg={35q1NhI)J#lmwFE=liw*_9aG_Z2_9`LG<&cjqW zdh{#Xl;z)Rpq4E#FgM@b=k<$*4$q7vM(UmQyg&UUbyWc7(x~#Evj?By>>IUb8rz?j zC>k%dS`zQHZ`}|K4a=xarn!{P3{K-loLSqL4>3KG(fsEg6BX9`3eAxq&fzc~#1fS? zWGUYrJfGvcuK0gI`_;SwvwB5CX-W5K*V`s8gx!MNdUI}VKpz&+_tOqGaE@-AJPF%E zCNHLk(+A#@@t8By+_5Jhb=M&1n;J|&r$Uks6E|Mvb-AaW*QUC?=yvBpN41mRd^pSW zU&4fk=Q?ij8Ht(7AmCNp{0PIza#@g6e@@jF=P(2_NvaeCb1WcBpy$nlpAXQDaAe+( z+|F0~OjyR0>qBTlligSuJwL&MEC8EgF*JPb+gwj0J>0buDha0o!LT;&_K_eVB#Td+IZhxC4Ata$mC#lk;)Rb2Zzi+R7AOecg=l zu<5k!iKG&BmG`(&-Re#Tb=z7pywE-VHaU!=S{a8TE0nY%ezXIkdY^r@FDvYNn1k{V zu~?>hiZ{iYkfuy0_|r>~byv$ffuo5sV3!Y~DCih3MSD-U(z2Unz=1GFy)44|v@v^8 z#{<3gG${MjvHO?iyWQ<)n}TStm5g;!)nF_@=FD|(VyPM-x+AWTF}!Euad>{mqXZmh z`X5I;RW5{@{L9un7Nf>r$n;Nn?T!1=!RN-0qVro)Q9*>M0Axw~XN#>o?r9v|KOMR5 z$`vPe(=wW^kMbW^SedfZXp*Fh}2fB2yaUeyL1Uhn?_)rGS68Zx(x@IT~2 z*eC1C!9n)^cSSX9&geamhBY%ho-`*g^jfr*c9Ym!i$i?VbDMORGxRtD+}gX_pW7Td z9C>_?z9l5KbC`1ocYM7J^Ny*90fguzw-dv6B{T{r3e`+V`Ty*i4+OIh)-kVBgz+(<*0 zBMYqTIRNbmK<_SJg5nLDi4nH6sprJF2I+FB;ic%oSb}+>lj!pgZv_tB*a=g94LWS{ zd;AWv)!rKYB)KZm2A=Wygq)8K6Cd%yH3!qX689!+_OywT%B1_u*kvkgr`&s+V=XNE z=NX^zeka&WCcd>Jk7I-o89?u=d;tEGJr_+B@+J)Pg|h9v#Z$#}6p`z~*&{7e^t_B< zFHkV#>l4@*R{nfj6yA?+aCGDO!s`Pn)Z~rov*ow!(%`=wQ|>0u;eJ`}hsH1C-9JzD zX}-@)6uRY)R#aQi2FH+u0zC$xi#9BVey3|+3d)M&->DP4Fva+ z$~vAJ*txg*V~nhdR-Tt&ej1cZAOqadGz7b_}oJv>%21yS|=yH2bu8S#SD z)Cpg6Fn%oR^#NZ?(Uf>hicx-8go>Ugq_6Yu3gQV87pb&t@ z^}hXxg!0`e_TA=l=SeDAFoAvZ2o$Fyh`Bac*!z@<&Az^?i{-)v72-D}gfr_Kyzd`e z+{scVTr=;aDx^lJEi$)wtXT+wbEnB1xLF9 z8uzU9CRe#Fk~N9nYf0ofuJ#L1O#A0dL;^p+gMiVs!A3gG$tjylVA_TTqXIHDi=vBy z>Z5|b(&EOgQH`0yZulHe`$bH>ejj=L&(kOt{F?a_D`VW~DU?d(11*vu_(6?qO zl*TU6#;REuP~PR>aW< zoG8VYp-q{cY+h34;=?CcBV~B&>igYIfyS}Ix8Ac*K~3EW>e1&pw)0R#28!7h!Rlh& z9jubP8?yK~OECE`|2ITT*&?Uy4(QY02u=%k$Ywn5nJjg`Tmi&fq1mr6+0DtKrs~*= z@iH#@XP?)hq@vQV*UP~oDS+?iViGVdzSsL@*}mtKEjQP<`bc&0eRj5_`J=RHX{b?;`(UV`D+wDhkK@-6(ed7ykj?a|PVA4UE6f`{r|Vkk@vQ z*>=!u59Gct{F*O3tW2&^8mXYZ+h z|NPg-dfK*tAKu3Hi;&;|Frvmpzn`g5Ln`{#smp_dNT3@BKycghQTJT>dfGcYh-uF; z5}UaW7hZchwi?{p4W4`b_T5-x#4X4TJPdGi)kjiix}95J|AhuE(Dmj~U)V^16sNYr z*H_*0kyhUwyz2weOK5^U-t*l$ck^p^_wEGE{U4*o{%S=p4wU5A+bNa>qE=P(4Cd)Q-9LMbnnil^|sIZrG}zU|3%3Wv@dUM;r8>ifN~ou zHr{}2J#=N|5KiXn;ru8<^7@aEZK2Q4)jzX&V6e^`N_ze;UT&@|xqC&sK2V>YzU?o` zqmux+wgVyRGj)bntlWD>GY?>d->Y9>=YU4i?H$VO-Hyse%?FJ>2@77Y-*-zubmgg4 zP-!#b$oQepEb&xr{yW?=B62vg1K?|D2XH?W+yqU}3z&P-u1M1GG}y4Ze1!ySAX-r7LEQMuk~XT2o0O2JYKoD2Ote@32Zn4Ppw?pGiPFll1@z? zk5sxi5#1w+EA${ImcZ-*CO8uZG~lSYl)}$7`^;asK&5zx6Mq6Gvwa#{kr8aZCjsNw z=t|5S3}(%26^^r2c!=FYE2ls(u&Df<1sf!7EB1b>?J4sYle$cRT$l%e`4<8REA1^@ z>#gE(aAF$0;Dn(<-!yQ_bX*8uxB95EG6P%I1Lo}*1=cq#}lw0uZp z+HHGZ8GGgNpt3eLnhaZLVW|Z9QsYQDoi?XU3c&w1_7`w+a$egbr}p+|5pd28(KXH^(@005EVqo(+;xO-=yfy%GuSOEoSeRNuRaFFpPb_ z$X$EZ?gjOIqL?O;W=fMdoW;kXHF!hA3uQ{k$FQerB=x~iL`r{ZH2YZ;G}ycE7`oF1 zQdV(Dk&m90gIRrsL;f*;cxb{)ajVypt!Vl0lqJsH-@}zRBSpfx3y*2XySPwxTJh8( zVDw_qfCY4yvD?ruKs_`H(&8iF)m>Hz?iH z4!5R!ywjrJv`(`wzX!^TT5J`bASmV-a$ZOmxyq;bpMO6pQ+)fDZEDhdXXg8$!1=?C zfH%!R6BnEsQBkh`rESR~Aj+KVqTIOa#YXS2DKE|=*PndhD$Ck#m^XlcERDZg!8vjJpl-V>c z%o>5eS?%qP3#GW)0oLJ~ANtdkh#h2DsM8uGLN84&mKUYZcZxK?g;TH|4gz|O&&3ZE zofF91B1n6EjAn#our4FRuHssQ2UI^$Zt#Wbn5i>iLyWIMgn4QEDWMOL8^#G7=*0>Q z)8aDk86lgz^^Os@6O&zu*PWMFCKo@LbpOgl6VQ?$xv*@5xI{#RujVA%Y4iPAJxs3` zt6Yjd6=jU;^mw$MKsPFbjd_Le!ziF-bd)?K~!SOt9QrpdO-k^A^jz-iGE& z&&5}tjphura2a{!t0ZIm)ya;w^ZcG|lWg>YGog@_b?gCsgFja(-tx)!Z)(Q~=5(GU zy0On@uKxyu?miQtCcc&mVEMhFb0nXx>d!d~3ykRixo2-6jCEGQP4{xa;$<=*fP;73 zTd&re(O$GcKTx~k=5oPS$~F7_@qlbM#9i^b0_i5SVXXDRU-<+iB3jhu1=*oaoM6*? z!mVSBC))jtdb?>g_jG4}1Z=%{D{i6R;Pjdeb69qgBs;?G=W}DdmLAdOWdrs*j%}FK zx-rthKvYSYrTeep(!u=x%prNkPAFXlNl{VQt1A|#7gBL*GST}$gP7e_{*HWsLT{u-oeg-GI$7d`f zzb*RgR!6RHE;A<sDk7K57!qHVTAhI!~!D@FHaX4p;h|P02sAl7uL=?xaBl3Y>hkrK1!@3o!4%Yb-8w^(niiHy3mGW|mD$e|2QNA}gs+-NT(KSgiL z6MhRIuSF>?&eKc7RC7ZAwSWpEPZg4H7jILIjkn2TM0;w6<%wn_a& z#gL@DQ$kh3X}oxL@E9aocjlf#MQk3Lg(||lP-E6`ToKqf(+o+2&Gh7?kYy4zA*Trx zd(@3l&y)RkGY^prQUAMS3kG5*G%U6s#Q^OAO3hvr?^u1HiWRW6Dp}+93_X=l) zFSDo;Ls^f2YUR{RvDKy|D<=LZkxQTLA_L!T%ip@Pu{sVWBFbmi?MPc;NE{Us5X#*#c9dX&J7rFUOhix`MxO;O{6&K-w``DU)~s^L+)ghW0#=hlu==>*qCPO16IyA5x`Z8m%Zrk&B_TB2&9 z<8R=*PIH*O{HsGpc5kPYXHkmgg#rOy%XAf#S5b5pdjcTtROgYyZbRPePiy>Vf5D1m zwB5P07ScTO^`3-v03lE)*MI-ju2J}&uLgn}UoE}yF-calhZVQ<0l{kACSszmR$};= zy!|l!K+l9LThp)2uU1I-wzHd>hd}7a5JC~nSQ8$yrY)j726M{1H`=YwA3pHPb!YL+ z|Jgyy_a)tZ@UV#wTYO`bDqWj4FcPOYK(NRj%- z;hou=`UqF8eRnoRH~NEE!b%lal6*CGm+)5XnuP6VYrGXh8J6lcV}-mq!7tk<9qBf) zJT>72&g|osq_~!J5y|atYu!n0tD!eGNx4!5COL^}DOox4f-oy96L&d;d*Jsj#eDD5 z%-=daE#;=`T>RBn*MG%yatd2yTn+cSZhE^7-tim%rkr^$V^nf`jO`8xc~2=%M~-{PNG^h)=dySniheMw<9)jNjrS6Wz~kB@NHFD2Yy%6CNn9%r!QrrJJw(M3LPM z4>T_0dk*#Y+ct6zu~RhxoFAzgr9knWVA{s}dXd-AU1j2wc6Bc9pItJoYl!Pl+FjOb z+AAqFm35Cjl~WIT&0FrirIN<&*It#NZMO3hdwjS-66_Gf>G(V5k# zKcSn|XzyvL-k*j8LiqClwE+O;h8~g^>-U6fR$%suHE~_{(wkR6;v>kc#?Vn`o$ZH2 z!M8{E@hqX%UBxAA2!BYR%lC>F59z-dQ-2E_=s9J9oG}%)?4^;-HP`u#|gO%xp?gcTKH;s=NuQ^M%HuC zZ$-O&6q-_UYbPU5Fdy=RBA2d9A>WENOlz1C1Y{h*&TPQ9+rr~GU*^p|?Ls>*S}j|* zl{LP<`dzIC||!Ktih{w!zpDkfgX0&jSns+Kw9j?MGYl16vxTApeN<9Y>L54dLPsaaH5`Y2;X}V7vp%dqyYebsmlVQ~MJPjUHZqw>7-{7VlY+2|h-|nX zSSJo<$R!X`awx;i!V2q8pX9K>>Gq?4Y9uJ9&GzDNP)+b6fN-tf+s7}L(5#83}czFL8u|*)H9AS47 z$#Bi>PLFof{X17%shwZn!0%Km)`#P;{xeNWzD?#7m%(_b|K$4h^;F|GVterKE3cFU zgMj3EmNjcTdz?POm9uS#vQzRx%<1+8CaRDw3(Ni09oRv^5c2MS%s1Nd=k%yaVKFR*N2zW;B|et(!(B~B4ZEV6H3%npC>Cg zSGtVmLl{8O?u9VsB0}HpWb`mhERnDzQr|uT`k%}xZqx(w?i?95!g)bRQD5XJ8y5x&fGgCSBEa*`L{nq5@BB-D3@Vkzuz zP~zOT@Bk&@V?amjMEpp~6;ppBl6)Q-Cm50XEzpI13oSRJns(R(QzrEMpkpRrF5Giu z|5wJ{&+HJ24flLN!|>DzbLl(Q z3oX4~%>Z891I)D887s1<%kvNjxl8~9gU{R-ERuD+o)*t&USX;TE% zrq|Gg6e8h5@53hDg+J3y)4amT5z2&_2!T=(>V&l~HG}ea>m2@h3$~4`Dc1qn$RF(L zvB#k{FUVV#`Z+zSHr6ZaJ?>GpA7AYf>B|5{P0H0B)!{*JxZedV%iySQ+0=j*x9tyt zj~>(%BY5X%-=?VnKQ4C{0zEZ&UP@rO>CQ8&gFbG$DwJE=Dut>WAiu#IIb|NZEPG4r z@ClN(by>-GH1bk;v|!lpiSHish(?v#KAjL|=9Tk2Mgbmb!Y{zQCs;hAxBmdH8>@nfpAXCviy#5V z{dR*T`Y(24g-O=XWeI<4lOoxVt#8h7-f4!i-)0{yYf}M`KyaDHfipJbEOH< z(alRsey+h#Q!NNRB^Ld?LY-!oLChm!?(f4~5x@yM(!AwUsKPySjym9^>HFq6RNJliHI09dDy{iy^#6rADzU4`#(_3;tnN z9r-(w+(sZ?sUEUYab8BGB9N1-&HJ+RJ2kAYtFYcF5=OfB=*IL%rUoOX;h__1me6)F z1({d7Nyx9NLgE`u_c;Ay(0I80K3;J13g(KiiYz`7ryJWlEJT&2lhJ0CU}YHDri*{i za!8VH1hWlftw2OcH-*+=3#k%b>zEneBk&nQfu0}Z9qx+~))ggz{X=qX#o@I&i>JFe zOXvu4mo7LFZdvlDoI?6KlRa&dN2r@-DoyJ)KU+PS;S8fw2|dk*4NOKb8Tjrdg8TnX z-4lD(k@4jQ#3C@bxOV7@PUnnTji(p!)|{PHSkL4_rL}O}bQ`ChtsV|TZP1yOd#Hok zJsx`x)A!7ZxLYiyQ)+@T$Va^uNo*Pk-10EE@#oF6LY&t=PJ6o)SX3HC5^2jKRp%GD ziX&H(g{#lZM7a$!XuN^NKSOr)ynt=p`he=VoXw|7l_5)z+UVWHn4AwbezuTmgCf$L z#bdiRQnhSz##_AG&c0d8#{WuCL+z#=a4S~x>{4@lH&WZ!*TR%?F`7@Tb-{}g<(9jN zIjGxR^^?M`4(Pym9Et9jMPI+hk!t!ZoS%-96N+x2EyT{^ZfT;8Z>3cLR7E+9SMEh( z3A{$F7Ep&&!saIG+IqBXV}2&|rJNV#k(~Kz5nmEH`ZifdEdf-#l7p(EPW1e1vW4>u z)Gm57G2bK9B_4v{HER5bVnieKKQE9R9vi9NNCT-fgoN}Lz8e?)p5ofxR?)lPR+B38 zB(yMRvuFfVv{OcOFe{nVhjN%*Dq^UUImlH)A8I2Tl@D3rDw3U_y49}gykzCFo}0z}}SN64Tn{0?!E zJ}+=kK1>KNdy*MN$iP{Am>3ligC{7kdsUQ&VWv8TLu^eqdy+auND+HovUAm%#KUjn z^M8zdO$vvEYu&dn08ffWl%Kp_W# z6~eb(A(zw~bmJARzuYr?JT;ZQf%kT)3ma@}n$6BeHAE-ajbziQVIG2TRmOlwX$mHqdRSaKz@ z@_A_!cG}T0@}l1{2a(F2l83l5^kk8ys%g>qqxfWwM&yby5K)QZENFz14TI7i4!3$z zv28mxro-hDgH@0N)f9bYBb((?S&M_l8o>i2gJsZt<%Y}F*_Uv7aplTnr|kLj`1z|k zGe6rNptu#lQI-ty*c6(jb!ekSDMV0}%3llr5{{4Hm%AXLoYArolQpV~msa-bB1N>s z{dIS3VdGV|)M+<0+|W)SWPM7|O%h9IpAff1d~y)pL6uZkPfo@v8bpEa-kfg<^fjwv zbs~IPKPorO_zAusGFaVrpkB`&0TJFkLccuR4AwFJwba1LY{jb0Z1J0@#6@?}7n(lbr;cyS+cFNKUF-CcQlaJ9dXX8t?;pV2;jirJmA5z4iIGw?{ z^qn!!s(ECMJMaNHdA^(ye3iV`5jMwm36L*1fhu+cE-fqy!-Ekv?dGRLt~{w(wPXxG z$41FzXIz`#H)vMX^&thFB~v!8$q;m1<9Q?RI}va9@kH}Nsq_8j!$n>H3JoN#j(!Xd_t%Gf3Feb^XpfA8RK8Z0!I+7lk`(njW%vat zm|5Zw76+PbA5h!z1QpIT;2kq6BL$;>6q7AN0`oS-3# z#-r$W!4)wSkI&rePFZfW=!qE^$ir@Z%sKxthK4gk!}&zi^?XX-5hZqT&q7E2Gxc6$ zRE<9xyh5dw!*I<6FHR67G}@FGG1ZUgJA3`NepY>ulqzSkczZIuv2hY96IXX4T(=!@ z6{;CIC57o`u+2EpqtFS*hdvHDHke&m3`yrrBt73V@y5QV{D9I)iwp?qe`b&knm4UOS2AMnqgO&V0F-)vqpz4=-Wm%Ti!5^-2 z@GMo|UGyAwk3)7TK*FNYdXu4LbcHcRZIIqn?(+apTH?Hjd0gkNnTtW|nCdD1ay4U$ zD`j)a|Vj}rO zBsOi~n@HhB$?>U26BBTTi~do^tK%_mZAZKe!C&`-WSE$lslg&tQ3c2=C0ohC4SDhm z`iY>(EX{~oHW?sFGHK6^dK}X6&lN{tXSpOTXLiIWxyd@o+mKHhJbbzcPNQ-dV6-VT z;`=8Jx>6T;8feX~kRs3Yx?N5%tUrh%`b%2W&E9MbZqIXD-?;FHUG0RWZ0M#5EOq^r z0cF>N97m)i$`>zr4Ic*qDqYxbf1VyM3vF#G$*NXh{G?z5B%mh%Kz5y*LlCC_(lu{P zbDDT_<_C*h)dq2k5Q3!8!++T2{%KV%6mEZ{hT-9k09L|FHx>YY{aIm7cQtH%Fi~#Uv8zL03Mqj*UMcyCy>#d?mMXd7@VL^u|TA zH1PP{7Rm&44i&=>)SmMHi}FA+PNF;hspjxOGbtFfF{KI_ZW$CL6x}F;b$EJ5Yn5cC zqhnJ66(^-HF$w`?zHzbSa{1Jz{@b;yryb1MpBir(T`gl%xY5xAD8;%rMiBGy1AZy( z_*z&75L254AsR7i1vf7Fp{RscQbmYIe85Y>QtMMl;)@yR_Ii(S)(Sy0X805mm`$~B z?{J`cm}M{MH=xLHlFi`43~SpK?ZLicfTnR~HZm05NJ*W#sx;zxXCsV}Mc)n$1vA!_ znd+G-61X~lN~)112({x0mGuL1H2spa0s}JrB8deqVY?uj;{b7!dy0QoBU=` z0s2+n^G6YE@YQuP5!a=SEMZ>S$!~)E$EpwRt<(7tZB)6sgPxuhK9&>2-u0UvN1{tH3CI>Qsb{7BfgN2k@dsrL79YvuDL2wvQ}-ObcDx_piqqZIlU%KlsjUr zRSeFp2PBJ~$pk*4XqdGFWo@vvwf40o8XB!>%Stx3d{`d&Z2^mQ6@B(%YB(S9TLlCA8~5}t2lw&XNer6}8zmKlhA*-_^w58M zV>q?4u^rn0^&Tb=QBB6BRs*kjl#}bLEfrn+lldAM^iOXrVf}GG?%oGiw4f3JO9x5C zIY~Uj5jXY~LH@v`uUGFOim76L-ML!c?9KHN z<&#>=tRcf&U=ZI1b`kQyEvBIF<2R#^CjyK}!0wq&9=#5>79 zM@#rv+9%e9>vRf8D31lg^(+I4m?pIbNsBh-3SKyw}EHU$m>a&OpIh_dd2u0 zikv0ZYd*)WRL2vc@WU-4NQ**J=$Bh)OSM{4h#!Cl;WP?nFq5~cH0;w=$)FIX;xp^+ zZM)b1n}#dT&(FOCqH@)!8#J6X<8_{7e2=(rjAVfD|X&p&|)s|Ok`g`ZIhSEL@PSmC@xhQrX#3?OzWOf=|DIO1jXY2BBPND`B@ zN!_MdT>?Gem*s>6B^dd93sjUGjR-;3N`PDl>e8b{URS~T^?#%Kj@k z98(p$5jD%?vv7G5$>a>lo*gn~KeMS1N(d4t|Gd4{Mi-Zx! zxOxuG>>?e$?7W@3_cAecI$*LHXuaya-yE(-ANU2uM(w#~9oP2= z{kj|My#BsiPuC3sfbagvCXJ#|EcOPRHQj&6EAJSr1bSaoIutEaSY904f59>ZWiS-& zz?qWDr*bh>oZ0Wf$3a961gmxCk`u$*=zJDHId(y>AX@{@svnBH@O*&8of{60){RUO)@e1sP595Rc%+;|F^xKr$HW)PNIm0lK5)3fWZiH zr)Uq6_H;V@`=O?GBvjrcyr`t?T)CDrM$9f($Qoc^(m4ZynC%{q(er}`K6ZHrFtW1& zD?}Ff+VVeM%m0#OeMAmCE%C>tHkxT*^0<&H9Gx->j4}!c3E&Hiik-Z+$xg>lOHPl3 z&jhP9#G`)~-PsLeZl|J4Ep19)_5M^t*Gtw?W(n;aAtwr69PWu>dL+l6FsU4TbN4u1 z-Ta>btO8U0;Z8eT`ExXjH>(H4HD$qv2R3I4&g>VI>Hz?|d(Y`Z^YPGu!CJu&G<#=r`oZlG;o!=KCwFm3| zFlk>TbpC)?NIl5zvo>B2(P4NGL~Dzzh{N^eZ8KV9zcyNH$pcGT+1IGuesfL?Of5Ti~oUf*}jMkOaPD5UY72tlHVlZWtJxKZ7TqK z_bKhfYx#kItq#)8AsRAN%!`^372({ej8~jjECccmGd;zIUsL3^$1A689x|Yl0p0Tk zbbG5;Y`lh>%6I(cGlWh1J&FS{l#D)Q^eLmy;YFW+!fEvZ!6z>#KKATJiRVvy825Dq zkSFb6C;@OMT0MWtv&Wvtv8QVM^zpaJrn;M4g<|9Hy4SBI{=S3Y;m6-JRVib$pW*i( z!9{pl{Qb*6{!g*_@yD)heuWQ7WvDGfZ5e9IP+NxDGSvPj2({s7cP(v}rgK_fe9VQk z58iWI_l~t+RTJOT zFq$vZb-uk=ZoP%CWo6n&$X6!E;BsDVW%U_4oFP{nPZxIJXw0RpCe z#{mNVES}F#BM?PeU_{J!DsX6dw8gzR1S>8HPzV~VxCSQ>w75ed zxIWzX^S*1nU*7pJzkTgJd*-b9aAvJD=c0*z@#4wj@$A9M+RDz-+}+yB)WO-t)ZNw2 z-P!38=9bo`c1~6vmhR53rlyYOU%y&gaX4AoyE!{O*>BxRotLk#ziO{~rb@%9!4cId zR+w!tZOUARuLUFeLz z*!>xq_qhb|T!a}9;Pz=ax5X@)zde_hgs4^C<=YllPpClt+(o7VCM;7X2W+78plXv~ z^jG1Ct(ChCBq62Ine615XaP`P+wbUyH&C1n^{mnECbjUQ~ySe6|^B z&q`tg7*!bh75BbEomAY$$x4x`lES`_daCv?2wO6OI} zFYoC=kCnPIY8aPdoQyzWanu$$C#?Vjqhwh2aV=}066)QslUbQuk500^DD)!&(%%vF z^Yv`LPZdEMlb4izUw=hqJd>ve#?Etpp7cA(+7s5?G1CxC-%N=61v>J@%$}tlXPuRF`WkA~-5ik)AS8UVta6TsEKww1 z(!1-(uwX?075t$=xxeE1bakl>kJ7H2rqaz^T2$)LtG=}~0fVvgD%Tn4EhbN9_4dSG z8jLuVg|*;IEw&WK_q>MCnNIS#^85!+pt**BUsj~zqNV)@j(k-!Jyze8ZS^vvbJU#d9Ai-{p+%+$hy zG@i4x<37MH%KJ7eC_bsfYPHo+fQep;9~BHm@`=LeN~`KGzG@7CL6+6#(&1ziZI!Z) z?kpQ&+^jVW4qusMmPs>sdtpJMCZ=Lk_LWf_Vd-?Ss)XVelaSe;^y(*Eg)Ud!H z;loDjj|kS_xc{0O#gvHJ#r*W&-MU4y=b&2izO|eU7<_G`!)iTrW*zdm*|puxJ=Y_| zB!qbP;vIQd2Biufz9NmOsFKHA{|$HI^6&oV=kWtY&cA9Z2mP@@J{_n+=2pb+!maLt40a$LQqmab5E&ig}8n0QdQS6OGlsnr-On?rLyCSSK zsgt~XF+Yg*NZ)|y=BxCB|4s7C(Ok)UwG#*`rsa7RWL-S@lhMek z*{)4C`+2?~)=g*oG0saS^Ne#NuXnF!6I(AU{(2=h90JlgLZ~u`_am?Swkry*@7Gw1 z=b-<5#VCw`@Vz{4{nwSlJt;vL-CPyC`WNqphb7OTaPYp*M@$6c;Gd|lZBY}s9OcPJ*N^)?PKXUm3Jth9Bel*DKj^5q7gU9ZF$ z32Q7p`XoLo`Chb!TolHVg#ifg{w5*rIAEeO`Yq}3R`G3z+_m{x1R99hSk1qzV@>eQ z$GsNa*FcKzlfnp%M;sMDZDpGI)U~=Ta!_?>r+uV+!hkszN{?mzGmH#Xl#l-*Gc%^d zRZVzrVl|K~)AbLkR1H2j+2>ytAYtSS!~JZ0>~RqT<^&1QM8gKlufBLvmklcE2fZbsh$ButCIg5jiLq#dNXQYQYz!ZY;F`C@$ z(bS}utj_*xCO77?qUx^kgvmJ)ucW<3q(eK#)M%=A_mV;pzpj4tfu=WXMrDHdj?uS5 zQ4h*N8QuY zZOyIG*vt$tuEk8Bj+Gn_4CNy&(`*KmPa$;PAqjn9veb#3&o7^lMOb9_(5e(6(v>%z zfr_H`2pSkRN1g#g%iEs4U5?3QAwunagM|!M9 zl;Z9olVPBq;9br-LoWl!f>+7|c+rxOPf^dy6CSpTjuM{`FL1^uE|MI>shPR(@K{IZ zI0`*qhOf7AQ=FkMi-aH&B1(x?jw0uvYNil*X{MU;b~SkoUy6_{Gc0Ajps0ZEEeQJ_ zL+q&Y-OpGQ`a|~yetLGnVB85pX}R}QXT~AAO_kvk33|>DVA+L#6N#ifwf?5#vPaOT@w+YOs#3kUvY1uMni?4_ci^Z;j80dM?J(8g zP!3})G}{rQcD-=%P!xE#d_A;fD*3PydUn!4*50Zebh|Q>CV788->^(68TfFv95jA^ zk5qfORCzetV;sFd&McC=xj%~cO3rK6(XTv~mm~3L3;wmXN&o(cj>Wk&7QliS)Rij3 z=VxI&>Ne~lZf(|(N_q-{mbNQk!ss^$3uQfS9` zf>f}Bwv+axgsyotryGKdF35t|Vwa!a3A71Rb_sS#!g}hQV>df;C&5Q7-n@mzq-pC{ z;%PJ{BTSM#!>+H>LtL0lb3C@g!|k51;(k8jn+p96e=9f)I$>;DCKB9k9?GDrewj!F z>#31^i9KQ3U|WO%ei~~!eHlF{5iqb{UsdQ;6q#y0^2&t+Yk1p4E3xtv$Z~TZsRKZ2 z5^bz^cq-->riK#&X{3V4ZxT+O1n@z%T(r63jOMDcQn4OZ!haHR*>%A9?@W za&F`dKVTj{4VhLChXBv%flmZm%#yjQvceTDV8`2gnp&Q!$N~D2N+s1reqkNeB+9XP zjxu;6!`-JTAo~>3pD)V4En4t!9Fmw3X$jKcl95I*%V`c(hd^U(dJT+!iXUzEFc;;4 z?0%c9G|x}Mx$N?)5C%RGyM(O8W2yxop+*jKD!B(8C5A75O2YqDp8M~ zGO|{nN9K+N9kQ>5K*2?D$T~^(O0_kS@nk^sL*jCl!LQ^~(=R4NuZ$c7cN%?5!V0Y3 z%Q4qy_}Ov+=jd43LHZ1fvck=^#B!!RYC?wRNw(2PaGZVc3NC)Ka>)=n6McKY=2K4H z!=vs9qM{SF?;995+9;)ARLCIV9T*qVjf14F+fp+sgtE6JQB_!Olongp#wQg7Ru+L^ zZnadgwP}M;wxiG@WzxWR^yf_k#ZYOK)|})FhSO-FMKw)ka=1tANhP1B^iuj2?xOrs-!Xz7WUFt9)s0^--6fwRny0 zTL#wH-gAB66IxCy#BB{c7m3Kt-rt%oRlrt0fq$}TpTF7$T{kD*<=FoeP|^e+(UtK` z%5|&B*t;5kL505hc=4|$V9us`>9RKNGFg0&-n89cVdP)#-MToqv2}PO2d5J>Klf4VmmuN{?0E? z=v~1|_It~Ehl1Sy&MnnAg@M9e>0EZTvPbc={k;X4*_|K9;$qYn2gkFk+S>rThO*;; z-&StXcXwGdhD5rD+Xd*Xe=Bz%p;%VCy6P7f;r-$N!l&#Qwpt0Gq7^9K{K~VKDFy@A ztw!J0c-i^CwCJouac?Di-mzB_c$P`avdh11kwuG(WoAA8$SBU9S$4Q@d!oUX7I)~8 zdBeTdzq4)r$`mJ&cl)VXO~LU!Iw)VT{p7;*d=1CqXP_Y%T+^a}uYB;UE|_yuf^uc? zmbZ>MyQYL;t7k0kuxBj(u!rlBT#x+y$lvjYYi@CeeIX^-IS{RXQ^exT9wQKo2!kM% zr4-G*$^o2G3~D`#*`p1zFbWpq-vz0~-V=D+C#uMsev$kd-sQFY+nq)%=supN?WGvc zTK5`G8gDhpuu6lbo0>HJ!UlSS?U--OWHZuB)bv%!^S#EorsA3hNrUYj9NIgxVj9@G zjM?s1@ja8e?Wxv*!gu?0m}o|PC5gZjc#!Pxj8034h_%1)jr6sEu)nIWbmphgBDBA- z-_YCuJ(z{opk&h1@;ETuUED@#pd#)y&%iLnNS<>Y!9D4a3Q`qO9Shxl+2D6@Y-sYMk#l@6Z4PUwBNf!Hb1q)`g+gG zRr~;1i8f6ZI!N7>%ac6RsG>P{+O~b45SD*JS4yIw_vysOVLZPd_#_tRx7R2w$Hp(r ze_3?l=#vV*=%uKv{mR1B&f}{Q%RMLRKRbXhhqU0a2yXl$^S5^r_@L?+fKNdnYbiVe z?FziX@)7kZSN+)bdaop`#MP#518dS@;tuy?>?ejNV@sChNCHEdUJsR!$Zo=4g+r0= zdRnIVeKNfIhnN^GNOljizgiLBTd-nrLI4_Er+4EKsjdz}nWh)1`y~%%FNXwA$kNhI zh|c>4a#+DRP;d^oXDi8E&7ttnc&}ALc+*=qnT`IK26EcQ+M0MTlXm}UU}BFm1atCf zAN0V8Z>-W_)w(&UvuGfVGZmPDka2!%>X%g1u8OB@s66cIV3RuwU>3-I<`rk0nxz&m z+J_pfo(`%)2!eNWGI2!h)ODa9qZQ%VmU_EOvy7f{u5P)rDTszkMcf3M;?8kZ}YF%vOAQyJ+%j&oWFc8%9R(CJq4^}$BrNHAvp5Wlt%G#&c?I(5DfWg(N)Zu z`CwNHV}kKBS9cG~Q->3^FyjI$o6ERlY&a9ZHoAF_w(LG0~1G zofPY$`RB6^brrM!N(*|m(WUNctmwTca+{FcM-Gi#BDK@cig_Jg#5b%-0dS;<`w~pC zWXomz1*2#L2v0dvlgzR?3LDFy`c%Ub-QP5hC>0A`P17lkLYt;}MOvp?GBDvpZRx7a;Q4KB7ry9jsA2_Wukpu%sQXP5RNi_{b+J>=>ME(*MR4-kLa>{BZj=D3cbt?bCF2B z!)bX9Y4{wpLKM(gp=Y?k{PBNsAVukl42dKN48-td&c}AgWYT8eKKJEax>AO?HE8n2 zR}bY*-s6uSLL)a3BPK=UYYhpY3T+#`&s$UG2`A&Ny6s2=>YoO-oC>5X6S4@Mm0*}(gEVcHkqLAG<+XC&`NjBNCo1&PTlHuDfY$Rx zK-LhP?wp2~G`vEbbCg(D%Vy%nf-h7-^fPdXyiD%OJNhbwEU7Mk$!s9-etnVg8(Bc@qJ)tx$^aT=21?RV0w_XfQL<|HsZARzUdSxxwxekc$;}s z%bI|HnU%2xO9*FM`A(BFsmgQsrD%juR+4?yY!G(5($sBwm_{gs!9OOv7uNYHiTCOH zM4Yvw=~OKJic=A5Tn#?J4qZ_DlA#Q7zB&+%oXI$8;)QP4Xog9w#2W%^SV@}1Xt}j3 zIqek+Ylh&?+r!Uxn$fl#^hGOjp!OsY$?=-MBKWF!TNX)t)sAo_^0|bOzN^r{t)bNC1td*ycH9N1dTkOOGc1O1BVs zt&d-Rhp8!7ss>_5oJOYH<_Ra=6p}1;vM2l#418yFBa>slAL~=YnR^>cER{C>uel$g zSw6GQY!@8&*Pl5`+1e^GSBdWj{<81N_Djl6pk$y_fsod-0jucSw)1?mKW<8s>ysa5 zIMsqtXZH?VG}yc!kx6NzM$}=NE~ui;^|?fO;uxFzpBDsI_k*f|{|-X+l094*MHReF zl1~|`brSmB1cXkYKV;`=F9yscfU4*xQg8BVGj_$|>iOUJNJqJxUJC&@;(&3M4zUHg zC)|5$+fDxKu2f(@ssgIM%6QAlRVI>F;WL+gJQwXIfjEoxH7DLSe9y~}Ytdz| zlb2q)Tj32`_bPutT~&5Rgfu9)GTbG?D2;9KgB9(I%;QZ5&`NN4d1VHky={C7gyysWK*tQE4CT8x1^o@NP95Vy1s9TNiEz2G} zz!u_dZrSKq@%r>v&J7z&d4%Vr)Vy4UONkXwTcx~YSXd#oWW*QE`l8j7|BRaaa?6-| zrqV-e4aLq(ipCE4`B8=Xd#Y)8gzV&?BX4YnvybCfi4JxILG_mtSG&>EmIetmB`awV zP4D55yuL2ZgLQ7oFC3Pku}cmch%)lUakEX%W}}h&wWc98MX#Hwu?-9@2q}7Fa~G(# zE@o746juqbvbK)kZu+Ghp;0USad6v1aw(ai4(JdiX6j4uD9v+u@ z_1eb;z|@^T4{9#UJwF`lRQC8Z63T2?d^Jx_q!Qufdh-eAU}D4GNY&RlIBz+c&@PNL zEo`6=Hxw_tmFa-VNPgFaxbm8p^97csb*sVKHFYfRMBz+))yQ!f>UMu#^KumdDq`w# z5Bxer`1P(i(gZ6z2vTe{95okAM1KN{An4y>SW z9w};XL%7MT`1Kdf_@7>^$vG32^yvSKD{~o7(u|l$?TXZxMN`BHicc?5sMZRC!9q*@ z+HQ~M8f{Ck5O?67Vb`%hp?%R;#guZad3j6Y+YbeT%haYB@{M8Pn+RYSYw9z4xbmkO zUHec9!#79hS37s#{J^0}aspkV{zO0?2ljnVmZ$v*%q3^N<-Zw162pF-*KmQQOYL4v zEOhGI$#d#$nk)0N^CMBpw*39EyDnIZjrk!wvfsXMyH3e8z9el*IAA zRC)b%l#Haw&ZNjFduWDw?X!ih6wG$QX-o>82hq#^A?$UtRW0C~>o`>oMjgaM8r1tF zfpd`LqWetOr2TPq=ybAq2v{{5)4h0l8q$Z`xTc=JXOlRKQmrQ1O`z^jKDDb_cqx0g zAkhbC74-g&q73$9cmR#K^Dyat>~~Ek)EN|B;8-s9gxeZ z|=V=OnPg9En} z&F}UznXBHeN+`Z|Kk7+u)%&@mWV&Kte3b8Hpt!G zpS&jQSFGSdYn^ngsRy57oX77E0&3P9Zd`}Xp5vIzqXlPf-W@uEmyNJKNXFWM;+bk6 z{_+HxHf#QZYS(x?bBu9=z1Ivl9PK?$;iFM(2g$b~z?uFhLk*e;ezW?lb1gSxRaqvO zIjR_wB$T_~3=~t7hv%GrVqTD_SF9NT_)5*c6>-2?Y>&O$UU{FYGQql0N4I=Bilzzb zvarP|@I(HP*O;gV2-I{>-~+CuM#|jc?aL~y5{a_{e2)eNhGpGgQDX)*+M1K5`=?~0 zNVw)I9}E(xp1A(H>9Q(csK{S;0CZKF@*y%={`#|kl7-DgIY92plexx1Z+*1(Lt34g zb_l?72*CWMI24B9Edu!_WV@EZVXVj!c@}zp*&)rM9*#4uL#jEqgVN;ytVYf2@+^DE z?zL)O+MJFKiCz0ZStpBN@7WH;MtuV4C$pp$tgh~Zd{gB5uJ}u^e$lTQ&1>}m#uVAM zE`W}2(ZnnW?eJA=x^5^wAguoOOLgDxO>IA=CRU;8C5x2am@EWfM<4ppT6UrA@ z5i-eoHM^mk5;A=tUB`42GjrupU2hs-ubmsGaJDluQ&Of>w5T8o>As3shb}JG&_9<= zk#u!<`L`}A*YI(52mn~OPSrISAD`%Zai+Enf_ir(NdKgau ztJGhor!47QyiN>ve?y%QKYsT>olH@F4bI3IBDT1Ib}t#9h+1)u+A5ufo6u%by+>Y5 zYDTdgub-c{zECR3e%1*Yh zq|P-2)Ry@VbZDOinD=*GdTyHR{FXmp$(P-czKL#bZpcnjal85kAE=6;;1mm(Bl1w=h{eH@#-qy+R>RyE7&4wDY}q z-{4yHGx|C_TD(@UTmEaU#9DnR51hzt%# z*y|L4rkgdI^3MljB;IUKujZN_CRK5eVd`ecwD{ET$yk34V+qw&52MwiA0EeR zV!jW4%}GtLuapSXziAMdw}9#xnx^ZQ6K$0ylx#eV%gG17wMQ->iQ^h+&X$_l|h@J7NU8(w{ZbDX6eJB)jMzU+z=5V6gXD%%oTHtBE zeYP?-f^L>+E%Dd~t6$3oDS5bEvz@AZkQ}Pd%WFOoiO(R<4YY;jXcEeu`mOlAGzI2N z(8M@zb>@>}vyPN~=hKK(UB=XBg!4>_qq`TLB~*PW+nqzFWm%YN#^Tj&uFKO}RuyaP zDs6@-?=M_h*0-87xw_cuRfrqPuL}R-Iodc+QKB%mJQBM(5S0kK$Y~aIy6@qSg7=nQ zUZ*imJnTli!*6Gj2U-%}UQUh{eY-P${>BqeXo3G%JNVCd+*5v^nQw!YPp6Ha+c#rR zdEwdaQ;a