Redirect 301 redirect from GET @training_exercise_detail_videos (64bb3a)

Components

17 Twig Components
104 Render Count
150 ms Render Time
72.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
69 2.65ms
training:exercise:config-render
"App\Twig\Components\Training\Exercise\ExerciseConfigRender"
components/training/exercise/config-render.html.twig
6 27.12ms
media:image
"App\Twig\Components\Media\Image"
components/media/image.html.twig
4 1.49ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.39ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
3 0.52ms
training:workout:render
"App\Twig\Components\Training\Workout\WorkoutRender"
components/training/workout/config-render.html.twig
3 47.48ms
training:workout:block-render
[Anonymous]
components/training/workout/block-render.html.twig
3 30.83ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.49ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
2 0.43ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 2.37ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 49.13ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.81ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.49ms
training:program:render
"App\Twig\Components\Training\Program\ProgramRender"
components/training/program/render.html.twig
1 98.12ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
1 0.65ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.36ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.29ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 66.5 MiB 49.13 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#3997
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#1826 …}
  -em: Doctrine\ORM\EntityManager {#550 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#2632 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1817 …}
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.43 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#4044
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#4055
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
62.5 MiB 1.14 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#4106
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#4121
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#4172
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "search"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4200
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4216
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4240
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4264
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4288
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "discipline "
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4312
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4336
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4360
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#4384
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 62.5 MiB 0.05 ms
Input props
[
  "name" => "chevron-down"
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Attributes
[
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Component
App\Twig\Components\Media\Icon {#5454
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
62.5 MiB 0.14 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#5490
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 66.5 MiB 8.81 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#5567
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#5568 …}
  -formFactory: Symfony\Component\Form\FormFactory {#5566 …}
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.05 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Component
App\Twig\Components\Media\Icon {#5719
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Attributes
[
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#5754
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "block dark:hidden h-[80px] w-[300px]"
]
Attributes
[
  "class" => "block dark:hidden h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#5784
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "google"
  "class" => "h-[24px] w-[20px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px]"
]
Component
App\Twig\Components\Media\Icon {#5816
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "apple"
  "class" => "h-[24px] w-[20px] fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px] fill-white"
]
Component
App\Twig\Components\Media\Icon {#5835
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-[80px] w-[300px]"
]
Attributes
[
  "class" => "h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#5945
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-white w-[20px] h-[20px]"
]
Attributes
[
  "class" => "fill-white w-[20px] h-[20px]"
]
Component
App\Twig\Components\Media\Icon {#5979
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5995
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6019
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6043
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6067
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "discipline"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6091
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6115
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6139
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6163
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6187
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6211
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 66.5 MiB 0.45 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#6256
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Component
App\Twig\Components\Media\Icon {#6246
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-16 w-full"
]
Attributes
[
  "class" => "h-16 w-full"
]
Component
App\Twig\Components\Media\Icon {#5887
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 66.5 MiB 0.49 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3287
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.programs"
        "url" => "/fr/programmes-fitness"
      ]
      [
        "label" => "Programme prise de muscle débutant avec haltères et élastiques"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#6344
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.programs"
      "url" => "/fr/programmes-fitness"
    ]
    [
      "label" => "Programme prise de muscle débutant avec haltères et élastiques"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3287
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.programs"
        "url" => "/fr/programmes-fitness"
      ]
      [
        "label" => "Programme prise de muscle débutant avec haltères et élastiques"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-right"
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Attributes
[
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6374
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-right"
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Attributes
[
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6396
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
training:program:render App\Twig\Components\Training\Program\ProgramRender 72.5 MiB 98.12 ms
Input props
[
  "program" => App\Entity\Training\ProgramTemplate {#2896
    #id: 161
    #token: "6861658cc9e19"
    -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
    #createdBy: App\Entity\User {#2930 …}
    -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
    -durationWeeks: 8
    #createdAt: DateTimeImmutable @1751213453 {#2890
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751215333 {#2891
      date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
    }
    -archived: false
    -viewCounter: 0
    -source: "openai"
    -sourceModel: "chatgpt-4o"
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#3057 …}
    -free: true
    -pinned: false
    -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
    #translations: Doctrine\ORM\PersistentCollection {#3176 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#2894
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  "limited" => true
]
Attributes
[]
Component
App\Twig\Components\Training\Program\ProgramRender {#6426
  +program: App\Entity\Training\ProgramTemplate {#2896
    #id: 161
    #token: "6861658cc9e19"
    -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
    #createdBy: App\Entity\User {#2930 …}
    -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
    -durationWeeks: 8
    #createdAt: DateTimeImmutable @1751213453 {#2890
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751215333 {#2891
      date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
    }
    -archived: false
    -viewCounter: 0
    -source: "openai"
    -sourceModel: "chatgpt-4o"
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#3057 …}
    -free: true
    -pinned: false
    -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
    #translations: Doctrine\ORM\PersistentCollection {#3176 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#2894
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  +limited: true
}
ad:banner App\Twig\Components\Ad\AdBanner 66.5 MiB 0.43 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#6489
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
media:image App\Twig\Components\Media\Image 66.5 MiB 0.98 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#3424
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3476 …}
    #file: Vich\UploaderBundle\Entity\File {#3428 …}
    #credits: Doctrine\ORM\PersistentCollection {#3419 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 2579
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3336 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1751214466 {#3435
      date: 2025-06-29 18:27:46.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#3326
      date: 2026-04-27 13:42:16.816835 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  "alt" => "Programme prise de muscle débutant avec haltères et élastiques"
  "class" => "w-full h-auto object-cover rounded-lg overflow-hidden shadow-sm aspect-video"
  "smWidth" => 360
  "smHeight" => 203
  "lgWidth" => 600
  "lgHeight" => 338
]
Attributes
[
  "class" => "w-full h-auto object-cover rounded-lg overflow-hidden shadow-sm aspect-video"
]
Component
App\Twig\Components\Media\Image {#6528
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1811 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Programme prise de muscle débutant avec haltères et élastiques"
  +pictureClass: null
  +smWidth: 360
  +smHeight: 203
  +lgWidth: 600
  +lgHeight: 338
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: App\Entity\Media\MediaImage {#3424
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3476 …}
    #file: Vich\UploaderBundle\Entity\File {#3428 …}
    #credits: Doctrine\ORM\PersistentCollection {#3419 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 2579
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3336 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1751214466 {#3435
      date: 2025-06-29 18:27:46.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#3326
      date: 2026-04-27 13:42:16.816835 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1817 …}
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 66.5 MiB 0.65 ms
Input props
[
  "class" => "prose max-w-none prose-sm sm:prose lg:prose-base my-6"
  "data" => [
    "time" => 1751215332751
    "blocks" => [
      [
        "id" => "x8-eJfRBZ_"
        "type" => "paragraph"
        "data" => [
          "text" => "Ce programme est spécialement conçu pour les <b>hommes débutants</b> qui veulent transformer leur corps de façon rapide, efficace et sécurisée."
        ]
      ]
      [
        "id" => "Tp6FMm-Jbd"
        "type" => "paragraph"
        "data" => [
          "text" => "✅ <b>Ce que tu obtiens :</b><b></b>"
        ]
      ]
      [
        "id" => "kwzRdx68lB"
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "meta" => []
          "items" => [
            [
              "content" => "Un <b>plan complet sur 8 semaines</b>, clair et prêt à suivre\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>3 séances par semaine de 45 minutes</b>, faciles à intégrer à ton emploi du temps\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Des exercices sélectionnés avec précision, utilisant seulement <b>haltères, banc et élastiques</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Une progression structurée pour <b>gagner en volume musculaire chaque semaine</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Un travail complet pour <b>renforcer ta posture et protéger tes articulations</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "La garantie de <b>t’entraîner correctement, sans te blesser</b>\n"
              "meta" => []
              "items" => []
            ]
          ]
        ]
      ]
      [
        "id" => "i-_-QiVWJn"
        "type" => "paragraph"
        "data" => [
          "text" => "💪 <b>Les bénéfices pour toi :</b><b></b>"
        ]
      ]
      [
        "id" => "VHu3ED5BZu"
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "meta" => []
          "items" => [
            [
              "content" => "<b>Prendre du muscle rapidement</b> et efficacement\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Te sentir plus fort</b> physiquement et mentalement\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Améliorer ta silhouette</b> et développer un corps plus ferme et athlétique\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Gagner en confiance</b> grâce à des progrès visibles chaque semaine\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Transformer ton corps durablement</b>, sans mouvements compliqués ni matériel coûteux\n"
              "meta" => []
              "items" => []
            ]
          ]
        ]
      ]
      [
        "id" => "U-_v1gUozB"
        "type" => "paragraph"
        "data" => [
          "text" => "🔑 <b>Transforme-toi dès aujourd’hui.</b><b></b>"
        ]
      ]
      [
        "id" => "HQOLch1886"
        "type" => "paragraph"
        "data" => [
          "text" => "Avec ce programme, tu as tout ce qu’il te faut pour <b>passer d’un corps débutant à un physique plus musclé, plus puissant et plus confiant</b> en seulement 8 semaines."
        ]
      ]
    ]
    "version" => "2.31.0-rc.7"
  ]
  "withAds" => false
]
Attributes
[
  "class" => "prose max-w-none prose-sm sm:prose lg:prose-base my-6"
]
Component
App\Twig\Components\Ui\Editor\EditorRender {#6566
  +title: null
  +data: [
    "time" => 1751215332751
    "blocks" => [
      [
        "id" => "x8-eJfRBZ_"
        "type" => "paragraph"
        "data" => [
          "text" => "Ce programme est spécialement conçu pour les <b>hommes débutants</b> qui veulent transformer leur corps de façon rapide, efficace et sécurisée."
        ]
      ]
      [
        "id" => "Tp6FMm-Jbd"
        "type" => "paragraph"
        "data" => [
          "text" => "✅ <b>Ce que tu obtiens :</b><b></b>"
        ]
      ]
      [
        "id" => "kwzRdx68lB"
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "meta" => []
          "items" => [
            [
              "content" => "Un <b>plan complet sur 8 semaines</b>, clair et prêt à suivre\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>3 séances par semaine de 45 minutes</b>, faciles à intégrer à ton emploi du temps\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Des exercices sélectionnés avec précision, utilisant seulement <b>haltères, banc et élastiques</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Une progression structurée pour <b>gagner en volume musculaire chaque semaine</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "Un travail complet pour <b>renforcer ta posture et protéger tes articulations</b><b></b>\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "La garantie de <b>t’entraîner correctement, sans te blesser</b>\n"
              "meta" => []
              "items" => []
            ]
          ]
        ]
      ]
      [
        "id" => "i-_-QiVWJn"
        "type" => "paragraph"
        "data" => [
          "text" => "💪 <b>Les bénéfices pour toi :</b><b></b>"
        ]
      ]
      [
        "id" => "VHu3ED5BZu"
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "meta" => []
          "items" => [
            [
              "content" => "<b>Prendre du muscle rapidement</b> et efficacement\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Te sentir plus fort</b> physiquement et mentalement\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Améliorer ta silhouette</b> et développer un corps plus ferme et athlétique\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Gagner en confiance</b> grâce à des progrès visibles chaque semaine\n"
              "meta" => []
              "items" => []
            ]
            [
              "content" => "<b>Transformer ton corps durablement</b>, sans mouvements compliqués ni matériel coûteux\n"
              "meta" => []
              "items" => []
            ]
          ]
        ]
      ]
      [
        "id" => "U-_v1gUozB"
        "type" => "paragraph"
        "data" => [
          "text" => "🔑 <b>Transforme-toi dès aujourd’hui.</b><b></b>"
        ]
      ]
      [
        "id" => "HQOLch1886"
        "type" => "paragraph"
        "data" => [
          "text" => "Avec ce programme, tu as tout ce qu’il te faut pour <b>passer d’un corps débutant à un physique plus musclé, plus puissant et plus confiant</b> en seulement 8 semaines."
        ]
      ]
    ]
    "version" => "2.31.0-rc.7"
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: false
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "http://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 68.5 MiB 0.38 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8236
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
app:page-sharer App\Twig\Components\App\PageSharer 68.5 MiB 1.48 ms
Input props
[
  "class" => "my-4"
]
Attributes
[
  "class" => "my-4"
]
Component
App\Twig\Components\App\PageSharer {#8261
  +shareUrl: "http://test.fitmetrics.ch/fr/programmes-fitness/6861658cc9e19-programme-prise-de-muscle-debutant-avec-halteres-et-elastiques"
  +title: "Programme prise de muscle débutant avec haltères et élastiques - Programmes - FitMetrics"
  +description: "Commence dès aujourd’hui et développe ta masse musculaire avec un plan simple, efficace et parfaitement adapté aux débutants. Plus besoin de salle de sport : optimise chaque séance grâce à tes haltères et élastiques pour transformer ton physique progressivement et en toute sécurité."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.05 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#8289
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "reddit"
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8317
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8342
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8365
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8388
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8411
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8434
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8457
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
training:workout:render App\Twig\Components\Training\Workout\WorkoutRender 70.5 MiB 19.21 ms
Input props
[
  "workout" => App\Entity\Training\WorkoutTemplate {#6777
    #id: 348
    #token: "6861658cc9f8c"
    -day: "monday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
    #createdAt: DateTimeImmutable @1751213453 {#6770
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6767
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6868 …}
    #translations: Doctrine\ORM\PersistentCollection {#6936 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6769
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  "index" => 1
  "isEmbed" => true
  "limited" => true
]
Attributes
[]
Component
App\Twig\Components\Training\Workout\WorkoutRender {#8542
  +workout: App\Entity\Training\WorkoutTemplate {#6777
    #id: 348
    #token: "6861658cc9f8c"
    -day: "monday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
    #createdAt: DateTimeImmutable @1751213453 {#6770
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6767
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6868 …}
    #translations: Doctrine\ORM\PersistentCollection {#6936 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6769
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  +limited: true
  +isEmbed: true
  +isDetail: false
  +index: 1
}
training:workout:block-render
[Anonymous]
70.5 MiB 12.46 ms
Input props
[
  "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#6973
    -section: "warmup"
    -type: "circuit"
    -metadata: [
      "rounds" => 1
      "rest_between_rounds" => 0
      "rest_after_block" => 30
    ]
    -workout: App\Entity\Training\WorkoutTemplate {#6777
      #id: 348
      #token: "6861658cc9f8c"
      -day: "monday"
      -program: App\Entity\Training\ProgramTemplate {#2896
        #id: 161
        #token: "6861658cc9e19"
        -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
        #createdBy: App\Entity\User {#2930 …}
        -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
        -durationWeeks: 8
        #createdAt: DateTimeImmutable @1751213453 {#2890
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751215333 {#2891
          date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
        }
        -archived: false
        -viewCounter: 0
        -source: "openai"
        -sourceModel: "chatgpt-4o"
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#3057 …}
        -free: true
        -pinned: false
        -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
        #translations: Doctrine\ORM\PersistentCollection {#3176 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#2894
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
      #createdAt: DateTimeImmutable @1751213453 {#6770
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6767
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -viewCounter: 0
      -source: null
      -sourceModel: null
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#6868 …}
      #translations: Doctrine\ORM\PersistentCollection {#6936 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#6769
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
    #id: 244
    #createdAt: DateTimeImmutable @1751213453 {#6968
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6965
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  "limited" => true
]
Attributes
[
  "workoutBlock" => "warmup: circuit (2 exercises)"
  "limited" => true
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#8582
  -props: [
    "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#6973
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6777
        #id: 348
        #token: "6861658cc9f8c"
        -day: "monday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
        #createdAt: DateTimeImmutable @1751213453 {#6770
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6767
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6868 …}
        #translations: Doctrine\ORM\PersistentCollection {#6936 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6769
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
      #id: 244
      #createdAt: DateTimeImmutable @1751213453 {#6968
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6965
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    "limited" => true
  ]
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 70.5 MiB 6.66 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#6997
    -exercise: App\Entity\Training\Exercise {#7007 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#6973
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6777
        #id: 348
        #token: "6861658cc9f8c"
        -day: "monday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
        #createdAt: DateTimeImmutable @1751213453 {#6770
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6767
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6868 …}
        #translations: Doctrine\ORM\PersistentCollection {#6936 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6769
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
      #id: 244
      #createdAt: DateTimeImmutable @1751213453 {#6968
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6965
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7061 …}
    #id: 1496
    #translations: Doctrine\ORM\PersistentCollection {#7095 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#6992
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6989
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#8702
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#6997
    -exercise: App\Entity\Training\Exercise {#7007 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#6973
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6777
        #id: 348
        #token: "6861658cc9f8c"
        -day: "monday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
        #createdAt: DateTimeImmutable @1751213453 {#6770
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6767
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6868 …}
        #translations: Doctrine\ORM\PersistentCollection {#6936 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6769
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
      #id: 244
      #createdAt: DateTimeImmutable @1751213453 {#6968
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6965
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7061 …}
    #id: 1496
    #translations: Doctrine\ORM\PersistentCollection {#7095 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#6992
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6989
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
media:image App\Twig\Components\Media\Image 70.5 MiB 0.17 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#8792
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#8803 …}
    #file: Vich\UploaderBundle\Entity\File {#8811 …}
    #credits: Doctrine\ORM\PersistentCollection {#8812 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 2810
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#8806 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1759069741 {#8764
      date: 2025-09-28 16:29:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#8798
      date: 2026-04-27 13:42:16.940422 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#5407 …}
    #updatedBy: App\Entity\User {#8807 …}
  }
  "class" => "object-cover w-full h-full"
  "alt" => "Cercles des bras"
  "smWidth" => 112
  "smHeight" => 63
  "lgWidth" => 256
  "lgHeight" => 144
]
Attributes
[
  "class" => "object-cover w-full h-full"
]
Component
App\Twig\Components\Media\Image {#8828
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1811 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Cercles des bras"
  +pictureClass: null
  +smWidth: 112
  +smHeight: 63
  +lgWidth: 256
  +lgHeight: 144
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: App\Entity\Media\MediaImage {#8792
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#8803 …}
    #file: Vich\UploaderBundle\Entity\File {#8811 …}
    #credits: Doctrine\ORM\PersistentCollection {#8812 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 2810
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#8806 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1759069741 {#8764
      date: 2025-09-28 16:29:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#8798
      date: 2026-04-27 13:42:16.940422 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#5407 …}
    #updatedBy: App\Entity\User {#8807 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1817 …}
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 70.5 MiB 3.69 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#7097
    -exercise: App\Entity\Training\Exercise {#7099 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#6973
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6777
        #id: 348
        #token: "6861658cc9f8c"
        -day: "monday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
        #createdAt: DateTimeImmutable @1751213453 {#6770
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6767
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6868 …}
        #translations: Doctrine\ORM\PersistentCollection {#6936 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6769
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
      #id: 244
      #createdAt: DateTimeImmutable @1751213453 {#6968
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6965
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7100 …}
    #id: 1497
    #translations: Doctrine\ORM\PersistentCollection {#7102 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7093
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#7096
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#8874
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#7097
    -exercise: App\Entity\Training\Exercise {#7099 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#6973
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6777
        #id: 348
        #token: "6861658cc9f8c"
        -day: "monday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6820 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6866 …}
        #createdAt: DateTimeImmutable @1751213453 {#6770
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6767
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6868 …}
        #translations: Doctrine\ORM\PersistentCollection {#6936 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6769
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6976 …}
      #id: 244
      #createdAt: DateTimeImmutable @1751213453 {#6968
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6965
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7100 …}
    #id: 1497
    #translations: Doctrine\ORM\PersistentCollection {#7102 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7093
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#7096
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.05 ms
Input props
[
  "name" => "google"
  "class" => "h-[24px] w-[20px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px]"
]
Component
App\Twig\Components\Media\Icon {#8965
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.03 ms
Input props
[
  "name" => "apple"
  "class" => "h-[24px] w-[20px] fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px] fill-white"
]
Component
App\Twig\Components\Media\Icon {#8981
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-short"
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Attributes
[
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Component
App\Twig\Components\Media\Icon {#9005
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-short"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 70.5 MiB 0.05 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#8553
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
training:workout:render App\Twig\Components\Training\Workout\WorkoutRender 72.5 MiB 16.06 ms
Input props
[
  "workout" => App\Entity\Training\WorkoutTemplate {#6938
    #id: 349
    #token: "6861658cce903"
    -day: "wednesday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
    #createdAt: DateTimeImmutable @1751213453 {#6933
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6935
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6943 …}
    #translations: Doctrine\ORM\PersistentCollection {#6945 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6937
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  "index" => 2
  "isEmbed" => true
  "limited" => true
]
Attributes
[]
Component
App\Twig\Components\Training\Workout\WorkoutRender {#9059
  +workout: App\Entity\Training\WorkoutTemplate {#6938
    #id: 349
    #token: "6861658cce903"
    -day: "wednesday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
    #createdAt: DateTimeImmutable @1751213453 {#6933
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6935
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6943 …}
    #translations: Doctrine\ORM\PersistentCollection {#6945 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6937
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  +limited: true
  +isEmbed: true
  +isDetail: false
  +index: 2
}
training:workout:block-render
[Anonymous]
72.5 MiB 10.76 ms
Input props
[
  "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#7591
    -section: "warmup"
    -type: "circuit"
    -metadata: [
      "rounds" => 1
      "rest_between_rounds" => 0
      "rest_after_block" => 30
    ]
    -workout: App\Entity\Training\WorkoutTemplate {#6938
      #id: 349
      #token: "6861658cce903"
      -day: "wednesday"
      -program: App\Entity\Training\ProgramTemplate {#2896
        #id: 161
        #token: "6861658cc9e19"
        -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
        #createdBy: App\Entity\User {#2930 …}
        -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
        -durationWeeks: 8
        #createdAt: DateTimeImmutable @1751213453 {#2890
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751215333 {#2891
          date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
        }
        -archived: false
        -viewCounter: 0
        -source: "openai"
        -sourceModel: "chatgpt-4o"
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#3057 …}
        -free: true
        -pinned: false
        -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
        #translations: Doctrine\ORM\PersistentCollection {#3176 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#2894
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
      #createdAt: DateTimeImmutable @1751213453 {#6933
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6935
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -viewCounter: 0
      -source: null
      -sourceModel: null
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#6943 …}
      #translations: Doctrine\ORM\PersistentCollection {#6945 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#6937
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
    #id: 246
    #createdAt: DateTimeImmutable @1751213453 {#7664
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6974
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  "limited" => true
]
Attributes
[
  "workoutBlock" => "warmup: circuit (2 exercises)"
  "limited" => true
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#9108
  -props: [
    "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#7591
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6938
        #id: 349
        #token: "6861658cce903"
        -day: "wednesday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
        #createdAt: DateTimeImmutable @1751213453 {#6933
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6935
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6943 …}
        #translations: Doctrine\ORM\PersistentCollection {#6945 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6937
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
      #id: 246
      #createdAt: DateTimeImmutable @1751213453 {#7664
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6974
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    "limited" => true
  ]
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 72.5 MiB 5.03 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#7674
    -exercise: App\Entity\Training\Exercise {#7682 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7591
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6938
        #id: 349
        #token: "6861658cce903"
        -day: "wednesday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
        #createdAt: DateTimeImmutable @1751213453 {#6933
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6935
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6943 …}
        #translations: Doctrine\ORM\PersistentCollection {#6945 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6937
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
      #id: 246
      #createdAt: DateTimeImmutable @1751213453 {#7664
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6974
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7683 …}
    #id: 1501
    #translations: Doctrine\ORM\PersistentCollection {#7685 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7675
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6971
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#9171
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#7674
    -exercise: App\Entity\Training\Exercise {#7682 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7591
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6938
        #id: 349
        #token: "6861658cce903"
        -day: "wednesday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
        #createdAt: DateTimeImmutable @1751213453 {#6933
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6935
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6943 …}
        #translations: Doctrine\ORM\PersistentCollection {#6945 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6937
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
      #id: 246
      #createdAt: DateTimeImmutable @1751213453 {#7664
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6974
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7683 …}
    #id: 1501
    #translations: Doctrine\ORM\PersistentCollection {#7685 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7675
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6971
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
media:image App\Twig\Components\Media\Image 72.5 MiB 0.17 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#9237
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#9273 …}
    #file: Vich\UploaderBundle\Entity\File {#9264 …}
    #credits: Doctrine\ORM\PersistentCollection {#9263 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 91
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#9277 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1696192026 {#9216
      date: 2023-10-01 22:27:06.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#9272
      date: 2026-04-27 13:42:16.956178 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#8807 …}
  }
  "class" => "object-cover w-full h-full"
  "alt" => "Squat sans matériel"
  "smWidth" => 112
  "smHeight" => 63
  "lgWidth" => 256
  "lgHeight" => 144
]
Attributes
[
  "class" => "object-cover w-full h-full"
]
Component
App\Twig\Components\Media\Image {#9291
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1811 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Squat sans matériel"
  +pictureClass: null
  +smWidth: 112
  +smHeight: 63
  +lgWidth: 256
  +lgHeight: 144
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: App\Entity\Media\MediaImage {#9237
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#9273 …}
    #file: Vich\UploaderBundle\Entity\File {#9264 …}
    #credits: Doctrine\ORM\PersistentCollection {#9263 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 91
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#9277 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1696192026 {#9216
      date: 2023-10-01 22:27:06.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777290136 {#9272
      date: 2026-04-27 13:42:16.956178 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#8807 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1817 …}
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 72.5 MiB 4.93 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#7689
    -exercise: App\Entity\Training\Exercise {#7691 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7591
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6938
        #id: 349
        #token: "6861658cce903"
        -day: "wednesday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
        #createdAt: DateTimeImmutable @1751213453 {#6933
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6935
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6943 …}
        #translations: Doctrine\ORM\PersistentCollection {#6945 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6937
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
      #id: 246
      #createdAt: DateTimeImmutable @1751213453 {#7664
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6974
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7692 …}
    #id: 1502
    #translations: Doctrine\ORM\PersistentCollection {#7694 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7687
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213743 {#7688
      date: 2025-06-29 18:15:43.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#9310
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#7689
    -exercise: App\Entity\Training\Exercise {#7691 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7591
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6938
        #id: 349
        #token: "6861658cce903"
        -day: "wednesday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6939 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6941 …}
        #createdAt: DateTimeImmutable @1751213453 {#6933
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6935
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6943 …}
        #translations: Doctrine\ORM\PersistentCollection {#6945 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6937
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7475 …}
      #id: 246
      #createdAt: DateTimeImmutable @1751213453 {#7664
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6974
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7692 …}
    #id: 1502
    #translations: Doctrine\ORM\PersistentCollection {#7694 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7687
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213743 {#7688
      date: 2025-06-29 18:15:43.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
media:image App\Twig\Components\Media\Image 72.5 MiB 0.17 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#9364
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#9392 …}
    #file: Vich\UploaderBundle\Entity\File {#9368 …}
    #credits: Doctrine\ORM\PersistentCollection {#9382 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 340
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#9375 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: null
    #updatedAt: DateTimeImmutable @1777290136 {#9386
      date: 2026-04-27 13:42:16.961269 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#9353 …}
  }
  "class" => "object-cover w-full h-full"
  "alt" => "Marche du crabe avec élastique"
  "smWidth" => 112
  "smHeight" => 63
  "lgWidth" => 256
  "lgHeight" => 144
]
Attributes
[
  "class" => "object-cover w-full h-full"
]
Component
App\Twig\Components\Media\Image {#9408
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1811 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Marche du crabe avec élastique"
  +pictureClass: null
  +smWidth: 112
  +smHeight: 63
  +lgWidth: 256
  +lgHeight: 144
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: App\Entity\Media\MediaImage {#9364
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#9392 …}
    #file: Vich\UploaderBundle\Entity\File {#9368 …}
    #credits: Doctrine\ORM\PersistentCollection {#9382 …}
    -source: null
    -zone: null
    -urlExternal: null
    #id: 340
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#9375 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: null
    #updatedAt: DateTimeImmutable @1777290136 {#9386
      date: 2026-04-27 13:42:16.961269 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#9353 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1817 …}
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.05 ms
Input props
[
  "name" => "google"
  "class" => "h-[24px] w-[20px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px]"
]
Component
App\Twig\Components\Media\Icon {#9425
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "apple"
  "class" => "h-[24px] w-[20px] fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px] fill-white"
]
Component
App\Twig\Components\Media\Icon {#9459
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-short"
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Attributes
[
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Component
App\Twig\Components\Media\Icon {#9483
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-short"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 72.5 MiB 0.05 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#9053
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
training:workout:render App\Twig\Components\Training\Workout\WorkoutRender 72.5 MiB 12.21 ms
Input props
[
  "workout" => App\Entity\Training\WorkoutTemplate {#6950
    #id: 350
    #token: "6861658ced46b"
    -day: "friday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
    #createdAt: DateTimeImmutable @1751213453 {#6947
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6948
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6955 …}
    #translations: Doctrine\ORM\PersistentCollection {#6957 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6949
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  "index" => 3
  "isEmbed" => true
  "limited" => true
]
Attributes
[]
Component
App\Twig\Components\Training\Workout\WorkoutRender {#9534
  +workout: App\Entity\Training\WorkoutTemplate {#6950
    #id: 350
    #token: "6861658ced46b"
    -day: "friday"
    -program: App\Entity\Training\ProgramTemplate {#2896
      #id: 161
      #token: "6861658cc9e19"
      -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
      #createdBy: App\Entity\User {#2930 …}
      -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
      -durationWeeks: 8
      #createdAt: DateTimeImmutable @1751213453 {#2890
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751215333 {#2891
        date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
      }
      -archived: false
      -viewCounter: 0
      -source: "openai"
      -sourceModel: "chatgpt-4o"
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#3057 …}
      -free: true
      -pinned: false
      -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
      #translations: Doctrine\ORM\PersistentCollection {#3176 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#2894
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
    #createdAt: DateTimeImmutable @1751213453 {#6947
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#6948
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -viewCounter: 0
    -source: null
    -sourceModel: null
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
    -images: Doctrine\ORM\PersistentCollection {#6955 …}
    #translations: Doctrine\ORM\PersistentCollection {#6957 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751213453 {#6949
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
  }
  +limited: true
  +isEmbed: true
  +isDetail: false
  +index: 3
}
training:workout:block-render
[Anonymous]
72.5 MiB 7.60 ms
Input props
[
  "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#7780
    -section: "warmup"
    -type: "circuit"
    -metadata: [
      "rounds" => 1
      "rest_between_rounds" => 0
      "rest_after_block" => 30
    ]
    -workout: App\Entity\Training\WorkoutTemplate {#6950
      #id: 350
      #token: "6861658ced46b"
      -day: "friday"
      -program: App\Entity\Training\ProgramTemplate {#2896
        #id: 161
        #token: "6861658cc9e19"
        -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
        #createdBy: App\Entity\User {#2930 …}
        -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
        -durationWeeks: 8
        #createdAt: DateTimeImmutable @1751213453 {#2890
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751215333 {#2891
          date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
        }
        -archived: false
        -viewCounter: 0
        -source: "openai"
        -sourceModel: "chatgpt-4o"
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#3057 …}
        -free: true
        -pinned: false
        -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
        #translations: Doctrine\ORM\PersistentCollection {#3176 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#2894
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
      #createdAt: DateTimeImmutable @1751213453 {#6947
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#6948
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -viewCounter: 0
      -source: null
      -sourceModel: null
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
      -images: Doctrine\ORM\PersistentCollection {#6955 …}
      #translations: Doctrine\ORM\PersistentCollection {#6957 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1751213453 {#6949
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      -publishedBy: null
    }
    -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
    #id: 248
    #createdAt: DateTimeImmutable @1751213453 {#7926
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#7473
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  "limited" => true
]
Attributes
[
  "workoutBlock" => "warmup: circuit (2 exercises)"
  "limited" => true
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#9584
  -props: [
    "workoutBlock" => App\Entity\Training\Config\WorkoutBlock {#7780
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6950
        #id: 350
        #token: "6861658ced46b"
        -day: "friday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
        #createdAt: DateTimeImmutable @1751213453 {#6947
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6948
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6955 …}
        #translations: Doctrine\ORM\PersistentCollection {#6957 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6949
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
      #id: 248
      #createdAt: DateTimeImmutable @1751213453 {#7926
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#7473
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    "limited" => true
  ]
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 72.5 MiB 3.39 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#7951
    -exercise: App\Entity\Training\Exercise {#7959 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7780
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6950
        #id: 350
        #token: "6861658ced46b"
        -day: "friday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
        #createdAt: DateTimeImmutable @1751213453 {#6947
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6948
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6955 …}
        #translations: Doctrine\ORM\PersistentCollection {#6957 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6949
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
      #id: 248
      #createdAt: DateTimeImmutable @1751213453 {#7926
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#7473
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7960 …}
    #id: 1506
    #translations: Doctrine\ORM\PersistentCollection {#7962 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7952
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751214914 {#7573
      date: 2025-06-29 18:35:14.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#9631
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#7951
    -exercise: App\Entity\Training\Exercise {#7959 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7780
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6950
        #id: 350
        #token: "6861658ced46b"
        -day: "friday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
        #createdAt: DateTimeImmutable @1751213453 {#6947
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6948
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6955 …}
        #translations: Doctrine\ORM\PersistentCollection {#6957 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6949
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
      #id: 248
      #createdAt: DateTimeImmutable @1751213453 {#7926
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#7473
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7960 …}
    #id: 1506
    #translations: Doctrine\ORM\PersistentCollection {#7962 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7952
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751214914 {#7573
      date: 2025-06-29 18:35:14.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
training:exercise:config-render App\Twig\Components\Training\Exercise\ExerciseConfigRender 72.5 MiB 3.42 ms
Input props
[
  "class" => "relative z-10 flex items-start space-x-4"
  "exerciseConfig" => App\Entity\Training\Config\ExerciseConfig {#7966
    -exercise: App\Entity\Training\Exercise {#7968 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7780
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6950
        #id: 350
        #token: "6861658ced46b"
        -day: "friday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
        #createdAt: DateTimeImmutable @1751213453 {#6947
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6948
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6955 …}
        #translations: Doctrine\ORM\PersistentCollection {#6957 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6949
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
      #id: 248
      #createdAt: DateTimeImmutable @1751213453 {#7926
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#7473
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7969 …}
    #id: 1507
    #translations: Doctrine\ORM\PersistentCollection {#7971 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7964
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#7965
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
]
Attributes
[
  "class" => "relative z-10 flex items-start space-x-4"
]
Component
App\Twig\Components\Training\Exercise\ExerciseConfigRender {#9726
  +exerciseConfig: App\Entity\Training\Config\ExerciseConfig {#7966
    -exercise: App\Entity\Training\Exercise {#7968 …}
    -workout: null
    -workoutBlock: App\Entity\Training\Config\WorkoutBlock {#7780
      -section: "warmup"
      -type: "circuit"
      -metadata: [
        "rounds" => 1
        "rest_between_rounds" => 0
        "rest_after_block" => 30
      ]
      -workout: App\Entity\Training\WorkoutTemplate {#6950
        #id: 350
        #token: "6861658ced46b"
        -day: "friday"
        -program: App\Entity\Training\ProgramTemplate {#2896
          #id: 161
          #token: "6861658cc9e19"
          -workouts: Doctrine\ORM\PersistentCollection {#2884 …}
          #createdBy: App\Entity\User {#2930 …}
          -preferences: App\Entity\Training\TrainingPreferences {#3175 …}
          -durationWeeks: 8
          #createdAt: DateTimeImmutable @1751213453 {#2890
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          #updatedAt: DateTimeImmutable @1751215333 {#2891
            date: 2025-06-29 18:42:13.0 Europe/Zurich (+02:00)
          }
          -archived: false
          -viewCounter: 0
          -source: "openai"
          -sourceModel: "chatgpt-4o"
          #updatedBy: App\Entity\User {#2930 …}
          -images: Doctrine\ORM\PersistentCollection {#3057 …}
          -free: true
          -pinned: false
          -faqs: Doctrine\ORM\PersistentCollection {#3140 …}
          #translations: Doctrine\ORM\PersistentCollection {#3176 …}
          #newTranslations: null
          #currentLocale: "fr"
          #defaultLocale: "en"
          -published: true
          #publishedAt: DateTimeImmutable @1751213453 {#2894
            date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
          }
          -publishedBy: null
        }
        -blocks: Doctrine\ORM\PersistentCollection {#6951 …}
        -exerciseConfigs: Doctrine\ORM\PersistentCollection {#6953 …}
        #createdAt: DateTimeImmutable @1751213453 {#6947
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        #updatedAt: DateTimeImmutable @1751213453 {#6948
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -viewCounter: 0
        -source: null
        -sourceModel: null
        #createdBy: App\Entity\User {#2930 …}
        #updatedBy: App\Entity\User {#2930 …}
        -images: Doctrine\ORM\PersistentCollection {#6955 …}
        #translations: Doctrine\ORM\PersistentCollection {#6957 …}
        #newTranslations: null
        #currentLocale: "fr"
        #defaultLocale: "en"
        -published: true
        #publishedAt: DateTimeImmutable @1751213453 {#6949
          date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
        }
        -publishedBy: null
      }
      -exerciseConfigs: Doctrine\ORM\PersistentCollection {#7937 …}
      #id: 248
      #createdAt: DateTimeImmutable @1751213453 {#7926
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #updatedAt: DateTimeImmutable @1751213453 {#7473
        date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
      }
      #createdBy: App\Entity\User {#2930 …}
      #updatedBy: App\Entity\User {#2930 …}
    }
    -serieConfigs: Doctrine\ORM\PersistentCollection {#7969 …}
    #id: 1507
    #translations: Doctrine\ORM\PersistentCollection {#7971 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    #createdAt: DateTimeImmutable @1751213453 {#7964
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1751213453 {#7965
      date: 2025-06-29 18:10:53.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#2930 …}
    #updatedBy: App\Entity\User {#2930 …}
  }
  -workoutFormatter: App\BusinessLogic\Training\Workout\Manager\WorkoutFormatter {#8705 …}
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "google"
  "class" => "h-[24px] w-[20px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px]"
]
Component
App\Twig\Components\Media\Icon {#9801
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "apple"
  "class" => "h-[24px] w-[20px] fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px] fill-white"
]
Component
App\Twig\Components\Media\Icon {#9835
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-short"
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Attributes
[
  "class" => "h-[24px] w-[24px] bg-white p-1 rounded-[5px] transform:scale-[1.3]"
  "style" => "margin-left: -4px;margin-top: -2px;margin-right: 4px;"
]
Component
App\Twig\Components\Media\Icon {#9859
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-short"
  +title: null
  +symbolDefsName: null
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 72.5 MiB 0.05 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#9914
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
app:page-sharer App\Twig\Components\App\PageSharer 72.5 MiB 0.90 ms
Input props
[
  "class" => "content-container p-4"
]
Attributes
[
  "class" => "content-container p-4"
]
Component
App\Twig\Components\App\PageSharer {#719
  +shareUrl: "http://test.fitmetrics.ch/fr/programmes-fitness/6861658cc9e19-programme-prise-de-muscle-debutant-avec-halteres-et-elastiques"
  +title: "Programme prise de muscle débutant avec haltères et élastiques - Programmes - FitMetrics"
  +description: "Commence dès aujourd’hui et développe ta masse musculaire avec un plan simple, efficace et parfaitement adapté aux débutants. Plus besoin de salle de sport : optimise chaque séance grâce à tes haltères et élastiques pour transformer ton physique progressivement et en toute sécurité."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#9930
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "reddit"
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9952
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9976
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9999
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10022
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10045
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10068
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10091
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 72.5 MiB 0.36 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#9922
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 72.5 MiB 0.29 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#10138
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1828 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
app:lang-selector App\Twig\Components\App\LangSelector 72.5 MiB 0.04 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#10193
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
utils:theme-switcher
[Anonymous]
72.5 MiB 0.11 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10185
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Component
App\Twig\Components\Media\Icon {#10227
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Component
App\Twig\Components\Media\Icon {#10259
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "heart"
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Attributes
[
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Component
App\Twig\Components\Media\Icon {#10282
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#10305
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "instagram"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#10328
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#10351
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "tiktok"
  "class" => "w-[29px] h-[29px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[29px] h-[29px]"
]
Component
App\Twig\Components\Media\Icon {#10374
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-[19px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[19px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#10397
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.03 ms
Input props
[
  "name" => "youtube"
  "class" => "w-[28px] h-[24px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[24px]"
]
Component
App\Twig\Components\Media\Icon {#10420
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#4047 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}