# MauiPlatformService

- File ID: file:12lov7s:mauiplatformservice-cs
- Path: NexusReader.Infrastructure.Mobile/Services/MauiPlatformService.cs
- Role: service
- Layer: infrastructure

## Purpose

MAUI platform implementation of IPlatformService providing device context and haptic/vibration behaviors for the mobile app.

## Key Details

MAUI-specific service implementing IPlatformService; exposes device metadata mapping and uses MAUI HapticFeedback and Device APIs. Methods use try/catch to convert platform exceptions into FluentResults.

## Symbols

- MauiPlatformService: MAUI platform implementation of IPlatformService providing device context and haptic/vibration behaviors for the mobile app.
- VibrateSuccessAsync(): Performs a short double haptic click to indicate success and returns a FluentResults Result.
- VibrateErrorAsync(): Performs a long haptic press to indicate an error and returns a FluentResults Result.
- VibrateAsync(): Performs a single haptic click (parameter provided but not used) and returns a FluentResults Result.
- GetDeviceContext(): Reads MAUI Device and Display information, maps idiom and orientation to application types, and returns a DeviceContext wrapped in a FluentResults Result.
- MapDeviceType(): Maps MAUI DeviceIdiom values to the application's DeviceType enum.
- MapOrientation(): Maps MAUI DisplayOrientation values to the application's DisplayOrientation enum using a switch expression.

## Dependencies

- No resolved dependencies.

## Calls

- No resolved calls.

## Unresolved References

- dependency-target: NexusReader.Application.Abstractions/Services
- dependency-target: Microsoft.Maui.Devices (platform API)
- call-target: self
- call-target: self

## Coverage

- Symbols: 7
- Executable symbols: 6
- Executable symbols with control flow: 6
- Grounded edges: 7
- Unresolved references: 4
- Control-flow fragments: 6
- Unresolved jumps: 0
- Unsupported constructs: 0
- Control-flow coverage: 100%
- Required diagrams: 2
- Generated diagrams: 7

## Control Flow Fragments

- VibrateSuccessAsync: 11 nodes, 10 edges, 0 jumps, 0 unsupported constructs
- VibrateErrorAsync: 8 nodes, 7 edges, 0 jumps, 0 unsupported constructs
- VibrateAsync: 8 nodes, 7 edges, 0 jumps, 0 unsupported constructs
- GetDeviceContext: 16 nodes, 15 edges, 2 jumps, 0 unsupported constructs
- MapDeviceType: 28 nodes, 33 edges, 0 jumps, 0 unsupported constructs
- MapOrientation: 6 nodes, 5 edges, 0 jumps, 0 unsupported constructs

## Diagrams

### MauiPlatformService Neighborhood

```mermaid
flowchart LR
    class_tx0x5k_mauiplatformservice("MauiPlatformService")
    file_12lov7s_mauiplatformservice_cs("MauiPlatformService")
    method_18ccdu4_mapdevicetype[["MapDeviceType()"]]
    method_1ro58qu_vibrateerrorasync[["VibrateErrorAsync()"]]
    method_60f4ut_getdevicecontext[["GetDeviceContext()"]]
    method_jhc678_maporientation[["MapOrientation()"]]
    method_twu1zj_vibratesuccessasync[["VibrateSuccessAsync()"]]
    method_va46s8_vibrateasync[["VibrateAsync()"]]
```

### MauiPlatformService Execution Overview

```mermaid
flowchart TD
    class_tx0x5k_mauiplatformservice("MauiPlatformService")
    method_18ccdu4_mapdevicetype[["MapDeviceType()"]]
    method_1ro58qu_vibrateerrorasync[["VibrateErrorAsync()"]]
    method_60f4ut_getdevicecontext[["GetDeviceContext()"]]
    method_jhc678_maporientation[["MapOrientation()"]]
    method_twu1zj_vibratesuccessasync[["VibrateSuccessAsync()"]]
    method_va46s8_vibrateasync[["VibrateAsync()"]]
    unresolved_unresolved_31gcz4_call_target{"Unresolved: MapOrientation"}
    unresolved_unresolved_eh9ae0_call_target{"Unresolved: MapDeviceType"}
    class_tx0x5k_mauiplatformservice -->|contains| method_18ccdu4_mapdevicetype
    class_tx0x5k_mauiplatformservice -->|contains| method_1ro58qu_vibrateerrorasync
    class_tx0x5k_mauiplatformservice -->|contains| method_60f4ut_getdevicecontext
    class_tx0x5k_mauiplatformservice -->|contains| method_jhc678_maporientation
    class_tx0x5k_mauiplatformservice -->|contains| method_twu1zj_vibratesuccessasync
    class_tx0x5k_mauiplatformservice -->|contains| method_va46s8_vibrateasync
    method_60f4ut_getdevicecontext -->|unresolved call| unresolved_unresolved_31gcz4_call_target
    method_60f4ut_getdevicecontext -->|unresolved call| unresolved_unresolved_eh9ae0_call_target
```

### VibrateSuccessAsync() Control Flow

```mermaid
flowchart TD
    method_twu1zj_vibratesuccessasync__action_12_try_catch_12__linear("Wraps platform haptic calls and returns failure on exception")
    method_twu1zj_vibratesuccessasync__action_12_vibratesuccessasync_try_12_0__try("Begins protected execution")
    method_twu1zj_vibratesuccessasync__action_14_platform_call_14__linear("Haptic click (first)")
    method_twu1zj_vibratesuccessasync__action_15_async_wait_15__linear("Delay between haptic calls")
    method_twu1zj_vibratesuccessasync__action_15_vibratesuccessasync_await_15_1__await[["Waits for async work"]]
    method_twu1zj_vibratesuccessasync__action_16_platform_call_16__linear("Haptic click (second)")
    method_twu1zj_vibratesuccessasync__action_19_vibratesuccessasync_catch_19_3__catch("catch Exception ex")
    method_twu1zj_vibratesuccessasync__entry(["VibrateSuccessAsync entry"])
    method_twu1zj_vibratesuccessasync__action_17_return_17__return(["returns success"])
    method_twu1zj_vibratesuccessasync__action_17_vibratesuccessasync_return_17_2__return(["Returns result"])
    method_twu1zj_vibratesuccessasync__action_21_vibratesuccessasync_return_21_4__return(["Returns result"])
    method_twu1zj_vibratesuccessasync__action_12_try_catch_12__linear -->|next| method_twu1zj_vibratesuccessasync__action_12_vibratesuccessasync_try_12_0__try
    method_twu1zj_vibratesuccessasync__action_12_vibratesuccessasync_try_12_0__try -->|next| method_twu1zj_vibratesuccessasync__action_14_platform_call_14__linear
    method_twu1zj_vibratesuccessasync__action_14_platform_call_14__linear -->|next| method_twu1zj_vibratesuccessasync__action_15_vibratesuccessasync_await_15_1__await
    method_twu1zj_vibratesuccessasync__action_15_async_wait_15__linear -->|next| method_twu1zj_vibratesuccessasync__action_16_platform_call_16__linear
    method_twu1zj_vibratesuccessasync__action_15_vibratesuccessasync_await_15_1__await -->|next| method_twu1zj_vibratesuccessasync__action_15_async_wait_15__linear
    method_twu1zj_vibratesuccessasync__action_16_platform_call_16__linear -->|return| method_twu1zj_vibratesuccessasync__action_17_return_17__return
    method_twu1zj_vibratesuccessasync__action_17_return_17__return -->|return| method_twu1zj_vibratesuccessasync__action_17_vibratesuccessasync_return_17_2__return
    method_twu1zj_vibratesuccessasync__action_17_vibratesuccessasync_return_17_2__return -->|exception| method_twu1zj_vibratesuccessasync__action_19_vibratesuccessasync_catch_19_3__catch
    method_twu1zj_vibratesuccessasync__action_19_vibratesuccessasync_catch_19_3__catch -->|return| method_twu1zj_vibratesuccessasync__action_21_vibratesuccessasync_return_21_4__return
    method_twu1zj_vibratesuccessasync__entry -->|next| method_twu1zj_vibratesuccessasync__action_12_try_catch_12__linear
```

### VibrateErrorAsync() Control Flow

```mermaid
flowchart TD
    method_1ro58qu_vibrateerrorasync__action_27_try_catch_27__linear("Wraps platform haptic call and returns failure on exception")
    method_1ro58qu_vibrateerrorasync__action_27_vibrateerrorasync_try_27_0__try("Begins protected execution")
    method_1ro58qu_vibrateerrorasync__action_29_platform_call_29__linear("Haptic long press")
    method_1ro58qu_vibrateerrorasync__action_32_vibrateerrorasync_catch_32_2__catch("catch Exception ex")
    method_1ro58qu_vibrateerrorasync__entry(["VibrateErrorAsync entry"])
    method_1ro58qu_vibrateerrorasync__action_30_return_30__return(["returns success"])
    method_1ro58qu_vibrateerrorasync__action_30_vibrateerrorasync_return_30_1__return(["Returns result"])
    method_1ro58qu_vibrateerrorasync__action_34_vibrateerrorasync_return_34_3__return(["Returns result"])
    method_1ro58qu_vibrateerrorasync__action_27_try_catch_27__linear -->|next| method_1ro58qu_vibrateerrorasync__action_27_vibrateerrorasync_try_27_0__try
    method_1ro58qu_vibrateerrorasync__action_27_vibrateerrorasync_try_27_0__try -->|next| method_1ro58qu_vibrateerrorasync__action_29_platform_call_29__linear
    method_1ro58qu_vibrateerrorasync__action_29_platform_call_29__linear -->|return| method_1ro58qu_vibrateerrorasync__action_30_return_30__return
    method_1ro58qu_vibrateerrorasync__action_30_return_30__return -->|return| method_1ro58qu_vibrateerrorasync__action_30_vibrateerrorasync_return_30_1__return
    method_1ro58qu_vibrateerrorasync__action_30_vibrateerrorasync_return_30_1__return -->|exception| method_1ro58qu_vibrateerrorasync__action_32_vibrateerrorasync_catch_32_2__catch
    method_1ro58qu_vibrateerrorasync__action_32_vibrateerrorasync_catch_32_2__catch -->|return| method_1ro58qu_vibrateerrorasync__action_34_vibrateerrorasync_return_34_3__return
    method_1ro58qu_vibrateerrorasync__entry -->|next| method_1ro58qu_vibrateerrorasync__action_27_try_catch_27__linear
```

### VibrateAsync() Control Flow

```mermaid
flowchart TD
    method_va46s8_vibrateasync__action_40_try_catch_40__linear("Wraps platform haptic call and returns failure on exception")
    method_va46s8_vibrateasync__action_40_vibrateasync_try_40_0__try("Begins protected execution")
    method_va46s8_vibrateasync__action_42_platform_call_42__linear("Haptic click")
    method_va46s8_vibrateasync__action_45_vibrateasync_catch_45_2__catch("catch Exception ex")
    method_va46s8_vibrateasync__entry(["VibrateAsync entry"])
    method_va46s8_vibrateasync__action_43_return_43__return(["returns success"])
    method_va46s8_vibrateasync__action_43_vibrateasync_return_43_1__return(["Returns result"])
    method_va46s8_vibrateasync__action_47_vibrateasync_return_47_3__return(["Returns result"])
    method_va46s8_vibrateasync__action_40_try_catch_40__linear -->|next| method_va46s8_vibrateasync__action_40_vibrateasync_try_40_0__try
    method_va46s8_vibrateasync__action_40_vibrateasync_try_40_0__try -->|next| method_va46s8_vibrateasync__action_42_platform_call_42__linear
    method_va46s8_vibrateasync__action_42_platform_call_42__linear -->|return| method_va46s8_vibrateasync__action_43_return_43__return
    method_va46s8_vibrateasync__action_43_return_43__return -->|return| method_va46s8_vibrateasync__action_43_vibrateasync_return_43_1__return
    method_va46s8_vibrateasync__action_43_vibrateasync_return_43_1__return -->|exception| method_va46s8_vibrateasync__action_45_vibrateasync_catch_45_2__catch
    method_va46s8_vibrateasync__action_45_vibrateasync_catch_45_2__catch -->|return| method_va46s8_vibrateasync__action_47_vibrateasync_return_47_3__return
    method_va46s8_vibrateasync__entry -->|next| method_va46s8_vibrateasync__action_40_try_catch_40__linear
```

### GetDeviceContext() Control Flow

```mermaid
flowchart TD
    method_60f4ut_getdevicecontext__call_61_MapDeviceType[["MapDeviceType"]]
    method_60f4ut_getdevicecontext__call_62_MapOrientation[["MapOrientation"]]
    method_60f4ut_getdevicecontext__action_53_getdevicecontext_try_53_0__try("Begins protected execution")
    method_60f4ut_getdevicecontext__action_53_try_catch_53__linear("Wraps device reads and mapping and returns failure on exception")
    method_60f4ut_getdevicecontext__action_55_platform_call_55__linear("Read device info")
    method_60f4ut_getdevicecontext__action_56_platform_call_56__linear("Read display info")
    method_60f4ut_getdevicecontext__action_58_construct_58__linear("Construct DeviceContext DTO")
    method_60f4ut_getdevicecontext__action_61_getdevicecontext_mapping_61_2__linear("Maps data or transforms shape")
    method_60f4ut_getdevicecontext__action_61_mapping_61__linear("Map idiom to application DeviceType")
    method_60f4ut_getdevicecontext__action_62_getdevicecontext_mapping_62_3__linear("Maps data or transforms shape")
    method_60f4ut_getdevicecontext__action_62_mapping_62__linear("Map display orientation to application DisplayOrientation")
    method_60f4ut_getdevicecontext__action_65_getdevicecontext_catch_65_4__catch("catch Exception ex")
    method_60f4ut_getdevicecontext__entry(["GetDeviceContext entry"])
    method_60f4ut_getdevicecontext__action_58_getdevicecontext_return_58_1__return(["Returns result"])
    method_60f4ut_getdevicecontext__action_58_return_58__return(["returns success with DeviceContext"])
    method_60f4ut_getdevicecontext__action_67_getdevicecontext_return_67_5__return(["Returns result"])
    method_60f4ut_getdevicecontext__action_53_getdevicecontext_try_53_0__try -->|next| method_60f4ut_getdevicecontext__action_55_platform_call_55__linear
    method_60f4ut_getdevicecontext__action_53_try_catch_53__linear -->|next| method_60f4ut_getdevicecontext__action_53_getdevicecontext_try_53_0__try
    method_60f4ut_getdevicecontext__action_55_platform_call_55__linear -->|next| method_60f4ut_getdevicecontext__action_56_platform_call_56__linear
    method_60f4ut_getdevicecontext__action_56_platform_call_56__linear -->|return| method_60f4ut_getdevicecontext__action_58_return_58__return
    method_60f4ut_getdevicecontext__action_58_construct_58__linear -->|next| method_60f4ut_getdevicecontext__action_61_getdevicecontext_mapping_61_2__linear
    method_60f4ut_getdevicecontext__action_58_getdevicecontext_return_58_1__return -->|next| method_60f4ut_getdevicecontext__action_58_construct_58__linear
    method_60f4ut_getdevicecontext__action_58_return_58__return -->|return| method_60f4ut_getdevicecontext__action_58_getdevicecontext_return_58_1__return
    method_60f4ut_getdevicecontext__action_61_getdevicecontext_mapping_61_2__linear -->|next| method_60f4ut_getdevicecontext__action_61_mapping_61__linear
    method_60f4ut_getdevicecontext__action_61_mapping_61__linear -->|device.Idiom| method_60f4ut_getdevicecontext__call_61_MapDeviceType
    method_60f4ut_getdevicecontext__action_62_getdevicecontext_mapping_62_3__linear -->|next| method_60f4ut_getdevicecontext__action_62_mapping_62__linear
    method_60f4ut_getdevicecontext__action_62_mapping_62__linear -->|display.Orientation| method_60f4ut_getdevicecontext__call_62_MapOrientation
    method_60f4ut_getdevicecontext__action_65_getdevicecontext_catch_65_4__catch -->|return| method_60f4ut_getdevicecontext__action_67_getdevicecontext_return_67_5__return
    method_60f4ut_getdevicecontext__call_61_MapDeviceType -->|next| method_60f4ut_getdevicecontext__action_62_getdevicecontext_mapping_62_3__linear
    method_60f4ut_getdevicecontext__call_62_MapOrientation -->|exception| method_60f4ut_getdevicecontext__action_65_getdevicecontext_catch_65_4__catch
    method_60f4ut_getdevicecontext__entry -->|next| method_60f4ut_getdevicecontext__action_53_try_catch_53__linear
```

### MapDeviceType() Control Flow

_Warnings: diagram method_18ccdu4_mapdevicetype__fragment_diagram exceeds preferred complexity thresholds (28 nodes, 33 edges)._

```mermaid
---
config:
  flowchart:
    defaultRenderer: "elk"
---
flowchart TD
    method_18ccdu4_mapdevicetype__action_71_mapdevicetype_mapping_71_0__linear("Maps data or transforms shape")
    method_18ccdu4_mapdevicetype__action_73_branch_73__condition{"idiom == DeviceIdiom.Phone"}
    method_18ccdu4_mapdevicetype__action_73_branch_73__false("continue")
    method_18ccdu4_mapdevicetype__action_73_branch_73__merge("merge")
    method_18ccdu4_mapdevicetype__action_73_branch_73__true("Phone")
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__condition{"idiom == DeviceIdiom.Phone"}
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__false("continue")
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__merge("merge")
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__true("exit")
    method_18ccdu4_mapdevicetype__action_74_branch_74__condition{"idiom == DeviceIdiom.Tablet"}
    method_18ccdu4_mapdevicetype__action_74_branch_74__false("continue")
    method_18ccdu4_mapdevicetype__action_74_branch_74__merge("merge")
    method_18ccdu4_mapdevicetype__action_74_branch_74__true("Tablet")
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__condition{"idiom == DeviceIdiom.Tablet"}
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__false("continue")
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__merge("merge")
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__true("exit")
    method_18ccdu4_mapdevicetype__action_75_branch_75__condition{"idiom == DeviceIdiom.Desktop"}
    method_18ccdu4_mapdevicetype__action_75_branch_75__false("continue")
    method_18ccdu4_mapdevicetype__action_75_branch_75__merge("merge")
    method_18ccdu4_mapdevicetype__action_75_branch_75__true("Desktop")
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__condition{"idiom == DeviceIdiom.Desktop"}
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__false("continue")
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__merge("merge")
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__true("exit")
    method_18ccdu4_mapdevicetype__entry(["MapDeviceType entry"])
    method_18ccdu4_mapdevicetype__action_76_mapdevicetype_return_76_4__return(["Returns result"])
    method_18ccdu4_mapdevicetype__action_76_return_76__return(["default Unknown"])
    method_18ccdu4_mapdevicetype__action_71_mapdevicetype_mapping_71_0__linear -->|next| method_18ccdu4_mapdevicetype__action_73_branch_73__condition
    method_18ccdu4_mapdevicetype__action_73_branch_73__condition -->|continue| method_18ccdu4_mapdevicetype__action_73_branch_73__false
    method_18ccdu4_mapdevicetype__action_73_branch_73__condition -->|Phone| method_18ccdu4_mapdevicetype__action_73_branch_73__true
    method_18ccdu4_mapdevicetype__action_73_branch_73__false -->|next| method_18ccdu4_mapdevicetype__action_73_branch_73__merge
    method_18ccdu4_mapdevicetype__action_73_branch_73__merge -->|next| method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__condition
    method_18ccdu4_mapdevicetype__action_73_branch_73__true -->|next| method_18ccdu4_mapdevicetype__action_73_branch_73__merge
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__condition -->|continue| method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__false
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__condition -->|exit| method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__true
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__false -->|next| method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__merge
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__merge -->|next| method_18ccdu4_mapdevicetype__action_74_branch_74__condition
    method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__true -->|next| method_18ccdu4_mapdevicetype__action_73_mapdevicetype_guard_clause_73_1__merge
    method_18ccdu4_mapdevicetype__action_74_branch_74__condition -->|continue| method_18ccdu4_mapdevicetype__action_74_branch_74__false
    method_18ccdu4_mapdevicetype__action_74_branch_74__condition -->|Tablet| method_18ccdu4_mapdevicetype__action_74_branch_74__true
    method_18ccdu4_mapdevicetype__action_74_branch_74__false -->|next| method_18ccdu4_mapdevicetype__action_74_branch_74__merge
    method_18ccdu4_mapdevicetype__action_74_branch_74__merge -->|next| method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__condition
    method_18ccdu4_mapdevicetype__action_74_branch_74__true -->|next| method_18ccdu4_mapdevicetype__action_74_branch_74__merge
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__condition -->|continue| method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__false
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__condition -->|exit| method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__true
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__false -->|next| method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__merge
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__merge -->|next| method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__condition
    method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__true -->|next| method_18ccdu4_mapdevicetype__action_74_mapdevicetype_guard_clause_74_2__merge
    method_18ccdu4_mapdevicetype__action_75_branch_75__condition -->|continue| method_18ccdu4_mapdevicetype__action_75_branch_75__false
    method_18ccdu4_mapdevicetype__action_75_branch_75__condition -->|Desktop| method_18ccdu4_mapdevicetype__action_75_branch_75__true
    method_18ccdu4_mapdevicetype__action_75_branch_75__false -->|next| method_18ccdu4_mapdevicetype__action_75_branch_75__merge
    method_18ccdu4_mapdevicetype__action_75_branch_75__merge -->|return| method_18ccdu4_mapdevicetype__action_76_mapdevicetype_return_76_4__return
    method_18ccdu4_mapdevicetype__action_75_branch_75__true -->|next| method_18ccdu4_mapdevicetype__action_75_branch_75__merge
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__condition -->|continue| method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__false
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__condition -->|exit| method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__true
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__false -->|next| method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__merge
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__merge -->|next| method_18ccdu4_mapdevicetype__action_75_branch_75__condition
    method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__true -->|next| method_18ccdu4_mapdevicetype__action_75_mapdevicetype_guard_clause_75_3__merge
    method_18ccdu4_mapdevicetype__action_76_mapdevicetype_return_76_4__return -->|return| method_18ccdu4_mapdevicetype__action_76_return_76__return
    method_18ccdu4_mapdevicetype__entry -->|next| method_18ccdu4_mapdevicetype__action_71_mapdevicetype_mapping_71_0__linear
```

## Diagram Validation

- Status: warn
- Warning: control-flow: diagram method_18ccdu4_mapdevicetype__fragment_diagram exceeds preferred complexity thresholds (28 nodes, 33 edges).
