CINXE.COM
Revamp and generate PDF timetable using Weasyprint by AjobK · Pull Request #6558 · indico/indico · GitHub
<!DOCTYPE html> <html lang="en" class="skip-scroll-target-into-view js-skip-scroll-target-into-view" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-3e154969b9f9.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-9c5b7a476542.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-afda8eb0fb33.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-2494e44ccdc5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-56fff47acadc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-71cd4cc132ec.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fd5499848985.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-31d17ba3e139.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-68d6b2c79663.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-4cf0d59ab51a.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-af846850481e.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-e41ff91f8baa.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-d3b66f11d613.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-1e3bbbee6b91.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-a0610fd00b47.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/pull-requests-531a3fdee92a.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["copilot_new_references_ui","copilot_beta_features_opt_in","copilot_chat_static_thread_suggestions","copilot_conversational_ux_history_refs","copilot_implicit_context","copilot_smell_icebreaker_ux","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hovercard_accessibility","issues_react_new_timeline","issues_react_avatar_refactor","issues_react_remove_placeholders","issues_react_cache_fix_workaround","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","remove_child_patch","sample_network_conn_type","site_metered_billing_update","issues_react_first_time_contribution_banner","jk_navigation_in_list_view","ui_commands_respect_modals","lifecycle_label_name_updates"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-118ecaabd77e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b73fdff77a4e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-aff936e590ed.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-247092-740e4ddd559d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-a46544e9ee5e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-cd35650c2e9c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-4aa4b0e95669.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-6d3967acd51c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_g-emoji-element_di-6ce195-53781cbc550f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-6afc16-3cdfa69a0406.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-f5498b8d4e5d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-492b5042c841.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1f651a-1e3d784c897c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-7671f1-dc6cac136d88.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-71486356f507.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-e3ab8405ef80.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-634de60bacfa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ce7225a304c5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-f3aee1-e6893db9c19e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-f8a5485c982a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-858e043fcf76.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_stacktrace-pa-a71630-6f3c4f0189d8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-0e07cc183eed.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-0b5e12-889cec8cf448.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-eae9df0dd562.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-18d1c91a7872.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-7cbef09a422c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-0e9fa537dc4f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-c89801ebbe15.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-93287f4de493.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-3366f6b6298e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-96453a51f920.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_stacktrace-parser_dist_stack-trace-parser_esm_js-node_modules_github_bro-b0a862-4d8589138d1e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-0e9dbe-d2bcedf65682.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-043af64042a1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-4158520ad4d7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_primer_live-region-element-32d343-56ceead9587a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-cc9bcb-ea42a360c5ae.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_diffs_blob-lines_ts-app_assets_modules_github_diffs_linkable-line-n-b8c0ea-77a5219efe36.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/diffs-bc5dd2707d5a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/scanning-36c6f3eaa22e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-9b97703a4e6a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-3118a76a2829.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-765944243383.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-cd0a67881543.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-7b7b5264f6c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-54c0c921f04b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-285fc29e9fa5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-4896ddd4b7bb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-1490f5bef85d.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>Revamp and generate PDF timetable using Weasyprint by AjobK · Pull Request #6558 · indico/indico · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/pull/:id/files(.:format)" data-turbo-transient> <meta name="route-controller" content="pull_requests" data-turbo-transient> <meta name="route-action" content="files" data-turbo-transient> <meta name="current-catalog-service-hash" content="ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b"> <meta name="request-id" content="E996:7B91C:2917DE:2F8837:6742600E" data-pjax-transient="true"/><meta name="html-safe-nonce" content="2dd667581bd7a05df33cd3541cee6602c6a11aaa815dd5475500f9e8b1210d77" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOTk2OjdCOTFDOjI5MTdERToyRjg4Mzc6Njc0MjYwMEUiLCJ2aXNpdG9yX2lkIjoiODYxNTc2MDU0ODMyMjU5MDg2IiwicmVnaW9uX2VkZ2UiOiJzb3V0aGVhc3Rhc2lhIiwicmVnaW9uX3JlbmRlciI6InNvdXRoZWFzdGFzaWEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="b079591233c12fc95bdd952aaf89f132a556f2e1725501a3d585bc8dc63d28ae" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="pull_request:2086526264" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_pulls" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/pull_requests/show/files" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="Closes #6554"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/indico/indico/pull/6558/files" /> <meta name="twitter:image" content="https://avatars.githubusercontent.com/u/35965716?s=400&v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Revamp and generate PDF timetable using Weasyprint by AjobK · Pull Request #6558 · indico/indico" /><meta name="twitter:description" content="Closes #6554" /> <meta property="og:image" content="https://avatars.githubusercontent.com/u/35965716?s=400&v=4" /><meta property="og:image:alt" content="Closes #6554" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="Revamp and generate PDF timetable using Weasyprint by AjobK · Pull Request #6558 · indico/indico" /><meta property="og:url" content="https://github.com/indico/indico/pull/6558" /><meta property="og:description" content="Closes #6554" /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="272935131c2027f789efabd5bf30904ffaea35908a22afd03d8f75128cee7e1b" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="8968ee26e93ec8c6d3c4e91c77fb9d206091689d451ebbcddeca3832587a5b30" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="c4972ae1cf5d4607c47252349fc1b47a24ff0ea303e5a8fbbe18ec27725a87ee" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <link data-turbo-transient rel="alternate" type="text/x-diff" href="/indico/indico/pull/6558.diff"> <link data-turbo-transient rel="alternate" type="text/x-patch" href="/indico/indico/pull/6558.patch"> <meta name="diff-view" content="unified" data-turbo-transient> <meta name="go-import" content="github.com/indico/indico git https://github.com/indico/indico.git"> <meta name="octolytics-dimension-user_id" content="715236" /><meta name="octolytics-dimension-user_login" content="indico" /><meta name="octolytics-dimension-repository_id" content="2113067" /><meta name="octolytics-dimension-repository_nwo" content="indico/indico" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="2113067" /><meta name="octolytics-dimension-repository_network_root_nwo" content="indico/indico" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive full-width"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive full-width" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive full-width" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-d25fac54a6bc.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-ed30662f9578.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-cf3dd69d89eb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-8fa3b694f335.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Findico%2Findico%2Fpull%2F6558%2Ffiles" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="77c9992070757a9aa1db6dbb40f27be54a8e2e18177c816bf2332aa8ac9f1508" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"white_papers_ebooks_webinars","context":"resources","tag":"link","label":"white_papers_ebooks_webinars_link_resources_navbar"}" href="https://resources.github.com"> White papers, Ebooks, Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"enterprise","tag":"link","label":"github_copilot_link_enterprise_navbar"}" href="/features/copilot#enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:indico/indico" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="rp0EDk9eO0zdhhBJ1Jv77uFOp6IMbHg3vYLD_t8V_8hvipO2p-MMFgnI9yukJJTm4zRX6mBMTf3KuDtiJZHxTg" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="indico/indico" data-current-org="indico" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-b1984181-0b01-4099-9913-122967b474d4" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-b1984181-0b01-4099-9913-122967b474d4" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2"> Search syntax tips </a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="PGLMvtCkWRwpkdOwRNtKbtlA+FSKEPzEpFcYq9iogbSl7+dx32s9sgryGOkBHO0LyUK+qwjOSlTupjCxUyviZw==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="bymmCVClVvOyA3WZnHqTTXvuKKTbCTMHAc45DM6EE/TEn++DW0np4RRvcn44CMc054VhGcA2E/sljoUoQcScaA==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="t1irVYQVmdC1NDw3E4Oko4cP4TfgUbbZeGsBOQJrqt4O/HEYWSRY7JB4UwRsRyrvDFy3tw+N9SZ4PDpX0cr6iQ==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Findico%2Findico%2Fpull%2F6558%2Ffiles" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="77c9992070757a9aa1db6dbb40f27be54a8e2e18177c816bf2332aa8ac9f1508" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=indico%2Findico" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="77c9992070757a9aa1db6dbb40f27be54a8e2e18177c816bf2332aa8ac9f1508" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/pull_requests/show/files;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-ebd69b46-1726-4894-9866-1438e961fdab" aria-labelledby="tooltip-e1956655-e3aa-4ba8-a5b6-f4cb5effc019" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-e1956655-e3aa-4ba8-a5b6-f4cb5effc019" for="icon-button-ebd69b46-1726-4894-9866-1438e961fdab" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/indico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/indico"> indico </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/indico/indico">indico</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Findico%2Findico" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="55d6f0431f1a5641cbc9e7e49cfbd72843447a24690c785d4f39b6dc5b11f80a" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-56ba12a0-d86b-4c30-a536-286ac7262cc6" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Findico%2Findico" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":2113067,"auth_type":"LOG_IN","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="09cce9504106cf2b6a7c4ef910b3df9bbe73e6be57afd6ea2b376708187b4fa1" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="434" data-view-component="true" class="Counter">434</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Findico%2Findico" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":2113067,"auth_type":"LOG_IN","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="b74bdebdedb2d09bff4f0fca28dd4989e965d7aed02fcf0b7341d964b4ccd7d7" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1791 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,791" data-view-component="true" class="Counter js-social-count">1.8k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/indico/indico" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /indico/indico" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/indico/indico/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /indico/indico/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="731" data-view-component="true" class="Counter">731</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/indico/indico/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /indico/indico/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="49" data-view-component="true" class="Counter">49</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/indico/indico/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /indico/indico/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/indico/indico/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /indico/indico/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="3" data-view-component="true" class="Counter">3</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/indico/indico/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /indico/indico/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Wiki","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/indico/indico/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /indico/indico/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/indico/indico/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/indico/indico/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /indico/indico/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-button" popovertarget="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-overlay" aria-controls="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-list" aria-haspopup="true" aria-labelledby="tooltip-74966c7e-74d0-4e75-b6b7-940bc173f760" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-74966c7e-74d0-4e75-b6b7-940bc173f760" for="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position id="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-overlay" anchor="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-button" id="action-menu-0b141dc8-3cd7-44ef-b94d-714a1b5bfbb9-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-4cc8c0b0-5291-4aaa-a9b2-38ddd4a8d200" href="/indico/indico" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-ef40a8c4-c36b-4128-b52f-d03872b3dcb8" href="/indico/indico/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-c590ed18-d1e8-4ddd-af27-5aac4b85af3f" href="/indico/indico/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3d4048dd-4b20-42a3-a465-0ea499e2866c" href="/indico/indico/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-cf202955-8885-448d-9f28-2b2a6b5d92f7" href="/indico/indico/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-1c32882d-976a-4711-8106-ecdd62f35899" href="/indico/indico/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-7a91f5df-87e1-488f-a52f-344c211432fa" href="/indico/indico/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-0f7172fe-2816-42cf-99d5-6f6e142c753d" href="/indico/indico/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <div class="clearfix mt-4 px-3 px-md-4 px-lg-5"> <div class="position-relative js-review-state-classes js-suggested-changes-files-tab" data-pjax data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <div id="files_bucket" class="files-bucket files-next-bucket clearfix pull-request-tab-content is-visible js-multi-line-comments-enabled"> <diff-file-filter> <div id="partial-discussion-header" class="gh-header mb-3 js-details-container Details js-socket-channel js-updatable-content pull request js-pull-header-details" data-channel="eyJjIjoicHVsbF9yZXF1ZXN0OjIwODY1MjYyNjQiLCJ0IjoxNzMyNDAzMjE0fQ==--31becde7966c7ef2fc0ed06000c492e47fc67904f53df57b19b2204aad7d96d6" data-url="/indico/indico/pull/6558/partials/title?sticky=false" data-channel-event-name="title_updated" data-pull-is-open="true" data-gid="PR_kwDOACA-K858Xd04"> <div class="gh-header-show "> <div class="d-flex flex-column flex-md-row"> <div class="gh-header-actions mt-0 mb-3 mb-md-2 ml-1 flex-md-order-1 flex-shrink-0 d-flex flex-items-center gap-1"> <details class="details-reset details-overlay details-overlay-dark float-right" > <summary class="btn btn-sm btn-primary m-0 ml-0 ml-md-2" > New issue </summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast overflow-auto" aria-label="Sign up for GitHub"> <button aria-label="Close dialog" data-close-dialog="" type="button" data-view-component="true" class="Link--muted btn-link position-absolute p-4 right-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="d-flex flex-column p-4"> <div class="mt-3 mb-2 text-center"> <svg height="60" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="60" data-view-component="true" class="octicon octicon-comment-discussion color-fg-accent"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> </div> <div class="px-4"> <p class="text-center mb-4"> <strong>Have a question about this project?</strong> Sign up for a free GitHub account to open an issue and contact its maintainers and the community. </p> <div class="d-flex flex-items-center"> <a href="/signup?return_to=%2Findico%2Findico%2Fissues%2Fnew%2Fchoose" data-view-component="true" class="btn-primary btn mx-auto"> Sign up for GitHub </a> </div> <p class="mt-4 color-fg-muted text-center">By clicking “Sign up for GitHub”, you agree to our <a class="Link--inTextBlock" href="https://docs.github.com/terms" target="_blank">terms of service</a> and <a class="Link--inTextBlock" href="https://docs.github.com/privacy" target="_blank">privacy statement</a>. We’ll occasionally send you account related emails.</p> <p class="mt-4 color-fg-muted text-center"> Already on GitHub? <a data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"new issue modal","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-click-hmac="b7f2c8c0a0bd89819e33c1d24beace18b4c4d790196950033406b8598253d6ef" class="Link--inTextBlock" href="/login?return_to=%2Findico%2Findico%2Fissues%2Fnew%2Fchoose">Sign in</a> to your account </p> </div> </div> </details-dialog> </details> <div class="flex-auto text-right d-block d-md-none"> <a href="#issue-comment-box" class="py-1">Jump to bottom</a> </div> </div> <h1 class="gh-header-title mb-2 lh-condensed f1 mr-0 flex-auto wb-break-word"> <bdi class="js-issue-title markdown-title">Revamp and generate PDF timetable using Weasyprint</bdi> <span class="f1-light color-fg-muted">#6558</span> </h1> </div> </div> <div class="d-flex flex-items-center flex-wrap mt-0 gh-header-meta"> <div class="flex-shrink-0 mb-2 flex-self-start flex-md-self-center"> <span reviewable_state="ready" title="Status: Open" data-view-component="true" class="State State--open"> <svg height="16" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Open </span> </div> <div class="flex-auto min-width-0 mb-2"> <a class="author Link--secondary text-bold css-truncate css-truncate-target expandable" data-hovercard-type="user" data-hovercard-url="/users/AjobK/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/AjobK">AjobK</a> wants to merge <span class="js-updating-pull-request-commits-count">91</span> commits into <span title="indico/indico:master" class="commit-ref css-truncate user-select-contain expandable base-ref"><a title="indico/indico:master" class="no-underline " href="/indico/indico/tree/master"><span class="css-truncate-target">indico</span>:<span class="css-truncate-target">master</span></a></span><span></span> <div class="commit-ref-dropdown"> <details class="details-reset details-overlay select-menu commitish-suggester" id="branch-select-menu"> <summary class="btn btn-sm select-menu-button branch"> <i>base:</i> <span class="css-truncate css-truncate-target">master</span> </summary> <input-demux-context-wrapper data-context-type="baseChange"> <div class="SelectMenu"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Choose a base branch</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="branch-select-menu"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </header> <input-demux data-action="tab-container-change:input-demux#storeInput tab-container-changed:input-demux#updateInput"> <div class="SelectMenu-filter"> <input data-target="input-demux.source" id="context-commitish-filter-field" class="SelectMenu-input form-control" aria-owns="ref-list-branches" data-controls-ref-menu-id="ref-list-branches" autofocus autocomplete="off" aria-label="Find a branch" placeholder="Find a branch" type="text" > </div> <tab-container class="d-flex flex-column js-branches-tags-tabs" style="min-height: 0;"> <div class="SelectMenu-tabs" role="tablist" data-target="input-demux.control" hidden> <button class="SelectMenu-tab" type="button" role="tab" aria-selected="true">Branches</button> <button class="SelectMenu-tab" type="button" role="tab">Tags</button> </div> <div role="tabpanel" id="ref-list-branches" data-filter-placeholder="Find a branch" tabindex="" class="d-flex flex-column flex-auto"> <ref-selector type="branch" data-targets="input-demux.sinks" data-action=" input-entered:ref-selector#inputEntered tab-selected:ref-selector#tabSelected focus-list:ref-selector#focusFirstListMember " query-endpoint="/indico/indico/refs" cache-key="v0:1731332667.0" current-committish="bWFzdGVy" default-branch="bWFzdGVy" name-with-owner="aW5kaWNvL2luZGljbw==" prefetch-on-mouseover > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load branches</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="height-full width-full d-flex flex-items-center pl-3"> <span>Branch not found: <strong>{{ refName }}</strong></span> </div> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list m-0" > <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> <template data-target="ref-selector.itemTemplate"> <button type="button" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" data-action="click:input-demux-context-wrapper#onItemSelected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }} js-ref-name">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </button> </template> </ref-selector> </div> <div role="tabpanel" id="tags-menu" data-filter-placeholder="Find a tag" tabindex="" hidden class="d-flex flex-column flex-auto"> <ref-selector type="tag" data-action=" input-entered:ref-selector#inputEntered tab-selected:ref-selector#tabSelected focus-list:ref-selector#focusFirstListMember " data-targets="input-demux.sinks" query-endpoint="/indico/indico/refs" cache-key="v0:1731332667.0" current-committish="bWFzdGVy" default-branch="bWFzdGVy" name-with-owner="aW5kaWNvL2luZGljbw==" > <template data-target="ref-selector.fetchFailedTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Could not load tags</div> </template> <template data-target="ref-selector.noMatchTemplate"> <div class="SelectMenu-message" data-index="{{ index }}">Nothing to show</div> </template> <template data-target="ref-selector.itemTemplate"> <button type="button" class="SelectMenu-item" role="menuitemradio" rel="nofollow" aria-checked="{{ isCurrent }}" data-index="{{ index }}" data-action="click:input-demux-context-wrapper#onItemSelected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="flex-1 css-truncate css-truncate-overflow {{ isFilteringClass }} js-ref-name">{{ refName }}</span> <span hidden="{{ isNotDefault }}" class="Label Label--secondary flex-self-start">default</span> </button> </template> <div data-target="ref-selector.listContainer" role="menu" class="SelectMenu-list" > <div class="SelectMenu-loading pt-3 pb-0 overflow-hidden"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </div> </ref-selector> </div> </tab-container> </input-demux> </div> </div> <template class="js-change-base-template"> <div class="Box-header"> <h3 class="Box-title">Are you sure you want to change the base?</h3> </div> <div class="Box-body"> Some commits from the old base branch may be removed from the timeline, and old review comments may become outdated. </div> <div class="Box-footer"> <button form="change-base-form" type="submit" data-view-component="true" class="btn-block js-change-base-form-button Button--primary Button--medium Button"> <span class="Button-content"> <span class="Button-label"><span data-view-component="true"> <svg style="display: none" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="js-change-base-spinner v-align-text-bottom mr-1 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> <span>Change base</span></span> </span> </button> </div> </template> </input-demux-context-wrapper> </details> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="change-base-form" data-turbo="false" action="/indico/indico/pull/6558/change_base" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="s61sjw410cEwL7Cny1/43EBRZvQNzpB7SUZxJ+swolRuKuCTq25t9Na1E+5tKsutIqpPftVGAkV/QAvW6EK0AA==" /> <input type="hidden" id="pull-change-base-branch-field" name="new_base_binary" class="js-new-base-branch"> </form> </div> from <span title="AjobK/indico:pdf-timetable" class="commit-ref css-truncate user-select-contain expandable head-ref"><a title="AjobK/indico:pdf-timetable" class="no-underline " href="/AjobK/indico/tree/pdf-timetable"><span class="css-truncate-target">AjobK</span>:<span class="css-truncate-target">pdf-timetable</span></a></span><span><span data-view-component="true"> <clipboard-copy aria-label="Copy" data-copy-feedback="Copied!" value="AjobK:pdf-timetable" data-view-component="true" class="Link--onHover js-copy-branch color-fg-muted d-inline-block ml-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span></span> <span class="d-inline-block"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-765944243383.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-cd0a67881543.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-7b7b5264f6c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-54c0c921f04b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-285fc29e9fa5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-4896ddd4b7bb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/pull-requests-processing-indicator-48cbe3d4fbab.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9fa170e9435ed4b922b9.module.css" /> <react-partial partial-name="pull-requests-processing-indicator" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"processingIndicatorUrl":"/indico/indico/pull/6558/partials/processing_indicator","repositoryId":2113067,"pullRequestId":2086526264}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> </span> </div> </div> </div> <include-fragment src="/indico/indico/pull/6558/partials/tabs?tab=files"> <div class="px-3 px-md-0 ml-n3 mr-n3 mx-md-0 tabnav"> <nav class="tabnav-tabs d-flex overflow-auto" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" aria-label="Pull request tabs"> <a href="/indico/indico/pull/6558" class="tabnav-tab flex-shrink-0 "> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion d-none d-md-inline-block"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Conversation <span id="conversation_tab_counter" title="90" data-view-component="true" class="Counter">90</span> </a> <a href="/indico/indico/pull/6558/commits" class="tabnav-tab flex-shrink-0 " > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-commit d-none d-md-inline-block"> <path d="M11.93 8.5a4.002 4.002 0 0 1-7.86 0H.75a.75.75 0 0 1 0-1.5h3.32a4.002 4.002 0 0 1 7.86 0h3.32a.75.75 0 0 1 0 1.5Zm-1.43-.75a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path> </svg> Commits <span id="commits_tab_counter" title="91" data-view-component="true" class="Counter js-updateable-pull-request-commits-count">91</span> </a> <a href="/indico/indico/pull/6558/checks" class="tabnav-tab flex-shrink-0 "> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-checklist d-none d-md-inline-block"> <path d="M2.5 1.75v11.5c0 .138.112.25.25.25h3.17a.75.75 0 0 1 0 1.5H2.75A1.75 1.75 0 0 1 1 13.25V1.75C1 .784 1.784 0 2.75 0h8.5C12.216 0 13 .784 13 1.75v7.736a.75.75 0 0 1-1.5 0V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13.274 9.537v-.001l-4.557 4.45a.75.75 0 0 1-1.055-.008l-1.943-1.95a.75.75 0 0 1 1.062-1.058l1.419 1.425 4.026-3.932a.75.75 0 1 1 1.048 1.074ZM4.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM4 7.75A.75.75 0 0 1 4.75 7h2a.75.75 0 0 1 0 1.5h-2A.75.75 0 0 1 4 7.75Z"></path> </svg> Checks <span id="checks_tab_counter" title="9" data-view-component="true" class="Counter">9</span> </a> <a href="/indico/indico/pull/6558/files" class="tabnav-tab flex-shrink-0 selected" aria-current="page"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-diff d-none d-md-inline-block"> <path d="M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z"></path> </svg> Files changed </a> </nav> </div> </include-fragment> <diff-layout > <button data-hotkey="t" data-action="click:diff-layout#handleOpenFilesListHotkeyEvent" hidden="hidden" type="button" data-view-component="true" class="btn"> </button> <div class="pr-toolbar d-flex js-sticky-is-stuck" data-target="diff-layout.diffToolbar"> <div class="diffbar details-collapse js-details-container Details flex-1 d-flex flex-items-center width-full flex-wrap gap-2"> <div class="show-if-stuck mr-2 hide-md hide-sm"> <div id="pull-state" class="js-socket-channel js-updatable-content" data-channel="eyJjIjoiaXNzdWU6MjU0MjU3ODMxNTpzdGF0ZSIsInQiOjE3MzI0MDMyMTR9--a99b549b3dabc9f729f0ee7ba758108113fb6a7d51598d2957f93e4465b7c782" data-url="/indico/indico/pull/6558/partials/state" data-gid="PR_kwDOACA-K858Xd04" > <span reviewable_state="ready" title="Status: Open" data-view-component="true" class="State State--open"> <svg height="16" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Open </span> </div> </div> <div class="flex-auto min-width-0"> <div class="show-if-stuck hide-md hide-sm"> <h1 class="d-flex text-bold f5"> <a class="js-issue-title css-truncate css-truncate-target Link--primary width-fit markdown-title js-smoothscroll-anchor" href="#top"> Revamp and generate PDF timetable using Weasyprint </a> <span class="gh-header-number color-fg-muted pl-1">#6558</span> </h1> </div> <div class="d-flex flex-items-center flex-wrap" style="gap: 4px 16px;" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <instrument-files style="display: none;" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"files","action":"ctrl_f","data":{"file_count":15},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="8f5a69463335bb3e19f63a0441ad12620be052dee615637a61e3517116332c44" ></instrument-files> <file-tree-toggle data-action="toggle-sidebar:diff-layout#toggleSidebar" class="d-none d-md-inline-block d-lg-inline-block d-xl-inline-block" > <div data-view-component="true" class="position-relative d-inline-block"> <button id="show-file-tree-button" data-target="file-tree-toggle.showFileTreeButton diff-layout.showFileTreeButton" data-action="click:file-tree-toggle#toggleFileTree" data-prefer-file-tree-visible="true" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15},"pull_request_id":2086526264,"user_id":null,"action":"show_tree","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="9e045b1b792d69f702844af17a0a047bcd3df525b8dfc4cacf9310d0148b0701" hidden="hidden" type="button" data-view-component="true" class="btn-octicon Link--muted diffbar-item m-0 p-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sidebar-collapse"> <path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path> </svg> </button> <tool-tip id="tooltip-88f417b5-0ca2-490c-b658-b2c6b04402e5" for="show-file-tree-button" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Show file tree</tool-tip> </div> <div data-view-component="true" class="position-relative d-inline-block"> <button id="hide-file-tree-button" data-target="file-tree-toggle.hideFileTreeButton" data-action="click:file-tree-toggle#toggleFileTree" data-prefer-file-tree-visible="false" data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15},"pull_request_id":2086526264,"user_id":null,"action":"hide_tree","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="e693c22d89042f4e2fcb172a5e93762a301a96817124e0c8428afd5ba5f1e640" type="button" data-view-component="true" class="btn-octicon Link--muted diffbar-item m-0 p-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sidebar-expand"> <path d="m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354Z"></path><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z"></path> </svg> </button> <tool-tip id="tooltip-97257b62-d6e0-4470-a815-30c9148528b0" for="hide-file-tree-button" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Hide file tree</tool-tip> </div> </file-tree-toggle> <details class="details-reset details-overlay diffbar-item diffbar-range-menu select-menu js-diffbar-range-menu ml-0"> <summary data-hotkey="c" data-view-component="true" class="Link--muted select-menu-button btn-link"> Changes from <strong>all commits</strong> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Commits</span> </div> <div class="select-menu-list"> <a href="/indico/indico/pull/6558/files" class="select-menu-item" role="menuitem"> <div class="select-menu-item-text"> <div class="text-emphasized css-truncate css-truncate-target"> Show all changes </div> <span class="description"> 91 commits </span> </div> </a> <div class="select-menu-divider"> Select commit <span class="note text-normal mt-0 float-right">Hold shift + click to select a range</span> </div> <div class="js-diffbar-range-list" data-range-url="/indico/indico/pull/6558/files/$range"> <a href="/indico/indico/pull/6558/commits/4f947271e01ebc3d00f0d915872d066f05f9b66d" class="select-menu-item " role="menuitem" data-commit="4f947271e01ebc3d00f0d915872d066f05f9b66d" > <div class="select-menu-item-text"> <code class="float-right">4f94727</code> <div class="text-emphasized css-truncate css-truncate-target"> WIP: PDF timetable with weasyprint </div> <span class="description"> tomasr8 <relative-time datetime="2024-01-24T15:07:03Z" class="no-wrap">Jan 24, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/3d246bfccfe969ee3071a52e80efefc210f93100" class="select-menu-item " role="menuitem" data-commit="3d246bfccfe969ee3071a52e80efefc210f93100" data-parent-commit="4f947271e01ebc3d00f0d915872d066f05f9b66d"> <div class="select-menu-item-text"> <code class="float-right">3d246bf</code> <div class="text-emphasized css-truncate css-truncate-target"> WIP </div> <span class="description"> tomasr8 <relative-time datetime="2024-02-01T15:52:17Z" class="no-wrap">Feb 1, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/6d63d123396fc2789c6c4f456417cf358b51658a" class="select-menu-item " role="menuitem" data-commit="6d63d123396fc2789c6c4f456417cf358b51658a" data-parent-commit="3d246bfccfe969ee3071a52e80efefc210f93100"> <div class="select-menu-item-text"> <code class="float-right">6d63d12</code> <div class="text-emphasized css-truncate css-truncate-target"> WIP </div> <span class="description"> tomasr8 <relative-time datetime="2024-06-07T09:54:03Z" class="no-wrap">Jun 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/2ebbe5cbaf8eadb70f6c59bd40fc69a60f16e789" class="select-menu-item " role="menuitem" data-commit="2ebbe5cbaf8eadb70f6c59bd40fc69a60f16e789" data-parent-commit="6d63d123396fc2789c6c4f456417cf358b51658a"> <div class="select-menu-item-text"> <code class="float-right">2ebbe5c</code> <div class="text-emphasized css-truncate css-truncate-target"> Progress with alignment for date </div> <span class="description"> AjobK <relative-time datetime="2024-09-24T13:27:49Z" class="no-wrap">Sep 24, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/625cc9d71d4d543a4d3a4485838c3b25511da703" class="select-menu-item " role="menuitem" data-commit="625cc9d71d4d543a4d3a4485838c3b25511da703" data-parent-commit="2ebbe5cbaf8eadb70f6c59bd40fc69a60f16e789"> <div class="select-menu-item-text"> <code class="float-right">625cc9d</code> <div class="text-emphasized css-truncate css-truncate-target"> Significantly improved PDF graphics </div> <span class="description"> AjobK <relative-time datetime="2024-09-25T09:03:39Z" class="no-wrap">Sep 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/0291bb9b4171866c41ed84470f0f228bfeaf28ec" class="select-menu-item " role="menuitem" data-commit="0291bb9b4171866c41ed84470f0f228bfeaf28ec" data-parent-commit="625cc9d71d4d543a4d3a4485838c3b25511da703"> <div class="select-menu-item-text"> <code class="float-right">0291bb9</code> <div class="text-emphasized css-truncate css-truncate-target"> contrib styling (nested needs work) </div> <span class="description"> AjobK <relative-time datetime="2024-09-25T10:06:33Z" class="no-wrap">Sep 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/1ef81b546ff2d73d90f17b91c5a584390a8cce33" class="select-menu-item " role="menuitem" data-commit="1ef81b546ff2d73d90f17b91c5a584390a8cce33" data-parent-commit="0291bb9b4171866c41ed84470f0f228bfeaf28ec"> <div class="select-menu-item-text"> <code class="float-right">1ef81b5</code> <div class="text-emphasized css-truncate css-truncate-target"> Base rework of PDF export </div> <span class="description"> AjobK <relative-time datetime="2024-09-25T14:38:36Z" class="no-wrap">Sep 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/67fe691fd4fc88fffcc362883a00fccb8c870b4b" class="select-menu-item " role="menuitem" data-commit="67fe691fd4fc88fffcc362883a00fccb8c870b4b" data-parent-commit="1ef81b546ff2d73d90f17b91c5a584390a8cce33"> <div class="select-menu-item-text"> <code class="float-right">67fe691</code> <div class="text-emphasized css-truncate css-truncate-target"> fix alignment and change fontsize </div> <span class="description"> AjobK <relative-time datetime="2024-09-26T09:09:26Z" class="no-wrap">Sep 26, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/3669cf3fd9b89d671852a176bf15bb4b999246a1" class="select-menu-item " role="menuitem" data-commit="3669cf3fd9b89d671852a176bf15bb4b999246a1" data-parent-commit="67fe691fd4fc88fffcc362883a00fccb8c870b4b"> <div class="select-menu-item-text"> <code class="float-right">3669cf3</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup, add affiliation feature </div> <span class="description"> AjobK <relative-time datetime="2024-09-26T12:51:39Z" class="no-wrap">Sep 26, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/1c8800c5f67ee492c89df55a872a267e205d31cb" class="select-menu-item " role="menuitem" data-commit="1c8800c5f67ee492c89df55a872a267e205d31cb" data-parent-commit="3669cf3fd9b89d671852a176bf15bb4b999246a1"> <div class="select-menu-item-text"> <code class="float-right">1c8800c</code> <div class="text-emphasized css-truncate css-truncate-target"> contrib ids, lengths and new page </div> <span class="description"> AjobK <relative-time datetime="2024-09-26T14:59:08Z" class="no-wrap">Sep 26, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/cc4cbf00b918ed570b27e2529af4924ec3f36466" class="select-menu-item " role="menuitem" data-commit="cc4cbf00b918ed570b27e2529af4924ec3f36466" data-parent-commit="1c8800c5f67ee492c89df55a872a267e205d31cb"> <div class="select-menu-item-text"> <code class="float-right">cc4cbf0</code> <div class="text-emphasized css-truncate css-truncate-target"> pagebreak children bugfix </div> <span class="description"> AjobK <relative-time datetime="2024-09-26T15:05:56Z" class="no-wrap">Sep 26, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/7bcaff7f420418f6be1ccbdcb901171c6a271bc8" class="select-menu-item " role="menuitem" data-commit="7bcaff7f420418f6be1ccbdcb901171c6a271bc8" data-parent-commit="cc4cbf00b918ed570b27e2529af4924ec3f36466"> <div class="select-menu-item-text"> <code class="float-right">7bcaff7</code> <div class="text-emphasized css-truncate css-truncate-target"> date close to block </div> <span class="description"> AjobK <relative-time datetime="2024-09-26T15:29:07Z" class="no-wrap">Sep 26, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/0988abef1f79414b800e8d2f1660276b23397d4e" class="select-menu-item " role="menuitem" data-commit="0988abef1f79414b800e8d2f1660276b23397d4e" data-parent-commit="7bcaff7f420418f6be1ccbdcb901171c6a271bc8"> <div class="select-menu-item-text"> <code class="float-right">0988abe</code> <div class="text-emphasized css-truncate css-truncate-target"> non-breaking session blocks </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T13:28:03Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/e67fd5a0714d6d2de3a9575a8e047f8a5bd8c8d6" class="select-menu-item " role="menuitem" data-commit="e67fd5a0714d6d2de3a9575a8e047f8a5bd8c8d6" data-parent-commit="0988abef1f79414b800e8d2f1660276b23397d4e"> <div class="select-menu-item-text"> <code class="float-right">e67fd5a</code> <div class="text-emphasized css-truncate css-truncate-target"> remove unnecessary title lines </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T13:41:39Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/3d544cb52fc69cd290ec8d19b5056d81a5b3e664" class="select-menu-item " role="menuitem" data-commit="3d544cb52fc69cd290ec8d19b5056d81a5b3e664" data-parent-commit="e67fd5a0714d6d2de3a9575a8e047f8a5bd8c8d6"> <div class="select-menu-item-text"> <code class="float-right">3d544cb</code> <div class="text-emphasized css-truncate css-truncate-target"> correct newpage impl </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T13:44:30Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/f444e98a53bf2755900cc0831b654c3f30f56c55" class="select-menu-item " role="menuitem" data-commit="f444e98a53bf2755900cc0831b654c3f30f56c55" data-parent-commit="3d544cb52fc69cd290ec8d19b5056d81a5b3e664"> <div class="select-menu-item-text"> <code class="float-right">f444e98</code> <div class="text-emphasized css-truncate css-truncate-target"> session descript toggle </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T16:05:53Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/c38f996bc9c81b933d675c215a1161f431336736" class="select-menu-item " role="menuitem" data-commit="c38f996bc9c81b933d675c215a1161f431336736" data-parent-commit="f444e98a53bf2755900cc0831b654c3f30f56c55"> <div class="select-menu-item-text"> <code class="float-right">c38f996</code> <div class="text-emphasized css-truncate css-truncate-target"> add translation string for location </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T16:08:28Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/19c0bfc02dd7b5f3efb09199405d4ba7c5aa4f81" class="select-menu-item " role="menuitem" data-commit="19c0bfc02dd7b5f3efb09199405d4ba7c5aa4f81" data-parent-commit="c38f996bc9c81b933d675c215a1161f431336736"> <div class="select-menu-item-text"> <code class="float-right">19c0bfc</code> <div class="text-emphasized css-truncate css-truncate-target"> venue name for location </div> <span class="description"> AjobK <relative-time datetime="2024-09-27T16:12:31Z" class="no-wrap">Sep 27, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/d396c423aa226661d1a77571fc7d5feb01f5f47d" class="select-menu-item " role="menuitem" data-commit="d396c423aa226661d1a77571fc7d5feb01f5f47d" data-parent-commit="19c0bfc02dd7b5f3efb09199405d4ba7c5aa4f81"> <div class="select-menu-item-text"> <code class="float-right">d396c42</code> <div class="text-emphasized css-truncate css-truncate-target"> refactor name rendering incl title (wip and still wet) </div> <span class="description"> AjobK <relative-time datetime="2024-10-02T15:26:59Z" class="no-wrap">Oct 2, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/4a3e302916cf88de5409d0852a6f7fe00b70324c" class="select-menu-item " role="menuitem" data-commit="4a3e302916cf88de5409d0852a6f7fe00b70324c" data-parent-commit="d396c423aa226661d1a77571fc7d5feb01f5f47d"> <div class="select-menu-item-text"> <code class="float-right">4a3e302</code> <div class="text-emphasized css-truncate css-truncate-target"> DRY render names </div> <span class="description"> AjobK <relative-time datetime="2024-10-03T09:04:25Z" class="no-wrap">Oct 3, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/01e4496a2529fc9a8c667bddb2af2222be46e5e4" class="select-menu-item " role="menuitem" data-commit="01e4496a2529fc9a8c667bddb2af2222be46e5e4" data-parent-commit="4a3e302916cf88de5409d0852a6f7fe00b70324c"> <div class="select-menu-item-text"> <code class="float-right">01e4496</code> <div class="text-emphasized css-truncate css-truncate-target"> generic css coloring </div> <span class="description"> AjobK <relative-time datetime="2024-10-03T13:43:33Z" class="no-wrap">Oct 3, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/3f4dea7d633b04954ba1da3982a380b382caac29" class="select-menu-item " role="menuitem" data-commit="3f4dea7d633b04954ba1da3982a380b382caac29" data-parent-commit="01e4496a2529fc9a8c667bddb2af2222be46e5e4"> <div class="select-menu-item-text"> <code class="float-right">3f4dea7</code> <div class="text-emphasized css-truncate css-truncate-target"> better toc </div> <span class="description"> AjobK <relative-time datetime="2024-10-03T15:49:38Z" class="no-wrap">Oct 3, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/9f14145352587518950510e22f83cb2c86901ab8" class="select-menu-item " role="menuitem" data-commit="9f14145352587518950510e22f83cb2c86901ab8" data-parent-commit="3f4dea7d633b04954ba1da3982a380b382caac29"> <div class="select-menu-item-text"> <code class="float-right">9f14145</code> <div class="text-emphasized css-truncate css-truncate-target"> better toc </div> <span class="description"> AjobK <relative-time datetime="2024-10-03T16:03:14Z" class="no-wrap">Oct 3, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/be1d7fd2dba5f412070a06e759ff98d3ce93f82b" class="select-menu-item " role="menuitem" data-commit="be1d7fd2dba5f412070a06e759ff98d3ce93f82b" data-parent-commit="9f14145352587518950510e22f83cb2c86901ab8"> <div class="select-menu-item-text"> <code class="float-right">be1d7fd</code> <div class="text-emphasized css-truncate css-truncate-target"> color on cover </div> <span class="description"> AjobK <relative-time datetime="2024-10-03T16:05:57Z" class="no-wrap">Oct 3, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/2373c0b3187a200a0dad1e1f0185693f7a4683a9" class="select-menu-item " role="menuitem" data-commit="2373c0b3187a200a0dad1e1f0185693f7a4683a9" data-parent-commit="be1d7fd2dba5f412070a06e759ff98d3ce93f82b"> <div class="select-menu-item-text"> <code class="float-right">2373c0b</code> <div class="text-emphasized css-truncate css-truncate-target"> styled ToC </div> <span class="description"> AjobK <relative-time datetime="2024-10-04T08:58:32Z" class="no-wrap">Oct 4, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/3f9274f04f57a1112fa317775d58866ca0646202" class="select-menu-item " role="menuitem" data-commit="3f9274f04f57a1112fa317775d58866ca0646202" data-parent-commit="2373c0b3187a200a0dad1e1f0185693f7a4683a9"> <div class="select-menu-item-text"> <code class="float-right">3f9274f</code> <div class="text-emphasized css-truncate css-truncate-target"> remove unused options </div> <span class="description"> AjobK <relative-time datetime="2024-10-04T09:40:33Z" class="no-wrap">Oct 4, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/b4da785ce268eddd6dfa34b2de16c346859d15ef" class="select-menu-item " role="menuitem" data-commit="b4da785ce268eddd6dfa34b2de16c346859d15ef" data-parent-commit="3f9274f04f57a1112fa317775d58866ca0646202"> <div class="select-menu-item-text"> <code class="float-right">b4da785</code> <div class="text-emphasized css-truncate css-truncate-target"> better dynamic classes </div> <span class="description"> AjobK <relative-time datetime="2024-10-07T11:10:13Z" class="no-wrap">Oct 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/cd9a63b452bc73be80eea3431db329b91c4d7782" class="select-menu-item " role="menuitem" data-commit="cd9a63b452bc73be80eea3431db329b91c4d7782" data-parent-commit="b4da785ce268eddd6dfa34b2de16c346859d15ef"> <div class="select-menu-item-text"> <code class="float-right">cd9a63b</code> <div class="text-emphasized css-truncate css-truncate-target"> subcontrib support </div> <span class="description"> AjobK <relative-time datetime="2024-10-07T12:04:10Z" class="no-wrap">Oct 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/74697f14fbf55a02e24b251dc79368e5af8e96e8" class="select-menu-item " role="menuitem" data-commit="74697f14fbf55a02e24b251dc79368e5af8e96e8" data-parent-commit="cd9a63b452bc73be80eea3431db329b91c4d7782"> <div class="select-menu-item-text"> <code class="float-right">74697f1</code> <div class="text-emphasized css-truncate css-truncate-target"> time within subcontribs and page breaks </div> <span class="description"> AjobK <relative-time datetime="2024-10-07T15:19:21Z" class="no-wrap">Oct 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/cf337c28dfb37563972d137f4b3f65457a6b9e80" class="select-menu-item " role="menuitem" data-commit="cf337c28dfb37563972d137f4b3f65457a6b9e80" data-parent-commit="74697f14fbf55a02e24b251dc79368e5af8e96e8"> <div class="select-menu-item-text"> <code class="float-right">cf337c2</code> <div class="text-emphasized css-truncate css-truncate-target"> more readable dynamic css classes </div> <span class="description"> AjobK <relative-time datetime="2024-10-21T12:54:19Z" class="no-wrap">Oct 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/81dd2729929436faf6566a924e8ba7f2ebf1a6d8" class="select-menu-item " role="menuitem" data-commit="81dd2729929436faf6566a924e8ba7f2ebf1a6d8" data-parent-commit="cf337c28dfb37563972d137f4b3f65457a6b9e80"> <div class="select-menu-item-text"> <code class="float-right">81dd272</code> <div class="text-emphasized css-truncate css-truncate-target"> timeline fix </div> <span class="description"> AjobK <relative-time datetime="2024-10-21T15:26:07Z" class="no-wrap">Oct 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/56d6339891e7c298a484a2015a9323e661764e5d" class="select-menu-item " role="menuitem" data-commit="56d6339891e7c298a484a2015a9323e661764e5d" data-parent-commit="81dd2729929436faf6566a924e8ba7f2ebf1a6d8"> <div class="select-menu-item-text"> <code class="float-right">56d6339</code> <div class="text-emphasized css-truncate css-truncate-target"> change timebox margin </div> <span class="description"> AjobK <relative-time datetime="2024-10-21T16:09:04Z" class="no-wrap">Oct 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/9c84506317304cca3f7ee20253c280917bcf8885" class="select-menu-item " role="menuitem" data-commit="9c84506317304cca3f7ee20253c280917bcf8885" data-parent-commit="56d6339891e7c298a484a2015a9323e661764e5d"> <div class="select-menu-item-text"> <code class="float-right">9c84506</code> <div class="text-emphasized css-truncate css-truncate-target"> Improved title breaks </div> <span class="description"> AjobK <relative-time datetime="2024-10-22T11:54:18Z" class="no-wrap">Oct 22, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/83bbbcff8470d7c9903ce10c268db4b71d8e75a0" class="select-menu-item " role="menuitem" data-commit="83bbbcff8470d7c9903ce10c268db4b71d8e75a0" data-parent-commit="9c84506317304cca3f7ee20253c280917bcf8885"> <div class="select-menu-item-text"> <code class="float-right">83bbbcf</code> <div class="text-emphasized css-truncate css-truncate-target"> better spacing styles </div> <span class="description"> AjobK <relative-time datetime="2024-10-22T13:04:18Z" class="no-wrap">Oct 22, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/76d5161ce5dc00249cc777ddc269567ebbde5619" class="select-menu-item " role="menuitem" data-commit="76d5161ce5dc00249cc777ddc269567ebbde5619" data-parent-commit="83bbbcff8470d7c9903ce10c268db4b71d8e75a0"> <div class="select-menu-item-text"> <code class="float-right">76d5161</code> <div class="text-emphasized css-truncate css-truncate-target"> combined contribution and session block template logic </div> <span class="description"> AjobK <relative-time datetime="2024-10-22T14:53:15Z" class="no-wrap">Oct 22, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/f07df0cfe97ac22c85d4e9d1124e3f72a7b63684" class="select-menu-item " role="menuitem" data-commit="f07df0cfe97ac22c85d4e9d1124e3f72a7b63684" data-parent-commit="76d5161ce5dc00249cc777ddc269567ebbde5619"> <div class="select-menu-item-text"> <code class="float-right">f07df0c</code> <div class="text-emphasized css-truncate css-truncate-target"> default contrib color </div> <span class="description"> AjobK <relative-time datetime="2024-10-22T15:32:40Z" class="no-wrap">Oct 22, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/1371e909dab251c4ce6bb4a4f4ad963a2200b04c" class="select-menu-item " role="menuitem" data-commit="1371e909dab251c4ce6bb4a4f4ad963a2200b04c" data-parent-commit="f07df0cfe97ac22c85d4e9d1124e3f72a7b63684"> <div class="select-menu-item-text"> <code class="float-right">1371e90</code> <div class="text-emphasized css-truncate css-truncate-target"> Added locations and poster description toggle </div> <span class="description"> AjobK <relative-time datetime="2024-10-23T15:23:29Z" class="no-wrap">Oct 23, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/83a984d58e680bbb18b0cbbecc1d562bb9f8d173" class="select-menu-item " role="menuitem" data-commit="83a984d58e680bbb18b0cbbecc1d562bb9f8d173" data-parent-commit="1371e909dab251c4ce6bb4a4f4ad963a2200b04c"> <div class="select-menu-item-text"> <code class="float-right">83a984d</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup and toc fix </div> <span class="description"> AjobK <relative-time datetime="2024-10-24T15:21:58Z" class="no-wrap">Oct 24, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/e1256250320454a6f96ea268c36e55618a59b4dc" class="select-menu-item " role="menuitem" data-commit="e1256250320454a6f96ea268c36e55618a59b4dc" data-parent-commit="83a984d58e680bbb18b0cbbecc1d562bb9f8d173"> <div class="select-menu-item-text"> <code class="float-right">e125625</code> <div class="text-emphasized css-truncate css-truncate-target"> Usage of enums, formatting </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T07:57:00Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/62b9db4e535cf40855e8f46ebb8901c42ce3d960" class="select-menu-item " role="menuitem" data-commit="62b9db4e535cf40855e8f46ebb8901c42ce3d960" data-parent-commit="e1256250320454a6f96ea268c36e55618a59b4dc"> <div class="select-menu-item-text"> <code class="float-right">62b9db4</code> <div class="text-emphasized css-truncate css-truncate-target"> dryer code </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T08:19:00Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/149520d5a29ee1b16a4c9148babe61ce77bd2716" class="select-menu-item " role="menuitem" data-commit="149520d5a29ee1b16a4c9148babe61ce77bd2716" data-parent-commit="62b9db4e535cf40855e8f46ebb8901c42ce3d960"> <div class="select-menu-item-text"> <code class="float-right">149520d</code> <div class="text-emphasized css-truncate css-truncate-target"> fix new page for each session and lint fixes </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T08:26:49Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/099d0739765e61e0ad3500d0d5a1add3d8112cb0" class="select-menu-item " role="menuitem" data-commit="099d0739765e61e0ad3500d0d5a1add3d8112cb0" data-parent-commit="149520d5a29ee1b16a4c9148babe61ce77bd2716"> <div class="select-menu-item-text"> <code class="float-right">099d073</code> <div class="text-emphasized css-truncate css-truncate-target"> Removed option to adjust page size </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T08:56:09Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/8e9949ba5d45d2f68bf4b2cec88ae42f05b689f6" class="select-menu-item " role="menuitem" data-commit="8e9949ba5d45d2f68bf4b2cec88ae42f05b689f6" data-parent-commit="099d0739765e61e0ad3500d0d5a1add3d8112cb0"> <div class="select-menu-item-text"> <code class="float-right">8e9949b</code> <div class="text-emphasized css-truncate css-truncate-target"> contrib heading whitespace fix </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:01:27Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/a60a53262d4b9abdac1213f3df209bc5f05b0b7e" class="select-menu-item " role="menuitem" data-commit="a60a53262d4b9abdac1213f3df209bc5f05b0b7e" data-parent-commit="8e9949ba5d45d2f68bf4b2cec88ae42f05b689f6"> <div class="select-menu-item-text"> <code class="float-right">a60a532</code> <div class="text-emphasized css-truncate css-truncate-target"> remove unused class </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:03:52Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/51d2e6454951c79ebb05c9469deef2bd717de3dc" class="select-menu-item " role="menuitem" data-commit="51d2e6454951c79ebb05c9469deef2bd717de3dc" data-parent-commit="a60a53262d4b9abdac1213f3df209bc5f05b0b7e"> <div class="select-menu-item-text"> <code class="float-right">51d2e64</code> <div class="text-emphasized css-truncate css-truncate-target"> fix comma placement on cover page </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:20:33Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/8086eb55a59eb36f721f1f593b0a6234d1d22373" class="select-menu-item " role="menuitem" data-commit="8086eb55a59eb36f721f1f593b0a6234d1d22373" data-parent-commit="51d2e6454951c79ebb05c9469deef2bd717de3dc"> <div class="select-menu-item-text"> <code class="float-right">8086eb5</code> <div class="text-emphasized css-truncate css-truncate-target"> linting fix </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:35:31Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/8e07a39415700bb8332a324bf9f76049558bb413" class="select-menu-item " role="menuitem" data-commit="8e07a39415700bb8332a324bf9f76049558bb413" data-parent-commit="8086eb55a59eb36f721f1f593b0a6234d1d22373"> <div class="select-menu-item-text"> <code class="float-right">8e07a39</code> <div class="text-emphasized css-truncate css-truncate-target"> add header to css </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:43:43Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/d1d78a848e87de264e484d9f8222862bea5c8cb2" class="select-menu-item " role="menuitem" data-commit="d1d78a848e87de264e484d9f8222862bea5c8cb2" data-parent-commit="8e07a39415700bb8332a324bf9f76049558bb413"> <div class="select-menu-item-text"> <code class="float-right">d1d78a8</code> <div class="text-emphasized css-truncate css-truncate-target"> PR comments </div> <span class="description"> AjobK <relative-time datetime="2024-10-25T09:51:46Z" class="no-wrap">Oct 25, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/91748adbf0631274491d55c65d1e3ca63a754eaa" class="select-menu-item " role="menuitem" data-commit="91748adbf0631274491d55c65d1e3ca63a754eaa" data-parent-commit="d1d78a848e87de264e484d9f8222862bea5c8cb2"> <div class="select-menu-item-text"> <code class="float-right">91748ad</code> <div class="text-emphasized css-truncate css-truncate-target"> translation inside styling </div> <span class="description"> AjobK <relative-time datetime="2024-10-28T13:04:56Z" class="no-wrap">Oct 28, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/fcba8ece0f00e587b42845f80636fb3d2fd78832" class="select-menu-item " role="menuitem" data-commit="fcba8ece0f00e587b42845f80636fb3d2fd78832" data-parent-commit="91748adbf0631274491d55c65d1e3ca63a754eaa"> <div class="select-menu-item-text"> <code class="float-right">fcba8ec</code> <div class="text-emphasized css-truncate css-truncate-target"> interval timeformat </div> <span class="description"> AjobK <relative-time datetime="2024-10-30T09:13:59Z" class="no-wrap">Oct 30, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/6ea2957046861b9cb08e33f9ff5abaee065efb82" class="select-menu-item " role="menuitem" data-commit="6ea2957046861b9cb08e33f9ff5abaee065efb82" data-parent-commit="fcba8ece0f00e587b42845f80636fb3d2fd78832"> <div class="select-menu-item-text"> <code class="float-right">6ea2957</code> <div class="text-emphasized css-truncate css-truncate-target"> proper date formatting </div> <span class="description"> AjobK <relative-time datetime="2024-10-30T15:34:01Z" class="no-wrap">Oct 30, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/0a65d090f054a77936ee0a2f2818698cdbc65355" class="select-menu-item " role="menuitem" data-commit="0a65d090f054a77936ee0a2f2818698cdbc65355" data-parent-commit="6ea2957046861b9cb08e33f9ff5abaee065efb82"> <div class="select-menu-item-text"> <code class="float-right">0a65d09</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup and timezone for times </div> <span class="description"> AjobK <relative-time datetime="2024-10-30T15:54:33Z" class="no-wrap">Oct 30, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/bdf5a2c9515f9e5945b95128af3aaf1e65bd9943" class="select-menu-item " role="menuitem" data-commit="bdf5a2c9515f9e5945b95128af3aaf1e65bd9943" data-parent-commit="0a65d090f054a77936ee0a2f2818698cdbc65355"> <div class="select-menu-item-text"> <code class="float-right">bdf5a2c</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup and cover logo fix </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T11:10:49Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/f7ad10779baa7f4021c7645fea7b0251fe094cb6" class="select-menu-item " role="menuitem" data-commit="f7ad10779baa7f4021c7645fea7b0251fe094cb6" data-parent-commit="bdf5a2c9515f9e5945b95128af3aaf1e65bd9943"> <div class="select-menu-item-text"> <code class="float-right">f7ad107</code> <div class="text-emphasized css-truncate css-truncate-target"> clean up toc redundant code </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T11:22:22Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/fd15ac2b16eb88c79b9e73f9f0b5e422a6552572" class="select-menu-item " role="menuitem" data-commit="fd15ac2b16eb88c79b9e73f9f0b5e422a6552572" data-parent-commit="f7ad10779baa7f4021c7645fea7b0251fe094cb6"> <div class="select-menu-item-text"> <code class="float-right">fd15ac2</code> <div class="text-emphasized css-truncate css-truncate-target"> Properly escape title string </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T12:52:42Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/ca35aad4f43b36761ad3a9047fc3fb71532e26a2" class="select-menu-item " role="menuitem" data-commit="ca35aad4f43b36761ad3a9047fc3fb71532e26a2" data-parent-commit="fd15ac2b16eb88c79b9e73f9f0b5e422a6552572"> <div class="select-menu-item-text"> <code class="float-right">ca35aad</code> <div class="text-emphasized css-truncate css-truncate-target"> rm top-left text </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T15:34:33Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/88e30e1b2ab76e12a38fbd453977c27cdab3baf5" class="select-menu-item " role="menuitem" data-commit="88e30e1b2ab76e12a38fbd453977c27cdab3baf5" data-parent-commit="ca35aad4f43b36761ad3a9047fc3fb71532e26a2"> <div class="select-menu-item-text"> <code class="float-right">88e30e1</code> <div class="text-emphasized css-truncate css-truncate-target"> use_kwargs </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T15:57:14Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/1942b7f8c48593260286d4dd79725655dea2d54d" class="select-menu-item " role="menuitem" data-commit="1942b7f8c48593260286d4dd79725655dea2d54d" data-parent-commit="88e30e1b2ab76e12a38fbd453977c27cdab3baf5"> <div class="select-menu-item-text"> <code class="float-right">1942b7f</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:05:15Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/f353ac561c9984284d32605b77c14d0bda0fd760" class="select-menu-item " role="menuitem" data-commit="f353ac561c9984284d32605b77c14d0bda0fd760" data-parent-commit="1942b7f8c48593260286d4dd79725655dea2d54d"> <div class="select-menu-item-text"> <code class="float-right">f353ac5</code> <div class="text-emphasized css-truncate css-truncate-target"> better variable names and rm markup tags </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:07:44Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/473e260d904a9325a39bb74be46487ba483d7c8e" class="select-menu-item " role="menuitem" data-commit="473e260d904a9325a39bb74be46487ba483d7c8e" data-parent-commit="f353ac561c9984284d32605b77c14d0bda0fd760"> <div class="select-menu-item-text"> <code class="float-right">473e260</code> <div class="text-emphasized css-truncate css-truncate-target"> rm more old markup from cover page </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:09:52Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/33fd410d649309ed04de744cc9788ac950eaabf6" class="select-menu-item " role="menuitem" data-commit="33fd410d649309ed04de744cc9788ac950eaabf6" data-parent-commit="473e260d904a9325a39bb74be46487ba483d7c8e"> <div class="select-menu-item-text"> <code class="float-right">33fd410</code> <div class="text-emphasized css-truncate css-truncate-target"> rm useless comment </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:10:22Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/adfc61a9372a826a13003d08eb819b258a974627" class="select-menu-item " role="menuitem" data-commit="adfc61a9372a826a13003d08eb819b258a974627" data-parent-commit="33fd410d649309ed04de744cc9788ac950eaabf6"> <div class="select-menu-item-text"> <code class="float-right">adfc61a</code> <div class="text-emphasized css-truncate css-truncate-target"> lint export class </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:12:22Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/d0ca2105224098170bef89851c2e90ada505b34e" class="select-menu-item " role="menuitem" data-commit="d0ca2105224098170bef89851c2e90ada505b34e" data-parent-commit="adfc61a9372a826a13003d08eb819b258a974627"> <div class="select-menu-item-text"> <code class="float-right">d0ca210</code> <div class="text-emphasized css-truncate css-truncate-target"> better line spacing </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:13:26Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/89f7cf34626f6185c582649b4103ad8a9b2b398e" class="select-menu-item " role="menuitem" data-commit="89f7cf34626f6185c582649b4103ad8a9b2b398e" data-parent-commit="d0ca2105224098170bef89851c2e90ada505b34e"> <div class="select-menu-item-text"> <code class="float-right">89f7cf3</code> <div class="text-emphasized css-truncate css-truncate-target"> cleanup more old markup </div> <span class="description"> AjobK <relative-time datetime="2024-10-31T16:17:40Z" class="no-wrap">Oct 31, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/91908cdfcbefa6616431b4f632191b0c74749650" class="select-menu-item " role="menuitem" data-commit="91908cdfcbefa6616431b4f632191b0c74749650" data-parent-commit="89f7cf34626f6185c582649b4103ad8a9b2b398e"> <div class="select-menu-item-text"> <code class="float-right">91908cd</code> <div class="text-emphasized css-truncate css-truncate-target"> remove pagesize everywhere </div> <span class="description"> AjobK <relative-time datetime="2024-11-01T09:14:48Z" class="no-wrap">Nov 1, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/a3495bcf65659dafbb803d15d437565f06dc009e" class="select-menu-item " role="menuitem" data-commit="a3495bcf65659dafbb803d15d437565f06dc009e" data-parent-commit="91908cdfcbefa6616431b4f632191b0c74749650"> <div class="select-menu-item-text"> <code class="float-right">a3495bc</code> <div class="text-emphasized css-truncate css-truncate-target"> preparation to clean up old PDF after testing </div> <span class="description"> AjobK <relative-time datetime="2024-11-01T09:53:19Z" class="no-wrap">Nov 1, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/44f8fe0ba678674147f74fa109d6bb4b8cb00b5f" class="select-menu-item " role="menuitem" data-commit="44f8fe0ba678674147f74fa109d6bb4b8cb00b5f" data-parent-commit="a3495bcf65659dafbb803d15d437565f06dc009e"> <div class="select-menu-item-text"> <code class="float-right">44f8fe0</code> <div class="text-emphasized css-truncate css-truncate-target"> remove unused code snippet </div> <span class="description"> AjobK <relative-time datetime="2024-11-06T13:51:57Z" class="no-wrap">Nov 6, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/7afd4db4f361a0d06edc1b745511773d31a52453" class="select-menu-item " role="menuitem" data-commit="7afd4db4f361a0d06edc1b745511773d31a52453" data-parent-commit="44f8fe0ba678674147f74fa109d6bb4b8cb00b5f"> <div class="select-menu-item-text"> <code class="float-right">7afd4db</code> <div class="text-emphasized css-truncate css-truncate-target"> 24h format for intervals and i18nd punctuation </div> <span class="description"> AjobK <relative-time datetime="2024-11-06T14:30:25Z" class="no-wrap">Nov 6, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/6a8c4b7de77a6e576a9122237199905085b9d66d" class="select-menu-item " role="menuitem" data-commit="6a8c4b7de77a6e576a9122237199905085b9d66d" data-parent-commit="7afd4db4f361a0d06edc1b745511773d31a52453"> <div class="select-menu-item-text"> <code class="float-right">6a8c4b7</code> <div class="text-emphasized css-truncate css-truncate-target"> display full name prop for name rendering </div> <span class="description"> AjobK <relative-time datetime="2024-11-06T14:34:57Z" class="no-wrap">Nov 6, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/8225774e1c544650b94c5269f74a3a97de291068" class="select-menu-item " role="menuitem" data-commit="8225774e1c544650b94c5269f74a3a97de291068" data-parent-commit="6a8c4b7de77a6e576a9122237199905085b9d66d"> <div class="select-menu-item-text"> <code class="float-right">8225774</code> <div class="text-emphasized css-truncate css-truncate-target"> proper timezones and format skeleton usage </div> <span class="description"> AjobK <relative-time datetime="2024-11-06T15:08:41Z" class="no-wrap">Nov 6, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/cade54e2f50c7716a89b6141e66a850524610ce8" class="select-menu-item " role="menuitem" data-commit="cade54e2f50c7716a89b6141e66a850524610ce8" data-parent-commit="8225774e1c544650b94c5269f74a3a97de291068"> <div class="select-menu-item-text"> <code class="float-right">cade54e</code> <div class="text-emphasized css-truncate css-truncate-target"> better subcontrib naming </div> <span class="description"> AjobK <relative-time datetime="2024-11-06T15:15:02Z" class="no-wrap">Nov 6, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/af3b4d858649aba02fa7da76b128a72390262efb" class="select-menu-item " role="menuitem" data-commit="af3b4d858649aba02fa7da76b128a72390262efb" data-parent-commit="cade54e2f50c7716a89b6141e66a850524610ce8"> <div class="select-menu-item-text"> <code class="float-right">af3b4d8</code> <div class="text-emphasized css-truncate css-truncate-target"> Split breaks into a separate macro </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-07T14:07:53Z" class="no-wrap">Nov 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/ebe125870f832b6b3942912a1711d76faa08b963" class="select-menu-item " role="menuitem" data-commit="ebe125870f832b6b3942912a1711d76faa08b963" data-parent-commit="af3b4d858649aba02fa7da76b128a72390262efb"> <div class="select-menu-item-text"> <code class="float-right">ebe1258</code> <div class="text-emphasized css-truncate css-truncate-target"> Split contribs into a separate macro </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-07T14:22:51Z" class="no-wrap">Nov 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/ee753f89dc89383e6eccfcca797b0bf743ea55a7" class="select-menu-item " role="menuitem" data-commit="ee753f89dc89383e6eccfcca797b0bf743ea55a7" data-parent-commit="ebe125870f832b6b3942912a1711d76faa08b963"> <div class="select-menu-item-text"> <code class="float-right">ee753f8</code> <div class="text-emphasized css-truncate css-truncate-target"> Clean up render_session_block </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-07T14:57:39Z" class="no-wrap">Nov 7, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/af82a8bd201666809f9396a6cd82c6361effdb1c" class="select-menu-item " role="menuitem" data-commit="af82a8bd201666809f9396a6cd82c6361effdb1c" data-parent-commit="ee753f89dc89383e6eccfcca797b0bf743ea55a7"> <div class="select-menu-item-text"> <code class="float-right">af82a8b</code> <div class="text-emphasized css-truncate css-truncate-target"> Use a config object </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-13T09:54:12Z" class="no-wrap">Nov 13, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/5e5e2560a190ba350a881aa91e417c924973c1fb" class="select-menu-item " role="menuitem" data-commit="5e5e2560a190ba350a881aa91e417c924973c1fb" data-parent-commit="af82a8bd201666809f9396a6cd82c6361effdb1c"> <div class="select-menu-item-text"> <code class="float-right">5e5e256</code> <div class="text-emphasized css-truncate css-truncate-target"> Render subcontributions of top-level contribs </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-13T14:30:17Z" class="no-wrap">Nov 13, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/ef621d8d5015901012add4b6ed63375d926a5d6e" class="select-menu-item " role="menuitem" data-commit="ef621d8d5015901012add4b6ed63375d926a5d6e" data-parent-commit="5e5e2560a190ba350a881aa91e417c924973c1fb"> <div class="select-menu-item-text"> <code class="float-right">ef621d8</code> <div class="text-emphasized css-truncate css-truncate-target"> Add 'render_entry_header' macro </div> <span class="description"> tomasr8 <relative-time datetime="2024-11-13T15:51:16Z" class="no-wrap">Nov 13, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/708d678a6aa3a6ace07cb281fd071c8c00eb9000" class="select-menu-item " role="menuitem" data-commit="708d678a6aa3a6ace07cb281fd071c8c00eb9000" data-parent-commit="ef621d8d5015901012add4b6ed63375d926a5d6e"> <div class="select-menu-item-text"> <code class="float-right">708d678</code> <div class="text-emphasized css-truncate css-truncate-target"> rm consolelog and fix poster conditional </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T09:52:50Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/7aa683cccbb2bed891f176fb3d9413ccd6a3615e" class="select-menu-item " role="menuitem" data-commit="7aa683cccbb2bed891f176fb3d9413ccd6a3615e" data-parent-commit="708d678a6aa3a6ace07cb281fd071c8c00eb9000"> <div class="select-menu-item-text"> <code class="float-right">7aa683c</code> <div class="text-emphasized css-truncate css-truncate-target"> spacing after convener/speaker </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T14:48:55Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/e9871f29ebc6712cb3225f471fd1c89fdb0ac2bb" class="select-menu-item " role="menuitem" data-commit="e9871f29ebc6712cb3225f471fd1c89fdb0ac2bb" data-parent-commit="7aa683cccbb2bed891f176fb3d9413ccd6a3615e"> <div class="select-menu-item-text"> <code class="float-right">e9871f2</code> <div class="text-emphasized css-truncate css-truncate-target"> rm legacy pdf code </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T15:08:38Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/d61d2cdd7a706327885139b7aecc3dd58b9adac1" class="select-menu-item " role="menuitem" data-commit="d61d2cdd7a706327885139b7aecc3dd58b9adac1" data-parent-commit="e9871f29ebc6712cb3225f471fd1c89fdb0ac2bb"> <div class="select-menu-item-text"> <code class="float-right">d61d2cd</code> <div class="text-emphasized css-truncate css-truncate-target"> only display speaker/convener info if available </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T15:20:29Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/646f35c5e46f54114d570f77c7548fe5f8254fcb" class="select-menu-item " role="menuitem" data-commit="646f35c5e46f54114d570f77c7548fe5f8254fcb" data-parent-commit="d61d2cdd7a706327885139b7aecc3dd58b9adac1"> <div class="select-menu-item-text"> <code class="float-right">646f35c</code> <div class="text-emphasized css-truncate css-truncate-target"> rm unused class </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T15:35:30Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/1dd27c9e3cbbf85a16d3015eb91c7c016af9cbb3" class="select-menu-item " role="menuitem" data-commit="1dd27c9e3cbbf85a16d3015eb91c7c016af9cbb3" data-parent-commit="646f35c5e46f54114d570f77c7548fe5f8254fcb"> <div class="select-menu-item-text"> <code class="float-right">1dd27c9</code> <div class="text-emphasized css-truncate css-truncate-target"> rm unused class </div> <span class="description"> AjobK <relative-time datetime="2024-11-15T15:40:57Z" class="no-wrap">Nov 15, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/4695be5bc7b4965f4f32070a1873161e3a90aebe" class="select-menu-item " role="menuitem" data-commit="4695be5bc7b4965f4f32070a1873161e3a90aebe" data-parent-commit="1dd27c9e3cbbf85a16d3015eb91c7c016af9cbb3"> <div class="select-menu-item-text"> <code class="float-right">4695be5</code> <div class="text-emphasized css-truncate css-truncate-target"> changed timetable retrieval logic </div> <span class="description"> AjobK <relative-time datetime="2024-11-20T15:10:15Z" class="no-wrap">Nov 20, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/43cc197dafe1879fad4dfe01c77507c555d9bfe1" class="select-menu-item " role="menuitem" data-commit="43cc197dafe1879fad4dfe01c77507c555d9bfe1" data-parent-commit="4695be5bc7b4965f4f32070a1873161e3a90aebe"> <div class="select-menu-item-text"> <code class="float-right">43cc197</code> <div class="text-emphasized css-truncate css-truncate-target"> reuse data join logic </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T12:59:36Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/a893ee0e2e0f80c33c6a8891849f1923cf5532b1" class="select-menu-item " role="menuitem" data-commit="a893ee0e2e0f80c33c6a8891849f1923cf5532b1" data-parent-commit="43cc197dafe1879fad4dfe01c77507c555d9bfe1"> <div class="select-menu-item-text"> <code class="float-right">a893ee0</code> <div class="text-emphasized css-truncate css-truncate-target"> rm unnecessary label on cover page </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T13:05:26Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/994bfe2a1e9bffa5adc69f78da37faad6fec83b0" class="select-menu-item " role="menuitem" data-commit="994bfe2a1e9bffa5adc69f78da37faad6fec83b0" data-parent-commit="a893ee0e2e0f80c33c6a8891849f1923cf5532b1"> <div class="select-menu-item-text"> <code class="float-right">994bfe2</code> <div class="text-emphasized css-truncate css-truncate-target"> non-exported macros and semantic html changes </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T13:29:49Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/aef77d75b448eee275b2f30c8440e15556d0315f" class="select-menu-item " role="menuitem" data-commit="aef77d75b448eee275b2f30c8440e15556d0315f" data-parent-commit="994bfe2a1e9bffa5adc69f78da37faad6fec83b0"> <div class="select-menu-item-text"> <code class="float-right">aef77d7</code> <div class="text-emphasized css-truncate css-truncate-target"> remove dead code and apply pr comments </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T13:41:14Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/43551b6daf838ec1565309ea25f9b79988e9a354" class="select-menu-item " role="menuitem" data-commit="43551b6daf838ec1565309ea25f9b79988e9a354" data-parent-commit="aef77d75b448eee275b2f30c8440e15556d0315f"> <div class="select-menu-item-text"> <code class="float-right">43551b6</code> <div class="text-emphasized css-truncate css-truncate-target"> use tzinfo instead of timezone prop </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T13:59:18Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/65ae8326dbe876d7d41b72a22c8e1e03c23d7ba1" class="select-menu-item " role="menuitem" data-commit="65ae8326dbe876d7d41b72a22c8e1e03c23d7ba1" data-parent-commit="43551b6daf838ec1565309ea25f9b79988e9a354"> <div class="select-menu-item-text"> <code class="float-right">65ae832</code> <div class="text-emphasized css-truncate css-truncate-target"> remove unnecessary conditional </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T14:06:17Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> <a href="/indico/indico/pull/6558/commits/51d1a6741e7af63f6f7fed2f48037ec487389df2" class="select-menu-item " role="menuitem" data-commit="51d1a6741e7af63f6f7fed2f48037ec487389df2" data-parent-commit="65ae8326dbe876d7d41b72a22c8e1e03c23d7ba1"> <div class="select-menu-item-text"> <code class="float-right">51d1a67</code> <div class="text-emphasized css-truncate css-truncate-target"> use new pdf gen on timetable/timetable.pdf route </div> <span class="description"> AjobK <relative-time datetime="2024-11-21T15:18:48Z" class="no-wrap">Nov 21, 2024</relative-time> </span> </div> </a> </div> </div> </details-menu> </details> <file-filter data-target="diff-file-filter.fileFilter" data-action="file-filter-change:diff-file-filter#applyFilter"> <details class="diffbar-item details-reset details-overlay" > <summary class="Link--muted select-menu-button" aria-haspopup="true" data-target="file-filter.summary"> <strong class="js-file-filter-text css-truncate css-truncate-target" data-target="file-filter.fileFilterActiveText" > File filter </strong> </summary> <details-menu class="SelectMenu js-file-filter"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <h3 class="SelectMenu-title">Filter by extension</h3> </header> <div class="SelectMenu-list SelectMenu-list--borderless"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-file-filter-form" data-turbo="false" action="/" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="uRXTDVj-st5TiCduHcua6VCkaBBsLkYAQdQgWDcqX9Z1pOmAUYtrWn3-YjJxOtwBkmTADiYO1WLyHyS5h0bLfg" autocomplete="off" /> <fieldset> <legend class="sr-only">Filter by extension</legend> <label class="SelectMenu-item" role="menuitem"> <input class="js-diff-file-type-option mr-2" type="checkbox" value=".css" name="file-filters[]" checked data-hydro-click-payload= "{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"toggle_file_filter_option","data":{"type":"extension","file_type":".css","file_count":1},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac= "58c33588c2b5f0283c0004fcf0ff99ea04daf7ffa25b6e9e7edef87788d617bd" data-non-deleted-files-count="1" data-targets="file-filter.fileExtensions" data-action="change:file-filter#updateFileInputs" > .css  <span class="text-normal js-file-type-count" data-non-deleted-file-count-markup="(1)" data-all-file-count-markup="(1)" data-targets="file-filter.fileTypeCount" > (1) </span> </label> <label class="SelectMenu-item" role="menuitem"> <input class="js-diff-file-type-option mr-2" type="checkbox" value=".html" name="file-filters[]" checked data-hydro-click-payload= "{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"toggle_file_filter_option","data":{"type":"extension","file_type":".html","file_count":6},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac= "63d55ad7292fdc2ecbad0b01fe26c1d77a338756605f7a82149fd6b5479af8ae" data-non-deleted-files-count="6" data-targets="file-filter.fileExtensions" data-action="change:file-filter#updateFileInputs" > .html  <span class="text-normal js-file-type-count" data-non-deleted-file-count-markup="(6)" data-all-file-count-markup="(6)" data-targets="file-filter.fileTypeCount" > (6) </span> </label> <label class="SelectMenu-item" role="menuitem"> <input class="js-diff-file-type-option mr-2" type="checkbox" value=".js" name="file-filters[]" checked data-hydro-click-payload= "{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"toggle_file_filter_option","data":{"type":"extension","file_type":".js","file_count":1},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac= "a1e7e33bb3cb191fe7c05e2090937ec3f8a05ac1b5e66c4785308a180d6436a4" data-non-deleted-files-count="1" data-targets="file-filter.fileExtensions" data-action="change:file-filter#updateFileInputs" > .js  <span class="text-normal js-file-type-count" data-non-deleted-file-count-markup="(1)" data-all-file-count-markup="(1)" data-targets="file-filter.fileTypeCount" > (1) </span> </label> <label class="SelectMenu-item" role="menuitem"> <input class="js-diff-file-type-option mr-2" type="checkbox" value=".py" name="file-filters[]" checked data-hydro-click-payload= "{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"toggle_file_filter_option","data":{"type":"extension","file_type":".py","file_count":7},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac= "31a41cdf3784854ea470d3c782ec93fb3de6646e6ca6bebf4e0d4de1cc40b21c" data-non-deleted-files-count="7" data-targets="file-filter.fileExtensions" data-action="change:file-filter#updateFileInputs" > .py  <span class="text-normal js-file-type-count" data-non-deleted-file-count-markup="(7)" data-all-file-count-markup="(7)" data-targets="file-filter.fileTypeCount" > (7) </span> </label> <label class="SelectMenu-item" role="menuitem"> <input type="checkbox" class="sr-only hx_focus-input" data-target="file-filter.selectAllInput" data-action="change:file-filter#enableAllFileInputs" > <span class="color-fg-muted no-underline text-normal js-file-filter-select-all-container hx_focus-target" data-select-all-markup="Select all 4 file types" data-all-selected-markup="All 4 file types selected" data-target="file-filter.selectAllContainer" > All 4 file types selected </span> </label> </fieldset> <hr class="SelectMenu-divider"> <label class="SelectMenu-item" role="menuitem"> <input type="checkbox" class="js-viewed-files-toggle mr-2" name="show-viewed-files" value="true" checked data-hydro-click-payload= "{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"toggle_file_filter_option","data":{"type":"viewed"},"originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac= "601e36effc585ac084ca86659e037710c095304261f94ff4fd60a1c12b5e8b71" data-target="file-filter.viewedFilesInput" data-action="change:file-filter#updateFileInputs" > Viewed files </label> </form> </div> </div> </details-menu> </details> </file-filter> <div class="js-reset-filters diffbar-item hide-sm" data-target="diff-file-filter.resetFilters" hidden > <a class="text-bold color-fg-accent no-underline" href="/indico/indico/pull/6558/files" data-action="click:diff-file-filter#clearFilters" data-hydro-click="{"event_type":"pull_request.user_action","payload":{"user_id":null,"pull_request_id":2086526264,"category":"file_filter","action":"clear_filters","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="09f44c9963760195bbe2abf11ae466c7800211a8880c3e94d8e96fdecbdb86ac" > <svg style="height: 12px; width: 12px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x color-fg-muted"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> <span>Clear filters</span> </a> </div> <div class="position-relative diffbar-item ml-0"> <details class="details-reset details-overlay toc-select js-conversations-details select-menu ml-0"> <summary data-ga-click="Pull Requests, open view comments menu, type:semantic" data-view-component="true" class="Link--muted select-menu-button btn-link"> <strong class="js-conversation-menu-button">Conversations</strong> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;" id="conversations-menu" src="/indico/indico/pull/6558/conversations_menu" preload> <include-fragment> <div class="select-menu-blankslate select-menu-error"> Failed to load comments. <button type="button" data-view-component="true" class="js-toc-retry btn-link"> Retry </button> </div> <div class="select-menu-loading-overlay d-flex flex-items-center flex-justify-center"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="flex-1 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </include-fragment> </details-menu> </details> </div> <details class="details-reset details-overlay diffbar-item toc-select select-menu ml-0 d-md-none" data-target="diff-layout.tocMenu" > <summary data-target="diff-layout.tocMenuButton" data-ga-click="Pull Requests, open table of contents, type:semantic" data-view-component="true" class="Link--muted select-menu-button btn-link"> <strong>Jump to</strong> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;" src="/indico/indico/pull/6558/show_toc?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&sha1=257a5e293592d6061ada0a33765ad7d8eb480dd2&sha2=51d1a6741e7af63f6f7fed2f48037ec487389df2" preload> <div class="select-menu-header"> <span class="select-menu-title"> Jump to file </span> </div> <include-fragment> <div class="select-menu-blankslate select-menu-error"> Failed to load files. <button type="button" data-view-component="true" class="js-toc-retry btn-link"> Retry </button> </div> <div class="select-menu-loading-overlay" aria-busy="true"> <span data-view-component="true"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> </div> </include-fragment> </details-menu> </details> <div class="hide-sm hide-md"> <details data-view-component="true" class="diffbar-item details-reset details-overlay position-relative text-center"> <summary role="button" data-view-component="true"> <svg aria-label="Diff settings" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gear color-fg-muted"> <path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path> </svg> <div class="dropdown-caret color-fg-muted"></div> </summary> <div data-view-component="true"> <div data-view-component="true" class="Popover position-absolute mt-2 pt-1 right-0 left-0"> <div style="left: -107px; top: -7px" data-view-component="true" class="Popover-message Box position-relative mx-auto text-left color-shadow-large p-2 mt-2"> <h5 data-view-component="true" class="mb-2"> Diff view </h5> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/indico/indico/pull/6558/diffview" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="zNPFKf6lQC6JjBd6lNWerZJHF9mhc/iVYty8YeNqW3ISUqAUZ1Cml72MCgdi1faaqfl53bsWkLqILR/FHxtbcg==" /> <div class="d-flex flex-justify-center"> <div class="js-unified-diff-view"> <div data-view-component="true" class="js-unified-diff-view-box border rounded-1 pt-3 pb-1 color-border-accent-emphasis"> <label> <div class="text-center px-4"> <img src="https://github.githubassets.com/assets/unified-6de447b07fd7.svg" height="50" width="50" alt="Unified Diff View" data-view-component="true" /> </div> <div class="d-flex flex-items-center ml-2"> <input type="radio" name="diff" id="diff_unified_lg" value="unified" class="js-unified-diff-view-option mr-1" checked="checked" /> Unified </div> </label> </div> </div> <div class="js-split-diff-view"> <div data-view-component="true" class="js-split-diff-view-box border rounded-1 pt-3 pb-1 ml-2 color-border-default"> <label> <div class="text-center px-4"> <img src="https://github.githubassets.com/assets/split-b930d4a1df45.svg" height="50" width="50" alt="Split Diff View" data-view-component="true" /> </div> <div class="d-flex flex-items-center ml-2"> <input type="radio" name="diff" id="diff_split_lg" value="split" class="js-split-diff-view-option mr-1" /> Split </div> </label> </div> </div> </div> <div class="mt-2 mb-2 ml-1 d-flex flex-items-center"> <input type="hidden" name="w" id="show_whitespace_lg" value="0" autocomplete="off" class="form-control" /> <input type="checkbox" name="w" id="whitespace-cb-lg" value="1" /> <label for="whitespace-cb-lg" class="ml-1">Hide whitespace</label> </div> <div class="d-flex flex-column mt-2 px-1"> <button type="submit" data-view-component="true" class="btn-sm btn"> Apply and reload </button> </div> </form> </div></div></div> </details></div> <div class="ml-2 hide-sm hide-md"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/indico/indico/pull/6558/diffview" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="4vdo/puOwqaUB6xj2f5mjsEKVdWm+4gxkEPxTAuXuQc8dg3DAnskH6AHsR4v/g65+rQ70bye4B56slLo9+a5Bw==" /> <button name="w" value="0" hidden="hidden" type="submit" data-view-component="true" class="btn-invisible btn-sm btn color-fg-accent py-0 px-1 rounded-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye color-fg-accent mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg>Show whitespace </button></form></div> <div class="hide-lg hide-xl"> <details data-view-component="true" class="diffbar-item details-reset details-overlay position-relative text-center"> <summary role="button" data-view-component="true"> <svg aria-label="Diff settings" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gear color-fg-muted"> <path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path> </svg> <div class="dropdown-caret color-fg-muted"></div> </summary> <div data-view-component="true"> <div data-view-component="true" class="Popover position-fixed mt-2 pt-1 right-0 left-0"> <div data-view-component="true" class="Popover-message Box position-relative mx-auto text-left color-shadow-large p-2 mt-2"> <h5 data-view-component="true" class="mb-2"> Diff view </h5> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/indico/indico/pull/6558/diffview" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="YaWOAe83TYCTdm5fpvPdkTAt32DUT5ZQwoMDxyYZeJy/JOs8dsKrOad2cyJQ87WmC5OxZM4q/n8ocqBj2mh4nA==" /> <div class="d-flex flex-items-center"> <div class="js-unified-diff-view d-flex flex-1"> <div data-view-component="true" class="js-unified-diff-view-box flex-1 border rounded-1 pt-3 px-2 pb-1 color-border-accent-emphasis"> <label> <div class="text-center"> <img src="https://github.githubassets.com/assets/unified-6de447b07fd7.svg" height="50" width="50" alt="Unified Diff View" data-view-component="true" /> </div> <div class="d-flex flex-items-center"> <input type="radio" name="diff" id="diff_unified" value="unified" class="js-unified-diff-view-option mr-1" checked="checked" /> Unified </div> </label> </div> </div> <div class="js-split-diff-view d-flex flex-1"> <div data-view-component="true" class="js-split-diff-view-box flex-1 border rounded-1 pt-3 px-2 pb-1 ml-2 color-border-default"> <label> <div class="text-center"> <img src="https://github.githubassets.com/assets/split-b930d4a1df45.svg" height="50" width="50" alt="Split Diff View" data-view-component="true" /> </div> <div class="d-flex flex-items-center"> <input type="radio" name="diff" id="diff_split" value="split" class="js-split-diff-view-option mr-1" /> Split </div> </label> </div> </div> </div> <div class="mt-2 mb-2 d-flex flex-items-center"> <input type="hidden" name="w" id="show_whitespace" value="0" autocomplete="off" class="form-control" /> <input type="checkbox" name="w" id="whitespace-cb" value="1" /> <label for="whitespace-cb" class="ml-1">Hide whitespace</label> </div> <div class="d-flex flex-column mt-2"> <button type="submit" data-view-component="true" class="btn-sm btn"> Apply and reload </button> </div> </form> </div></div></div> </details></div> <div class="js-socket-channel js-updatable-content js-pull-refresh-on-pjax" data-channel="eyJjIjoicHVsbF9yZXF1ZXN0OjIwODY1MjYyNjQiLCJ0IjoxNzMyNDAzMjE0fQ==--31becde7966c7ef2fc0ed06000c492e47fc67904f53df57b19b2204aad7d96d6" data-url="/indico/indico/pull/6558/show_partial_comparison?base_commit_oid=257a5e293592d6061ada0a33765ad7d8eb480dd2&end_commit_oid=51d1a6741e7af63f6f7fed2f48037ec487389df2&partial=pull_requests%2Fstale_comparison&start_commit_oid=257a5e293592d6061ada0a33765ad7d8eb480dd2" data-gid="PR_kwDOACA-K858Xd04"></div> </div> </div> <div class="flex-grow-0 flex-shrink-0 pr-review-tools"> </div> </div> </div> <div class="toolbar-shadow js-notification-shelf-offset-top" data-original-top="60px"></div> <div side="left" responsive="true" data-target="diff-layout.layoutContainer" data-view-component="true" class="Layout Layout--flowRow-until-md Layout--gutter-condensed hx_Layout wants-full-width-container Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-none"> <div data-target="diff-layout.sidebarContainer" data-action="scroll:diff-layout.sidebarContainer#handleSidebarScroll" data-view-component="true" class="Layout-sidebar overflow-y-auto hx_Layout--sidebar js-notification-shelf-offset-top position-sticky"> <div > <svg xmlns="http://www.w3.org/2000/svg" hidden aria-hidden="true"> <symbol id="octicon_file-directory-fill_16" viewBox="0 0 16 16" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></symbol><symbol id="octicon_file-submodule_16" viewBox="0 0 16 16" width="16" height="16"><path d="M0 2.75C0 1.784.784 1 1.75 1H5c.55 0 1.07.26 1.4.7l.9 1.2a.25.25 0 0 0 .2.1h6.75c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25Zm9.42 9.36 2.883-2.677a.25.25 0 0 0 0-.366L9.42 6.39a.249.249 0 0 0-.42.183V8.5H4.75a.75.75 0 0 0 0 1.5H9v1.927c0 .218.26.331.42.183Z"></path></symbol><symbol id="octicon_file_16" viewBox="0 0 16 16" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></symbol><symbol id="octicon_chevron-down_16" viewBox="0 0 16 16" width="16" height="16"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></symbol><symbol id="octicon_diff-added_16" viewBox="0 0 16 16" width="16" height="16"><path d="M2.75 1h10.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1Zm10.5 1.5H2.75a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4Z"></path></symbol><symbol id="octicon_diff-removed_16" viewBox="0 0 16 16" width="16" height="16"><path d="M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm8.5 6.25h-6.5a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5Z"></path></symbol><symbol id="octicon_diff-modified_16" viewBox="0 0 16 16" width="16" height="16"><path d="M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path></symbol><symbol id="octicon_diff-renamed_16" viewBox="0 0 16 16" width="16" height="16"><path d="M13.25 1c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 13.25 15H2.75A1.75 1.75 0 0 1 1 13.25V2.75C1 1.784 1.784 1 2.75 1ZM2.75 2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Zm9.03 6.03-3.25 3.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.97-1.97H4.75a.75.75 0 0 1 0-1.5h4.69L7.47 5.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l3.25 3.25a.75.75 0 0 1 0 1.06Z"></path></symbol> </svg> <div class="subnav-search mx-0 mb-2" > <input type="text" id="file-tree-filter-field" class="form-control input-block pl-5 js-filterable-field" placeholder="Filter changed files" aria-label="Filter changed files" autocomplete="off" data-target="diff-layout.fileTreePathFilter" data-hydro-click-payload={"event_type":"pull_request.user_action","payload":{"category":"file_filter","data":{"file_count":15},"pull_request_id":2086526264,"user_id":null,"action":"filter_by_pathname","originating_url":"https://github.com/indico/indico/pull/6558/files"}} data-hydro-click-hmac=6d86fb8d6b6c6038924d1ed6817911a3ad5a76b16cc1b82efdc0120ef0f7f731 > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search subnav-search-icon"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <experimental-action-list data-arrow-navigation="true"> <file-tree data-target="diff-layout.fileTree"> <nav aria-label="File Tree Navigation" > <ul class="ActionList ActionList--tree ActionList--full" role="tree" aria-label="File Tree" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" data-tree-entry-type="root" data-target="diff-file-filter.treeRoot" data-action=" filterable:change:diff-file-filter#hideEmptyDirectories filterable:change:file-tree#instrumentPathFilterChange filterable:change:experimental-action-list#setupFocusZone " > <li class="ActionList-item ActionList-item--hasSubItem js-tree-node" aria-level="1" role="treeitem" style="--ActionList-tree-depth: 1;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > indico </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="2" role="treeitem" style="--ActionList-tree-depth: 2;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > legacy/pdfinterface </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="3" style="--ActionList-tree-depth: 3;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/legacy/pdfinterface/base.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="8c2e610d85d69027ac6b5e75b3131696423a3a3a68eee3a13bd67825e3c1d406" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/legacy/pdfinterface/base.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > base.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="3" style="--ActionList-tree-depth: 3;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/legacy/pdfinterface/conference.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="280bf40393e6341431783a9c7639c2d781ff7f7af23f54155cb9099e5d4aa46d" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/legacy/pdfinterface/conference.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > conference.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="2" role="treeitem" style="--ActionList-tree-depth: 2;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > modules/events </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="3" role="treeitem" style="--ActionList-tree-depth: 3;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > sessions </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="4" style="--ActionList-tree-depth: 4;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/sessions/util.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="a9df0dcac7f9056e65fa2fbd2a24bad48cab7974ec9b5ee3943c2fb52df997a9" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/sessions/util.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > util.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="3" role="treeitem" style="--ActionList-tree-depth: 3;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > timetable </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="4" role="treeitem" style="--ActionList-tree-depth: 4;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > controllers </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="5" style="--ActionList-tree-depth: 5;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/controllers/display.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="02a1626e63cb55a542fb764f43f79118363c42d313e12d9b1c3e5c37110d8415" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/controllers/display.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > display.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> <li id="file-tree-item-diff-b460db0a9b24541c5b7053110e4feaba66ac53bb29a05143449c2749e22783aa" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="4" style="--ActionList-tree-depth: 4;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/forms.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="00de62bc3ef77c98621a95d0a6dc05d91a4cdc4306e667b8f6fa644afdb9fd75" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/forms.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-b460db0a9b24541c5b7053110e4feaba66ac53bb29a05143449c2749e22783aa" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > forms.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="4" role="treeitem" style="--ActionList-tree-depth: 4;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > templates </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="5" role="treeitem" style="--ActionList-tree-depth: 5;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > display/indico </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-bdba5c69660f971f23cf7531175f453ba6a23e47e12eafc14f4f4fb7c979099d" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/display/indico/_session_block.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="01cb3dbc98438a982bbb31593a61ba006df6dd9d5df72966f6a50013b2e68057" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/display/indico/_session_block.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-bdba5c69660f971f23cf7531175f453ba6a23e47e12eafc14f4f4fb7c979099d" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > _session_block.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="5" role="treeitem" style="--ActionList-tree-depth: 5;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > pdf </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-5711d263052087a869fb209aacea8a419ad95feedd9be52e29da117c909556f7" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/pdf/_cover_page.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="684b85ac0a62142b51293e9d2c27a1dea32d8d63d77b1bcceaa6ef1665b1aa47" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/pdf/_cover_page.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-5711d263052087a869fb209aacea8a419ad95feedd9be52e29da117c909556f7" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > _cover_page.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-f8b3e8096d3950a79b0952f374802667ab0f5ff3c7e5a793657411f97ef8bd1e" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/pdf/_program.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="5166aecea2cd17d68286dd8ba6e8e9a4565a85a09289b1482cb061fd93ea76b2" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/pdf/_program.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-f8b3e8096d3950a79b0952f374802667ab0f5ff3c7e5a793657411f97ef8bd1e" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > _program.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-b0cf3bdcd1193f1127615e76c82e427a6af85d1468f7fcf24acdf52283470195" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/pdf/_toc.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="dd84632e46bda04fde302b0ae0211416ebc9a93a2550b1e0ffe50d5852ac11da" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/pdf/_toc.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-b0cf3bdcd1193f1127615e76c82e427a6af85d1468f7fcf24acdf52283470195" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > _toc.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-82cba88345976dcce8e1feb68d60b4b6788b41c50516a8e3e2ab5264cbb627e7" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/pdf/timetable.css","extension":".css"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="1dc0c73a8fae605aefe3b33eb1956f9a08693f4a8a11d2ea4ea7550dea9da12d" data-file-type=".css" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/pdf/timetable.css</span> <a class="ActionList-content hx_ActionList-content" href="#diff-82cba88345976dcce8e1feb68d60b4b6788b41c50516a8e3e2ab5264cbb627e7" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > timetable.css </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> <li id="file-tree-item-diff-31dfb0ade0cad4e877edac91632b6796c2922833d61e7d9cb55a787d84b89a1e" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="6" style="--ActionList-tree-depth: 6;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/pdf/timetable.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="7915b53cc2b438d8f2af3c9c83bf72880afb94f8bcd70de027b06f2d1d405503" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/pdf/timetable.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-31dfb0ade0cad4e877edac91632b6796c2922833d61e7d9cb55a787d84b89a1e" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > timetable.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="added" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-added color-fg-success"> <use href="#octicon_diff-added_16"></use> </svg> </span> </a> </li> </ul> </li> <li id="file-tree-item-diff-4c7074ec3dc2501f58b7c7308b79ed8289510901f8e25825169c892078fceb69" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="5" style="--ActionList-tree-depth: 5;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/templates/timetable_pdf_export.html","extension":".html"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="5041e272a4b40ac3e946be657f48f5f580f756f15ad2f644107ea3920a1639ee" data-file-type=".html" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/templates/timetable_pdf_export.html</span> <a class="ActionList-content hx_ActionList-content" href="#diff-4c7074ec3dc2501f58b7c7308b79ed8289510901f8e25825169c892078fceb69" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > timetable_pdf_export.html </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> <li id="file-tree-item-diff-3241e94660a8355e74aed20b76051bcadf4293f2cd5dbcd4c1f40c845c93debf" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="4" style="--ActionList-tree-depth: 4;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/util.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="7221473ab184ff062525785f40b144a72afc69c434660c9cd87b605d05058295" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/util.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-3241e94660a8355e74aed20b76051bcadf4293f2cd5dbcd4c1f40c845c93debf" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > util.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="4" role="treeitem" style="--ActionList-tree-depth: 4;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > views </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-17490c888d8b46f16ea925b5fe2939abb98b6209c8faa361226eb26777fec3dd" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="5" style="--ActionList-tree-depth: 5;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/modules/events/timetable/views/__init__.py","extension":".py"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="484c224e85b148412d66ad1cbd4938c8ac35f50e936b82277ca383fb6b4c8772" data-file-type=".py" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/modules/events/timetable/views/__init__.py</span> <a class="ActionList-content hx_ActionList-content" href="#diff-17490c888d8b46f16ea925b5fe2939abb98b6209c8faa361226eb26777fec3dd" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > __init__.py </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> </ul> </li> </ul> </li> <li class="ActionList-item ActionList-item--hasSubItem ActionList-item--subItem js-tree-node" aria-level="2" role="treeitem" style="--ActionList-tree-depth: 2;" data-skip-substring-filter data-tree-entry-type="directory" > <button class="ActionList-content" aria-expanded="true" type="button" data-action="click:experimental-action-list#handleItemWithSubItemClick" > <span class="ActionList-item-action ActionList-item-action--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down ActionList-item-collapseIcon"> <use href="#octicon_chevron-down_16"></use> </svg> </span> <span class="ActionList-item-visual ActionList-item-visual--leading"> <svg aria-label="Directory" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-directory-fill hx_color-icon-directory"> <use href="#octicon_file-directory-fill_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate" > web/client/js/legacy/libs/timetable </span> </button> <ul class="ActionList ActionList--subGroup" data-filterable-for="file-tree-filter-field" data-filterable-type="substring" role="group" > <li id="file-tree-item-diff-8a4f7b2859b74b40c3fa4c5b31ee767e71389b7997d6bf6f8e3885a86063ff29" class="ActionList-item ActionList-item--subItem js-tree-node" role="treeitem" aria-level="3" style="--ActionList-tree-depth: 3;" data-action=" click:experimental-action-list#handleItemClick click:file-tree#instrumentSelectFile " data-target="file-tree.fileTreeNode" data-targets=" diff-file-filter.treeEntries file-tree.fileTreeNodes " data-hydro-click-payload="{"event_type":"pull_request.user_action","payload":{"category":"file_tree","data":{"file_count":15,"path":"indico/web/client/js/legacy/libs/timetable/Base.js","extension":".js"},"pull_request_id":2086526264,"user_id":null,"action":"file_selected","originating_url":"https://github.com/indico/indico/pull/6558/files"}}" data-hydro-click-hmac="c675060b53ea2c9267da9b11337f8b6ea6a095787f0f018ac287616524ee3acb" data-file-type=".js" data-file-deleted="false" data-codeowners="" data-tree-entry-type="file" > <span data-filterable-item-text hidden>indico/web/client/js/legacy/libs/timetable/Base.js</span> <a class="ActionList-content hx_ActionList-content" href="#diff-8a4f7b2859b74b40c3fa4c5b31ee767e71389b7997d6bf6f8e3885a86063ff29" data-turbo="false" > <span class="ActionList-item-visual ActionList-item-visual--leading hx_ActionList-item-visual"> <svg aria-label="File" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file color-fg-muted"> <use href="#octicon_file_16"></use> </svg> </span> <span class="ActionList-item-label ActionList-item-label--truncate hx_ActionList-item-label" > Base.js </span> <span class="ActionList-item-visual ActionList-item-visual--trailing hx_ActionList-item-visual"> <svg title="modified" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-diff-modified color-fg-attention"> <use href="#octicon_diff-modified_16"></use> </svg> </span> </a> </li> </ul> </li> </ul> </li> </ul> </nav> </file-tree> </experimental-action-list> </div> </div> <div data-target="diff-layout.mainContainer" data-view-component="true" class="Layout-main"> <template class="js-comment-button-template"> <button data-path="{{ path }}" data-anchor="{{ anchor }}" data-position="{{ position }}" data-side="{{ side }}" data-line="{{ line }}" data-original-line="{{ originalLine }}" aria-label="Add line comment" type="button" data-view-component="true" class="add-line-comment js-add-line-comment js-add-single-line-comment btn-link"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus"> <path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path> </svg> </button></template> <div id="files" class="diff-view js-diff-container js-code-nav-container" data-hpc> <div class="container-md js-file-filter-blankslate" data-target="diff-file-filter.blankslate" hidden> <div class="blankslate-container"> <div data-view-component="true" class="blankslate"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-filter blankslate-icon"> <path d="M2.75 6a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75ZM6 11.75a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75Zm4 4.938a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <h2 data-view-component="true" class="blankslate-heading"> There are no files selected for viewing </h2> </div> </div> </div> <div class="js-diff-progressive-container"> <copilot-diff-entry data-file-path="indico/legacy/pdfinterface/base.py" > <div id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open js-tagsearch-file" data-file-type=".py" data-file-deleted="false" data-tagsearch-path="indico/legacy/pdfinterface/base.py" data-tagsearch-lang="Python" data-targets="diff-file-filter.diffEntries" > <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch sticky-file-header" data-path="indico/legacy/pdfinterface/base.py" data-short-path="95574fa" data-anchor="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" data-file-type=".py" data-file-deleted="false" > <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right Details-content--shown"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="js-expand-full-wrapper d-inline-block"> <button type="button" class="btn-link color-fg-muted no-underline js-expand-full directional-expander tooltipped tooltipped-se" aria-label="Expand all" data-url="/indico/indico/blob_expand/63fce193cff5f2e57c102adc17d01e92bfc9c04d?anchor=diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3&context=pull_request&diff=unified&direction=full&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fbase.py&pull_request_id=2086526264" > <svg aria-label="Expand all" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-unfold"> <path d="m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> <button type="button" class="btn-link color-fg-muted no-underline js-collapse-diff tooltipped tooltipped-se" aria-label="Collapse expanded lines" hidden > <svg aria-label="Collapse added diff lines" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold"> <path d="M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> </div> <span class="sr-only"> 24 changes: 0 additions & 24 deletions </span> <span class="diffstat" aria-hidden="true">24 <span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span></span> <span class="Truncate"> <a title="indico/legacy/pdfinterface/base.py" class="Link--primary Truncate-text" href="#diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3">indico/legacy/pdfinterface/base.py</a> <span data-view-component="true"> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value="indico/legacy/pdfinterface/base.py" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:fit-content; min-width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/indico/indico/blob/51d1a6741e7af63f6f7fed2f48037ec487389df2/indico/legacy/pdfinterface/base.py" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown" > View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> <div role="none" class="dropdown-divider"></div> <span data-target="copilot-diff-entry.menuItemsSlot"></span> <a class="pl-5 dropdown-item btn-link js-remove-unless-platform" data-platforms="windows,mac" role="menuitem" href="https://desktop.github.com" aria-label="Open this file in GitHub Desktop" data-analytics-event="{"category":"Repository","action":"open with desktop","label":"pull_request_id:2086526264"}"> Open in desktop </a> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":2086526264,"repository_id":2113067,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-view-hmac="e5d6b67680a700cdf9eb3117d241ec75288ec3c9116111f1a70ae295926f653f"> <div class="data highlight js-blob-wrapper js-check-bidi " > <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <deferred-diff-lines class="awaiting-highlight" data-url="/indico/indico/diffs/257a5e293592d6061ada0a33765ad7d8eb480dd2..51d1a6741e7af63f6f7fed2f48037ec487389df2?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&whitespace_ignored=false"> <input type="hidden" name="path" value="indico/legacy/pdfinterface/base.py" data-targets="deferred-diff-lines.inputs" autocomplete="off" /> <table class=" diff-table js-diff-table tab-size " data-tab-size="4" data-diff-anchor="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" data-paste-markdown-skip> <thead class="sr-only"> <tr> <th scope="col">Original file line number</th> <th scope="col">Diff line number</th> <th scope="col">Diff line change</th> </tr> </thead> <tbody> <tr class="js-expandable-line js-skip-tagsearch" data-position="0"> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" id="expand-up-link-0-diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" class="js-expand directional-expander single-expander" aria-label="Expand Up" data-url="/indico/indico/blob_excerpt/63fce193cff5f2e57c102adc17d01e92bfc9c04d?context=pull_request&diff=unified&direction=up&in_wiki_context=&last_left=&last_right=&left=161&left_hunk_size=30&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fbase.py&pull_request_id=2086526264&right=161&right_hunk_size=6" data-left-range="1-160" data-right-range="1-160"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-up"> <path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z"></path> </svg> </a> <tool-tip id="tooltip-92579dc7-e501-446c-aefe-228b31a456ba" for="expand-up-link-0-diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Up</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -161,30 +161,6 @@ def getPart(self):</td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L161" data-line-number="161" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R161" data-line-number="161" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> return self._part</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L162" data-line-number="162" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R162" data-line-number="162" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L163" data-line-number="163" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R163" data-line-number="163" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L164" data-line-number="164" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">class SimpleParagraph(platypus.Flowable):</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L165" data-line-number="165" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> """Simple and fast paragraph.</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L166" data-line-number="166" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L167" data-line-number="167" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> WARNING! This paragraph cannot break the line and doesn't have almost any formatting methods.</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L168" data-line-number="168" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> It's used only to increase PDF performance in places where normal paragraph is not needed.</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L169" data-line-number="169" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> """</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L170" data-line-number="170" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L171" data-line-number="171" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def __init__(self, text, fontSize=10, indent=0, spaceAfter=2):</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L172" data-line-number="172" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> platypus.Flowable.__init__(self)</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L173" data-line-number="173" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.text = text</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L174" data-line-number="174" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.height = fontSize + spaceAfter</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L175" data-line-number="175" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.fontSize = fontSize</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L176" data-line-number="176" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.spaceAfter = spaceAfter</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L177" data-line-number="177" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.indent = indent</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L178" data-line-number="178" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L179" data-line-number="179" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def __repr__(self):</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L180" data-line-number="180" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> return ''</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L181" data-line-number="181" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L182" data-line-number="182" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def draw(self):</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L183" data-line-number="183" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> # centre the text</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L184" data-line-number="184" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.canv.setFont('Times-Roman', self.fontSize)</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L185" data-line-number="185" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.canv.drawString(self.indent, self.spaceAfter, self.text)</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L186" data-line-number="186" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L187" data-line-number="187" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L188" data-line-number="188" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R164" data-line-number="164" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">class TableOfContentsEntry(Paragraph):</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L189" data-line-number="189" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R165" data-line-number="165" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> """Class used to create table of contents entry with its number.</span></td> </tr> <tr data-hunk="b510c55788de99cba948dcfc2381a1e4f368a6552fa884264f3e7c9b50059057" class="show-top-border"> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3L190" data-line-number="190" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3R166" data-line-number="166" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr class="js-expandable-line js-skip-tagsearch" data-position=""> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" id="expand-down-link--diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" class="js-expand directional-expander single-expander" aria-label="Expand Down" data-url="/indico/indico/blob_excerpt/63fce193cff5f2e57c102adc17d01e92bfc9c04d?context=pull_request&diff=unified&direction=down&in_wiki_context=&last_left=190&last_right=166&left=499&left_hunk_size=&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fbase.py&pull_request_id=2086526264&right=499&right_hunk_size=" data-left-range="191-498" data-right-range="167-498"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-down"> <path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0ZM2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75ZM8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </a> <tool-tip id="tooltip-8a74b16d-b733-4a63-8822-6549f2ef614d" for="expand-down-link--diff-95574fa18d7de864e34be849d4bcdf49536bcafdcf3ad7677da533e1057c6ef3" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Down</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk"></td> </tr> </tbody> </table> </deferred-diff-lines> </div> </div> </div> </copilot-diff-entry> <copilot-diff-entry data-file-path="indico/legacy/pdfinterface/conference.py" > <div id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open js-tagsearch-file" data-file-type=".py" data-file-deleted="false" data-tagsearch-path="indico/legacy/pdfinterface/conference.py" data-tagsearch-lang="Python" data-targets="diff-file-filter.diffEntries" > <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch sticky-file-header" data-path="indico/legacy/pdfinterface/conference.py" data-short-path="01080fb" data-anchor="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" data-file-type=".py" data-file-deleted="false" > <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right Details-content--shown"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="js-expand-full-wrapper d-inline-block"> <button type="button" class="btn-link color-fg-muted no-underline js-expand-full directional-expander tooltipped tooltipped-se" aria-label="Expand all" data-url="/indico/indico/blob_expand/24fa2ec919c089408f72b73f88c0e9e7ef33ef0a?anchor=diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e&context=pull_request&diff=unified&direction=full&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fconference.py&pull_request_id=2086526264" > <svg aria-label="Expand all" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-unfold"> <path d="m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> <button type="button" class="btn-link color-fg-muted no-underline js-collapse-diff tooltipped tooltipped-se" aria-label="Collapse expanded lines" hidden > <svg aria-label="Collapse added diff lines" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold"> <path d="M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> </div> <span class="sr-only"> 161 changes: 0 additions & 161 deletions </span> <span class="diffstat" aria-hidden="true">161 <span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-deleted"></span></span> <span class="Truncate"> <a title="indico/legacy/pdfinterface/conference.py" class="Link--primary Truncate-text" href="#diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e">indico/legacy/pdfinterface/conference.py</a> <span data-view-component="true"> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value="indico/legacy/pdfinterface/conference.py" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:fit-content; min-width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/indico/indico/blob/51d1a6741e7af63f6f7fed2f48037ec487389df2/indico/legacy/pdfinterface/conference.py" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown" > View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> <div role="none" class="dropdown-divider"></div> <span data-target="copilot-diff-entry.menuItemsSlot"></span> <a class="pl-5 dropdown-item btn-link js-remove-unless-platform" data-platforms="windows,mac" role="menuitem" href="https://desktop.github.com" aria-label="Open this file in GitHub Desktop" data-analytics-event="{"category":"Repository","action":"open with desktop","label":"pull_request_id:2086526264"}"> Open in desktop </a> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":2086526264,"repository_id":2113067,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-view-hmac="e5d6b67680a700cdf9eb3117d241ec75288ec3c9116111f1a70ae295926f653f"> <div class="data highlight js-blob-wrapper js-check-bidi " > <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <deferred-diff-lines class="awaiting-highlight" data-url="/indico/indico/diffs/257a5e293592d6061ada0a33765ad7d8eb480dd2..51d1a6741e7af63f6f7fed2f48037ec487389df2?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&whitespace_ignored=false"> <input type="hidden" name="path" value="indico/legacy/pdfinterface/conference.py" data-targets="deferred-diff-lines.inputs" autocomplete="off" /> <table class=" diff-table js-diff-table tab-size " data-tab-size="4" data-diff-anchor="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" data-paste-markdown-skip> <thead class="sr-only"> <tr> <th scope="col">Original file line number</th> <th scope="col">Diff line number</th> <th scope="col">Diff line change</th> </tr> </thead> <tbody> <tr class="js-expandable-line js-skip-tagsearch" data-position="0"> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" id="expand-up-link-0-diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" class="js-expand directional-expander single-expander" aria-label="Expand Up" data-url="/indico/indico/blob_excerpt/24fa2ec919c089408f72b73f88c0e9e7ef33ef0a?context=pull_request&diff=unified&direction=up&in_wiki_context=&last_left=&last_right=&left=768&left_hunk_size=167&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fconference.py&pull_request_id=2086526264&right=768&right_hunk_size=6" data-left-range="1-767" data-right-range="1-767"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-up"> <path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z"></path> </svg> </a> <tool-tip id="tooltip-e345f32c-a609-4b8c-84f6-ead17856cf99" for="expand-up-link-0-diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Up</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -768,167 +768,6 @@ def getBody(self, story=None):</td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL768" data-line-number="768" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR768" data-line-number="768" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> current_day += timedelta(days=1)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL769" data-line-number="769" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR769" data-line-number="769" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL770" data-line-number="770" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR770" data-line-number="770" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL771" data-line-number="771" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">class SimplifiedTimeTablePlain(PDFBase):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL772" data-line-number="772" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def __init__(self, event, user, showSessions=None, showDays=None, sortingCrit=None, ttPDFFormat=None, pagesize='A4',</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL773" data-line-number="773" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> fontsize='normal', tz=None):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL774" data-line-number="774" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if showDays is None:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL775" data-line-number="775" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> showDays = []</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL776" data-line-number="776" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if showSessions is None:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL777" data-line-number="777" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> showSessions = []</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL778" data-line-number="778" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self.event = event</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL779" data-line-number="779" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._tz = tz or self.event.timezone</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL780" data-line-number="780" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._user = user</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL781" data-line-number="781" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._showSessions = showSessions</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL782" data-line-number="782" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._showDays = showDays</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL783" data-line-number="783" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> PDFBase.__init__(self, story=[], pagesize=pagesize)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL784" data-line-number="784" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._title = _('Simplified Program')</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL785" data-line-number="785" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._doc.leftMargin = 1 * cm</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL786" data-line-number="786" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._doc.rightMargin = 1 * cm</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL787" data-line-number="787" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._doc.topMargin = 1 * cm</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL788" data-line-number="788" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._doc.bottomMargin = 1 * cm</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL789" data-line-number="789" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._sortingCrit = sortingCrit</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL790" data-line-number="790" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._ttPDFFormat = ttPDFFormat or TimetablePDFFormat()</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL791" data-line-number="791" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._fontsize = fontsize</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL792" data-line-number="792" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL793" data-line-number="793" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def _defineStyles(self):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL794" data-line-number="794" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._styles = {}</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL795" data-line-number="795" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> stylesheets = _get_sans_style_sheet()</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL796" data-line-number="796" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL797" data-line-number="797" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl = stylesheets['Normal']</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL798" data-line-number="798" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl.fontName = 'Courier'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL799" data-line-number="799" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl.fontSize = modifiedFontSize(10, self._fontsize)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL800" data-line-number="800" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl.spaceBefore = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL801" data-line-number="801" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl.spaceAfter = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL802" data-line-number="802" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> normalStl.alignment = TA_LEFT</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL803" data-line-number="803" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._styles['normal'] = normalStl</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL804" data-line-number="804" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl = stylesheets['Normal']</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL805" data-line-number="805" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl.fontName = 'Courier-Bold'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL806" data-line-number="806" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl.fontSize = modifiedFontSize(12, self._fontsize)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL807" data-line-number="807" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl.spaceBefore = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL808" data-line-number="808" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl.spaceAfter = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL809" data-line-number="809" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> titleStl.alignment = TA_LEFT</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL810" data-line-number="810" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._styles['title'] = titleStl</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL811" data-line-number="811" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl = stylesheets['Normal']</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL812" data-line-number="812" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl.fontName = 'Courier-Bold'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL813" data-line-number="813" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl.fontSize = modifiedFontSize(10, self._fontsize)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL814" data-line-number="814" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl.spaceBefore = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL815" data-line-number="815" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl.spaceAfter = 0</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL816" data-line-number="816" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> dayStl.alignment = TA_LEFT</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL817" data-line-number="817" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._styles['day'] = dayStl</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL818" data-line-number="818" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL819" data-line-number="819" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def _haveSessionSlotsTitles(self, session):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL820" data-line-number="820" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> """Check if the session has slots with titles or not."""</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL821" data-line-number="821" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> return any(ss.title.strip() for ss in session.blocks)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL822" data-line-number="822" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL823" data-line-number="823" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def _processDayEntries(self, day, story):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL824" data-line-number="824" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> lastSessions = [] # this is to avoid checking if the slots have titles for all the slots</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL825" data-line-number="825" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res = []</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL826" data-line-number="826" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> entries = (self.event.timetable_entries</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL827" data-line-number="827" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .filter(db.cast(TimetableEntry.start_dt.astimezone(self.event.tzinfo), db.Date) == day,</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL828" data-line-number="828" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> TimetableEntry.parent_id.is_(None))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL829" data-line-number="829" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .order_by(TimetableEntry.start_dt))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL830" data-line-number="830" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> for entry in entries:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL831" data-line-number="831" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if entry.type == TimetableEntryType.SESSION_BLOCK:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL832" data-line-number="832" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> session_slot = entry.object</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL833" data-line-number="833" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> sess = session_slot.session</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL834" data-line-number="834" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if self._showSessions and sess.id not in self._showSessions:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL835" data-line-number="835" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL836" data-line-number="836" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if not session_slot.can_access(self._user):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL837" data-line-number="837" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL838" data-line-number="838" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if sess in lastSessions:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL839" data-line-number="839" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL840" data-line-number="840" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if self._haveSessionSlotsTitles(sess):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL841" data-line-number="841" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> e = session_slot</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL842" data-line-number="842" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> else:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL843" data-line-number="843" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> lastSessions.append(sess)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL844" data-line-number="844" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> e = sess</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL845" data-line-number="845" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> title = e.title</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL846" data-line-number="846" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph('<font face="Times-Bold"><b> {}:</b></font> {}'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL847" data-line-number="847" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Session'), escape(title)),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL848" data-line-number="848" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL849" data-line-number="849" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = escape(session_slot.room_name) if session_slot.room_name else ''</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL850" data-line-number="850" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = ('<font face="Times-Bold"><b> {}:</b></font> {} ({} - {})'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL851" data-line-number="851" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Time and Place'), room_time,</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL852" data-line-number="852" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_time(entry.start_dt, timezone=self._tz),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL853" data-line-number="853" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_time(entry.end_dt, timezone=self._tz)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL854" data-line-number="854" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph(room_time, self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL855" data-line-number="855" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> conveners = [c.full_name for c in session_slot.person_links]</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL856" data-line-number="856" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if conveners:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL857" data-line-number="857" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> conveners_text = ('<font face="Times-Bold"><b> {}:</b></font> {}'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL858" data-line-number="858" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(ngettext('Convener', 'Conveners', len(conveners)),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL859" data-line-number="859" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> '; '.join(conveners)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL860" data-line-number="860" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph(conveners_text, self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL861" data-line-number="861" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Spacer(1, 0.2 * inch))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL862" data-line-number="862" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> elif self._ttPDFFormat.showContribsAtConfLevel() and entry.type == TimetableEntryType.CONTRIBUTION:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL863" data-line-number="863" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> contrib = entry.object</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL864" data-line-number="864" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if not contrib.can_access(self._user):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL865" data-line-number="865" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL866" data-line-number="866" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL867" data-line-number="867" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph('<font face="Times-Bold"><b> {}:</b></font> {}'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL868" data-line-number="868" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Contribution'), escape(contrib.title)), self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL869" data-line-number="869" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL870" data-line-number="870" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = escape(contrib.room_name) if contrib.room_name else ''</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL871" data-line-number="871" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = ('<font face="Times-Bold"><b> {}:</b></font> {} ({} - {})'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL872" data-line-number="872" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Time and Place'), room_time,</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL873" data-line-number="873" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_date(entry.start_dt, timezone=self._tz),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL874" data-line-number="874" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_date(entry.end_dt, timezone=self._tz)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL875" data-line-number="875" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph(room_time, self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL876" data-line-number="876" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> spks = [s.full_name for s in contrib.speakers]</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL877" data-line-number="877" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if spks:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL878" data-line-number="878" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> speaker_word = '{}: '.format(ngettext('Presenter', 'Presenters', len(spks)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL879" data-line-number="879" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph('<font face="Times-Bold"><b> {}:</b></font> {}'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL880" data-line-number="880" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(speaker_word, '; '.join(spks)), self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL881" data-line-number="881" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Spacer(1, 0.2 * inch))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL882" data-line-number="882" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> elif self._ttPDFFormat.showBreaksAtConfLevel() and entry.type == TimetableEntryType.BREAK:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL883" data-line-number="883" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> break_ = entry.object</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL884" data-line-number="884" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> title = break_.title</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL885" data-line-number="885" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph('<font face="Times-Bold"><b> {}:</b></font> {}'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL886" data-line-number="886" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Break'), escape(title)), self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL887" data-line-number="887" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = escape(break_.room_name) if break_.room_name else ''</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL888" data-line-number="888" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> room_time = ('<font face="Times-Bold"><b> {}:</b></font> {} ({} - {})'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL889" data-line-number="889" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> .format(_('Time and Place'), room_time,</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL890" data-line-number="890" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_date(entry.start_dt, timezone=self._tz),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL891" data-line-number="891" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> format_date(entry.end_dt, timezone=self._tz)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL892" data-line-number="892" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Paragraph(room_time, self._styles['normal']))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL893" data-line-number="893" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(Spacer(1, 0.2 * inch))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL894" data-line-number="894" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> res.append(PageBreak())</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL895" data-line-number="895" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> return res</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL896" data-line-number="896" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL897" data-line-number="897" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def getBody(self, story=None):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL898" data-line-number="898" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> self._defineStyles()</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL899" data-line-number="899" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if not story:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL900" data-line-number="900" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> story = self._story</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL901" data-line-number="901" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL902" data-line-number="902" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> current_day = self.event.start_dt.date()</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL903" data-line-number="903" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> end_day = self.event.end_dt.date()</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL904" data-line-number="904" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> while current_day <= end_day:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL905" data-line-number="905" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if len(self._showDays) > 0 and current_day.strftime('%d-%B-%Y') not in self._showDays:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL906" data-line-number="906" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> current_day += timedelta(days=1)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL907" data-line-number="907" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL908" data-line-number="908" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL909" data-line-number="909" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> day_entries = self._processDayEntries(current_day, story)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL910" data-line-number="910" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if not day_entries:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL911" data-line-number="911" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> current_day += timedelta(days=1)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL912" data-line-number="912" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> continue</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL913" data-line-number="913" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> text = ' - '.join([</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL914" data-line-number="914" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> escape(self.event.title),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL915" data-line-number="915" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> escape(format_date(self.event.start_dt, timezone=self._tz)),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL916" data-line-number="916" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> escape(format_date(self.event.end_dt, timezone=self._tz)),</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL917" data-line-number="917" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> ])</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL918" data-line-number="918" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if self.event.venue_name:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL919" data-line-number="919" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> text = f'{text}, {escape(self.event.venue_name)}.'</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL920" data-line-number="920" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> p = Paragraph(text, self._styles['title'])</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL921" data-line-number="921" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> story.append(p)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL922" data-line-number="922" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> text2 = '{}: {}'.format(_('Daily Program'), escape(format_date(current_day, format='full',</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL923" data-line-number="923" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> timezone=self._tz)))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL924" data-line-number="924" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> p2 = Paragraph(text2, self._styles['day'])</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL925" data-line-number="925" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> story.append(p2)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL926" data-line-number="926" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> story.append(Spacer(1, 0.4 * inch))</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL927" data-line-number="927" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> for entry in day_entries:</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL928" data-line-number="928" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> story.append(entry)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL929" data-line-number="929" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> current_day += timedelta(days=1)</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL930" data-line-number="930" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL931" data-line-number="931" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"><br></span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL932" data-line-number="932" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR771" data-line-number="771" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">class RegistrantToPDF(PDFBase):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL933" data-line-number="933" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR772" data-line-number="772" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> def __init__(self, event, reg, display, doc=None, story=None, static_items=None):</span></td> </tr> <tr data-hunk="927b64e422daf00b0ba72a24a0b7df764fd685a978e150b657f1a393852b9239" class="show-top-border"> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eL934" data-line-number="934" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8eR773" data-line-number="773" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> self.event = event</span></td> </tr> <tr class="js-expandable-line js-skip-tagsearch" data-position=""> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" id="expand-down-link--diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" class="js-expand directional-expander single-expander" aria-label="Expand Down" data-url="/indico/indico/blob_excerpt/24fa2ec919c089408f72b73f88c0e9e7ef33ef0a?context=pull_request&diff=unified&direction=down&in_wiki_context=&last_left=934&last_right=773&left=1089&left_hunk_size=&mode=100644&path=indico%2Flegacy%2Fpdfinterface%2Fconference.py&pull_request_id=2086526264&right=1089&right_hunk_size=" data-left-range="935-1088" data-right-range="774-1088"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-down"> <path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0ZM2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75ZM8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </a> <tool-tip id="tooltip-bf0992f3-0a52-4c01-abae-991120841505" for="expand-down-link--diff-01080fb14688c4aff4fed73b443a04a2cfffedabf5f3e91377bddb3a766b3f8e" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Down</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk"></td> </tr> </tbody> </table> </deferred-diff-lines> </div> </div> </div> </copilot-diff-entry> <copilot-diff-entry data-file-path="indico/modules/events/sessions/util.py" > <div id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open js-tagsearch-file" data-file-type=".py" data-file-deleted="false" data-tagsearch-path="indico/modules/events/sessions/util.py" data-tagsearch-lang="Python" data-targets="diff-file-filter.diffEntries" > <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch sticky-file-header" data-path="indico/modules/events/sessions/util.py" data-short-path="9d1c1fb" data-anchor="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" data-file-type=".py" data-file-deleted="false" > <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right Details-content--shown"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="js-expand-full-wrapper d-inline-block"> <button type="button" class="btn-link color-fg-muted no-underline js-expand-full directional-expander tooltipped tooltipped-se" aria-label="Expand all" data-url="/indico/indico/blob_expand/97574a05b809e5d8ffc177b111d9fdd492191398?anchor=diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5&context=pull_request&diff=unified&direction=full&mode=100644&path=indico%2Fmodules%2Fevents%2Fsessions%2Futil.py&pull_request_id=2086526264" > <svg aria-label="Expand all" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-unfold"> <path d="m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> <button type="button" class="btn-link color-fg-muted no-underline js-collapse-diff tooltipped tooltipped-se" aria-label="Collapse expanded lines" hidden > <svg aria-label="Collapse added diff lines" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold"> <path d="M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> </div> <span class="sr-only"> 2 changes: 1 addition & 1 deletion </span> <span class="diffstat" aria-hidden="true">2 <span class="diffstat-block-added"></span><span class="diffstat-block-deleted"></span><span class="diffstat-block-neutral"></span><span class="diffstat-block-neutral"></span><span class="diffstat-block-neutral"></span></span> <span class="Truncate"> <a title="indico/modules/events/sessions/util.py" class="Link--primary Truncate-text" href="#diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5">indico/modules/events/sessions/util.py</a> <span data-view-component="true"> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value="indico/modules/events/sessions/util.py" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:fit-content; min-width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/indico/indico/blob/51d1a6741e7af63f6f7fed2f48037ec487389df2/indico/modules/events/sessions/util.py" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown" > View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> <div role="none" class="dropdown-divider"></div> <span data-target="copilot-diff-entry.menuItemsSlot"></span> <a class="pl-5 dropdown-item btn-link js-remove-unless-platform" data-platforms="windows,mac" role="menuitem" href="https://desktop.github.com" aria-label="Open this file in GitHub Desktop" data-analytics-event="{"category":"Repository","action":"open with desktop","label":"pull_request_id:2086526264"}"> Open in desktop </a> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":2086526264,"repository_id":2113067,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-view-hmac="e5d6b67680a700cdf9eb3117d241ec75288ec3c9116111f1a70ae295926f653f"> <div class="data highlight js-blob-wrapper js-check-bidi " > <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <deferred-diff-lines class="awaiting-highlight" data-url="/indico/indico/diffs/257a5e293592d6061ada0a33765ad7d8eb480dd2..51d1a6741e7af63f6f7fed2f48037ec487389df2?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&whitespace_ignored=false"> <input type="hidden" name="path" value="indico/modules/events/sessions/util.py" data-targets="deferred-diff-lines.inputs" autocomplete="off" /> <table class=" diff-table js-diff-table tab-size " data-tab-size="4" data-diff-anchor="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" data-paste-markdown-skip> <thead class="sr-only"> <tr> <th scope="col">Original file line number</th> <th scope="col">Diff line number</th> <th scope="col">Diff line change</th> </tr> </thead> <tbody> <tr class="js-expandable-line js-skip-tagsearch" data-position="0"> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" id="expand-up-link-0-diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" class="js-expand directional-expander single-expander" aria-label="Expand Up" data-url="/indico/indico/blob_excerpt/97574a05b809e5d8ffc177b111d9fdd492191398?context=pull_request&diff=unified&direction=up&in_wiki_context=&last_left=&last_right=&left=161&left_hunk_size=7&mode=100644&path=indico%2Fmodules%2Fevents%2Fsessions%2Futil.py&pull_request_id=2086526264&right=161&right_hunk_size=7" data-left-range="1-160" data-right-range="1-160"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-up"> <path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z"></path> </svg> </a> <tool-tip id="tooltip-83cb2c6d-06fc-4a98-b06d-541fcc5ae9ff" for="expand-up-link-0-diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Up</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -161,7 +161,7 @@ def get_session_timetable_pdf(sess, **kwargs):</td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L161" data-line-number="161" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R161" data-line-number="161" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> pdf_format = TimetablePDFFormat(params={'coverPage': False})</span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L162" data-line-number="162" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R162" data-line-number="162" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> return TimeTablePlain(sess.event, session.user, showSessions=[sess.id], showDays=[],</span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L163" data-line-number="163" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R163" data-line-number="163" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> sortingCrit=None, ttPDFFormat=pdf_format, pagesize='A4', fontsize='normal',</span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L164" data-line-number="164" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> <span class="x x-first x-last">firstPageNumber=1, </span>showSpeakerAffiliation=False, **kwargs)</span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R164" data-line-number="164" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> showSpeakerAffiliation=False, **kwargs)</span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L165" data-line-number="165" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R165" data-line-number="165" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L166" data-line-number="166" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R166" data-line-number="166" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="fa74fe8581124b84045daca02bf19e759cbe497b9395014171910033a3e2fe4c" class="show-top-border"> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5L167" data-line-number="167" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5R167" data-line-number="167" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">def render_session_type_row(session_type):</span></td> </tr> <tr class="js-expandable-line js-skip-tagsearch" data-position=""> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" id="expand-down-link--diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" class="js-expand directional-expander single-expander" aria-label="Expand Down" data-url="/indico/indico/blob_excerpt/97574a05b809e5d8ffc177b111d9fdd492191398?context=pull_request&diff=unified&direction=down&in_wiki_context=&last_left=167&last_right=167&left=170&left_hunk_size=&mode=100644&path=indico%2Fmodules%2Fevents%2Fsessions%2Futil.py&pull_request_id=2086526264&right=170&right_hunk_size=" data-left-range="168-169" data-right-range="168-169"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-down"> <path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0ZM2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75ZM8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </a> <tool-tip id="tooltip-49fcc6ed-0643-4674-9ee6-020abf589a97" for="expand-down-link--diff-9d1c1fb12a823a574a853e0297c724a98ed9da2ea3a9b89890014683ca39cad5" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Down</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk"></td> </tr> </tbody> </table> </deferred-diff-lines> </div> </div> </div> </copilot-diff-entry> <copilot-diff-entry data-file-path="indico/modules/events/timetable/controllers/display.py" > <div id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" data-details-container-group="file" class="file js-file js-details-container js-targetable-element show-inline-notes Details Details--on open has-inline-notes js-tagsearch-file" data-file-type=".py" data-file-deleted="false" data-tagsearch-path="indico/modules/events/timetable/controllers/display.py" data-tagsearch-lang="Python" data-targets="diff-file-filter.diffEntries" > <div class="file-header d-flex flex-md-row flex-column flex-md-items-center file-header--expandable js-file-header js-skip-tagsearch sticky-file-header" data-path="indico/modules/events/timetable/controllers/display.py" data-short-path="4b8c953" data-anchor="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" data-file-type=".py" data-file-deleted="false" > <div class="file-info flex-auto min-width-0 mb-md-0 mb-2"> <button type="button" class="btn-octicon js-details-target" aria-label="Toggle diff contents" aria-expanded="true" style="width: 22px;"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down Details-content--hidden"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right Details-content--shown"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="js-expand-full-wrapper d-inline-block"> <button type="button" class="btn-link color-fg-muted no-underline js-expand-full directional-expander tooltipped tooltipped-se" aria-label="Expand all" data-url="/indico/indico/blob_expand/5f4a200a553b752468f80c754cff572924ec6782?anchor=diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb&context=pull_request&diff=unified&direction=full&mode=100644&path=indico%2Fmodules%2Fevents%2Ftimetable%2Fcontrollers%2Fdisplay.py&pull_request_id=2086526264" > <svg aria-label="Expand all" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-unfold"> <path d="m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> <button type="button" class="btn-link color-fg-muted no-underline js-collapse-diff tooltipped tooltipped-se" aria-label="Collapse expanded lines" hidden > <svg aria-label="Collapse added diff lines" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold"> <path d="M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </button> </div> <span class="sr-only"> 131 changes: 105 additions & 26 deletions </span> <span class="diffstat" aria-hidden="true">131 <span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-added"></span><span class="diffstat-block-neutral"></span></span> <span class="Truncate"> <a title="indico/modules/events/timetable/controllers/display.py" class="Link--primary Truncate-text" href="#diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb">indico/modules/events/timetable/controllers/display.py</a> <span data-view-component="true"> <clipboard-copy data-copy-feedback="Copied!" aria-label="Copy" value="indico/modules/events/timetable/controllers/display.py" data-view-component="true" class="Link--onHover color-fg-muted ml-2 mr-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg style="display: none;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check color-fg-success"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> <div aria-live="polite" aria-atomic="true" class="sr-only" data-clipboard-copy-feedback></div> </span> </span> </div> <div class="file-actions pt-0 mb-md-0 mb-2 ml-md-2 flex-shrink-0 flex-md-justify-end"> <div class="d-flex flex-justify-end"> <details class="js-file-header-dropdown dropdown details-overlay details-reset pr-2 pl-2"> <summary class="height-full"> <div class="height-full d-flex flex-items-center Link--secondary"> <svg aria-label="Show options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </div> </summary> <details-menu class="dropdown-menu dropdown-menu-sw show-more-popover color-fg-default position-absolute f5" style="width:fit-content; min-width:185px; z-index:99; right: -4px;"> <label role="menuitemradio" class="dropdown-item btn-link text-normal d-block pl-5" tabindex="0" aria-checked="true"> <span class="position-absolute ml-n4"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg></span> <input type="checkbox" checked class="d-none js-toggle-file-notes"> Show comments </label> <div role="none" class="dropdown-divider"></div> <a href="/indico/indico/blob/51d1a6741e7af63f6f7fed2f48037ec487389df2/indico/modules/events/timetable/controllers/display.py" class="pl-5 dropdown-item btn-link" rel="nofollow" role="menuitem" data-ga-click="View file, click, location:files_changed_dropdown" > View file </a> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to make changes."> Edit file </button> <button type="button" disabled role="menuitem" class="pl-5 dropdown-item btn-link" aria-label="You must be signed in and have push access to delete this file."> Delete file </button> <div role="none" class="dropdown-divider"></div> <span data-target="copilot-diff-entry.menuItemsSlot"></span> <a class="pl-5 dropdown-item btn-link js-remove-unless-platform" data-platforms="windows,mac" role="menuitem" href="https://desktop.github.com" aria-label="Open this file in GitHub Desktop" data-analytics-event="{"category":"Repository","action":"open with desktop","label":"pull_request_id:2086526264"}"> Open in desktop </a> </details-menu> </details> </div> </div> </div> <div class="js-file-content Details-content--hidden position-relative" data-hydro-view="{"event_type":"pull_request.select_diff_range","payload":{"actor_id":null,"pull_request_id":2086526264,"repository_id":2113067,"diff_type":"UNIFIED","whitespace_ignored":false,"originating_url":"https://github.com/indico/indico/pull/6558/files","user_id":null}}" data-hydro-view-hmac="e5d6b67680a700cdf9eb3117d241ec75288ec3c9116111f1a70ae295926f653f"> <div class="data highlight js-blob-wrapper js-check-bidi " > <template class="js-file-alert-template"> <div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span> This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a> </span> <div data-view-component="true" class="flash-action"> <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn"> Show hidden characters </a> </div> </div></template> <template class="js-line-alert-template"> <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span></template> <deferred-diff-lines class="awaiting-highlight" data-url="/indico/indico/diffs/257a5e293592d6061ada0a33765ad7d8eb480dd2..51d1a6741e7af63f6f7fed2f48037ec487389df2?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&whitespace_ignored=false"> <input type="hidden" name="path" value="indico/modules/events/timetable/controllers/display.py" data-targets="deferred-diff-lines.inputs" autocomplete="off" /> <table class=" diff-table js-diff-table tab-size " data-tab-size="4" data-diff-anchor="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" data-paste-markdown-skip> <thead class="sr-only"> <tr> <th scope="col">Original file line number</th> <th scope="col">Diff line number</th> <th scope="col">Diff line change</th> </tr> </thead> <tbody> <tr class="js-expandable-line js-skip-tagsearch" data-position="0"> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" id="expand-up-link-0-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" class="js-expand directional-expander single-expander" aria-label="Expand Up" data-url="/indico/indico/blob_excerpt/5f4a200a553b752468f80c754cff572924ec6782?context=pull_request&diff=unified&direction=up&in_wiki_context=&last_left=&last_right=&left=5&left_hunk_size=23&mode=100644&path=indico%2Fmodules%2Fevents%2Ftimetable%2Fcontrollers%2Fdisplay.py&pull_request_id=2086526264&right=5&right_hunk_size=28" data-left-range="1-4" data-right-range="1-4"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-up"> <path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z"></path> </svg> </a> <tool-tip id="tooltip-dccebf0c-0e3d-4f87-a606-1f9da9bf42b6" for="expand-up-link-0-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Up</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -5,23 +5,28 @@</td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL5" data-line-number="5" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR5" data-line-number="5" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "># modify it under the terms of the MIT License; see the</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL6" data-line-number="6" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR6" data-line-number="6" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "># LICENSE file for more details.</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL7" data-line-number="7" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR7" data-line-number="7" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR8" data-line-number="8" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from dataclasses import dataclass</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL8" data-line-number="8" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR9" data-line-number="9" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from io import BytesIO</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR10" data-line-number="10" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from itertools import groupby</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL9" data-line-number="9" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR11" data-line-number="11" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL10" data-line-number="10" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">from flask import jsonify, request, session</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR12" data-line-number="12" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from flask import jsonify, render_template, request, session</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR13" data-line-number="13" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from marshmallow import fields</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR14" data-line-number="14" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from weasyprint import CSS, HTML</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL11" data-line-number="11" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR15" data-line-number="15" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from werkzeug.exceptions import Forbidden, NotFound</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL12" data-line-number="12" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR16" data-line-number="16" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL13" data-line-number="13" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">from indico.legacy.pdfinterface.conference import SimplifiedTimeTablePlain, TimetablePDFFormat, TimeTablePlain</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL14" data-line-number="14" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR17" data-line-number="17" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.contributions import contribution_settings</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL15" data-line-number="15" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR18" data-line-number="18" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.controllers.base import RHDisplayEventBase</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL16" data-line-number="16" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR19" data-line-number="19" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.layout import layout_settings</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL17" data-line-number="17" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR20" data-line-number="20" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.timetable.forms import TimetablePDFExportForm</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL18" data-line-number="18" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR21" data-line-number="21" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.timetable.legacy import TimetableSerializer</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL19" data-line-number="19" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">from indico.modules.events.timetable.util import (get_timetable_offline_pdf_generator, render_entry_info_balloon,</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL20" data-line-number="20" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> serialize_event_info)</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR22" data-line-number="22" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from indico.modules.events.timetable.util import get_nested_timetable, render_entry_info_balloon, serialize_event_info</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL21" data-line-number="21" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR23" data-line-number="23" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.timetable.views import WPDisplayTimetable</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL22" data-line-number="22" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR24" data-line-number="24" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.util import get_theme</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL23" data-line-number="23" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR25" data-line-number="25" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.modules.events.views import WPSimpleEventDisplay</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR26" data-line-number="26" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from indico.modules.receipts.util import sandboxed_url_fetcher</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR27" data-line-number="27" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from indico.util.date_time import now_utc</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL24" data-line-number="24" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR28" data-line-number="28" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.util.i18n import _</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR29" data-line-number="29" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">from indico.web.args import use_kwargs</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL25" data-line-number="25" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR30" data-line-number="30" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.web.flask.util import send_file, url_for</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL26" data-line-number="26" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR31" data-line-number="31" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">from indico.web.util import jsonify_data, jsonify_template</span></td> </tr> <tr data-hunk="688d014e03c3ed288e9e8bfca44bc1b1dd36edda3866b5ad50a53d8549b684fe" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL27" data-line-number="27" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR32" data-line-number="32" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr class="js-expandable-line js-skip-tagsearch" data-position="33"> <td class="blob-num blob-num-expandable" colspan="2"> <a href="#diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" id="expand-down-link-33-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" class="js-expand directional-expander" aria-label="Expand Down" data-url="/indico/indico/blob_excerpt/5f4a200a553b752468f80c754cff572924ec6782?context=pull_request&diff=unified&direction=down&in_wiki_context=&last_left=27&last_right=32&left=73&left_hunk_size=34&mode=100644&path=indico%2Fmodules%2Fevents%2Ftimetable%2Fcontrollers%2Fdisplay.py&pull_request_id=2086526264&right=78&right_hunk_size=108" data-left-range="28-49" data-right-range="33-54"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-down"> <path d="m8.177 14.323 2.896-2.896a.25.25 0 0 0-.177-.427H8.75V7.764a.75.75 0 1 0-1.5 0V11H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0ZM2.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75ZM8.25 5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 4.25a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5a.75.75 0 0 1 .75.75Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg> </a> <tool-tip id="tooltip-b16f2ebe-c187-4d83-b97a-49f9ee34dd83" for="expand-down-link-33-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Down</tool-tip> <a href="#diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" id="expand-up-link-33-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" class="js-expand directional-expander" aria-label="Expand Up" data-url="/indico/indico/blob_excerpt/5f4a200a553b752468f80c754cff572924ec6782?context=pull_request&diff=unified&direction=up&in_wiki_context=&last_left=27&last_right=32&left=73&left_hunk_size=34&mode=100644&path=indico%2Fmodules%2Fevents%2Ftimetable%2Fcontrollers%2Fdisplay.py&pull_request_id=2086526264&right=78&right_hunk_size=108" data-left-range="50-72" data-right-range="55-77"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold-up"> <path d="M7.823 1.677 4.927 4.573A.25.25 0 0 0 5.104 5H7.25v3.236a.75.75 0 1 0 1.5 0V5h2.146a.25.25 0 0 0 .177-.427L8.177 1.677a.25.25 0 0 0-.354 0ZM13.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-3.75.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM7.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM4 11.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM1.75 11a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z"></path> </svg> </a> <tool-tip id="tooltip-d65e7d79-198e-4c2c-b823-869502d62a57" for="expand-up-link-33-diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acb" popover="manual" data-direction="ne" data-type="label" data-view-component="true" class="sr-only position-absolute">Expand Up</tool-tip> </td> <td class="blob-code blob-code-inner blob-code-hunk">@@ -73,34 +78,108 @@ def _process(self):</td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL73" data-line-number="73" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR78" data-line-number="78" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> return jsonify(html=html)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL74" data-line-number="74" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR79" data-line-number="79" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL75" data-line-number="75" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR80" data-line-number="80" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR81" data-line-number="81" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">@dataclass(frozen=True)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR82" data-line-number="82" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">class TimetableExportConfig:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR83" data-line-number="83" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_title: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR84" data-line-number="84" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_affiliation: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR85" data-line-number="85" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_cover_page: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR86" data-line-number="86" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_toc: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR87" data-line-number="87" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_toc: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR88" data-line-number="88" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_abstract: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR89" data-line-number="89" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> dont_show_poster_abstract: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR90" data-line-number="90" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_contribs: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR91" data-line-number="91" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_length_contribs: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR92" data-line-number="92" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_breaks: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR93" data-line-number="93" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> new_page_per_session: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR94" data-line-number="94" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_description: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR95" data-line-number="95" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> print_date_close_to_sessions: bool</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR96" data-line-number="96" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR97" data-line-number="97" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL76" data-line-number="76" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR98" data-line-number="98" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" ">class RHTimetableExportPDF(RHTimetableProtectionBase):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL77" data-line-number="77" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> def _process(self):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR99" data-line-number="99" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> @use_kwargs({'download': fields.Bool(load_default=False)}, location='query')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR100" data-line-number="100" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> def _process(self, download):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL78" data-line-number="78" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR101" data-line-number="101" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> form = TimetablePDFExportForm(formdata=request.args, csrf_enabled=False)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR102" data-line-number="102" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL79" data-line-number="79" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR103" data-line-number="103" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> if form.validate_on_submit():</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL80" data-line-number="80" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> form_data = form.data_for_format</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL81" data-line-number="81" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf_format = TimetablePDFFormat(form_data)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL82" data-line-number="82" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if not form.advanced.data:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL83" data-line-number="83" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf_format.contribsAtConfLevel = True</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL84" data-line-number="84" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf_format.breaksAtConfLevel = True</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL85" data-line-number="85" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf_class = SimplifiedTimeTablePlain</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL86" data-line-number="86" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> additional_params = {}</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL87" data-line-number="87" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> else:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL88" data-line-number="88" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf_class = TimeTablePlain</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL89" data-line-number="89" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> additional_params = {'firstPageNumber': form.firstPageNumber.data,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL90" data-line-number="90" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> 'showSpeakerAffiliation': form_data['showSpeakerAffiliation'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL91" data-line-number="91" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> 'showSessionDescription': form_data['showSessionDescription']}</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL92" data-line-number="92" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> if request.args.get('download') == '1':</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL93" data-line-number="93" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf = pdf_class(self.event, session.user, sortingCrit=None, ttPDFFormat=pdf_format,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL94" data-line-number="94" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pagesize=form.pagesize.data, **additional_params)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL95" data-line-number="95" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> return send_file('timetable.pdf', BytesIO(pdf.getPDFBin()), 'application/pdf')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL96" data-line-number="96" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> else:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL97" data-line-number="97" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> url = url_for(request.endpoint, **dict(request.view_args, download='1', **request.args.to_dict(False)))</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR104" data-line-number="104" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> if not download:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR105" data-line-number="105" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> url = url_for(request.endpoint, **dict(request.view_args, download=True, **request.args.to_dict(False)))</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL98" data-line-number="98" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR106" data-line-number="106" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> return jsonify_data(flash=False, redirect=url, redirect_no_loading=True)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR107" data-line-number="107" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR108" data-line-number="108" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> now = now_utc()</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR109" data-line-number="109" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> css = render_template('events/timetable/pdf/timetable.css')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR110" data-line-number="110" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> event = self.event</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR111" data-line-number="111" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> entries = get_nested_timetable(event)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR112" data-line-number="112" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> days = {day: list(e) for day, e in groupby(</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR113" data-line-number="113" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> entries, lambda e: e.start_dt.astimezone(self.event.tzinfo).date()</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR114" data-line-number="114" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> )}</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR115" data-line-number="115" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR116" data-line-number="116" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> config = TimetableExportConfig(</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR117" data-line-number="117" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_title=form.other.data['showSpeakerTitle'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR118" data-line-number="118" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_affiliation=form.other.data['showSpeakerAffiliation'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR119" data-line-number="119" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_cover_page=form.document_settings.data['showCoverPage'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR120" data-line-number="120" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_toc=form.document_settings.data['showTableContents'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR121" data-line-number="121" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_toc=form.document_settings.data['showSessionTOC'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR122" data-line-number="122" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_abstract=form.contribution_info.data['showAbstract'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR123" data-line-number="123" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> dont_show_poster_abstract=form.contribution_info.data['dontShowPosterAbstract'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR124" data-line-number="124" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_contribs=form.visible_entries.data['showContribsAtConfLevel'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR125" data-line-number="125" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_length_contribs=form.contribution_info.data['showLengthContribs'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR126" data-line-number="126" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_breaks=form.visible_entries.data['showBreaksAtConfLevel'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR127" data-line-number="127" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> new_page_per_session=form.session_info.data['newPagePerSession'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR128" data-line-number="128" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_description=form.session_info.data['showSessionDescription'],</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR129" data-line-number="129" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> print_date_close_to_sessions=form.session_info.data['printDateCloseToSessions']</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR130" data-line-number="130" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> )</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR131" data-line-number="131" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR132" data-line-number="132" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> html = render_template('events/timetable/pdf/timetable.html', event=self.event,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR133" data-line-number="133" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> days=days, now=now, config=config)</span></td> </tr> <tr class="inline-comments js-inline-comments-container js-skip-tagsearch"> <td class="line-comments p-0 p-md-2 js-line-comments js-quote-selection-container" data-quote-markdown=".js-comment-body" colspan="3"> <div class="comment-holder"> <turbo-frame id="review-thread-or-comment-id-1182394426" target="_top"> <details data-resolved="true" data-deferred-details-content-url="/indico/indico/pull/6558/threads/1182394426?rendering_on_files_tab=true" data-hidden-comment-ids="1848472297,1852085304" data-view-component="true" class="review-thread-component js-comment-container js-resolvable-timeline-thread-container Details-element details-reset mb-0 border rounded-2"> <summary role="button" data-view-component="true" class="js-toggle-outdated-comments py-2 px-3 rounded-2 color-bg-subtle"> <div class="d-flex flex-items-center"> <span class="flex-auto mr-3 d-flex flex-items-center"> <div class="d-lg-inline d-block px-md-0 px-3 pb-md-0 pb-3"> <strong>AjobK</strong> marked this conversation as resolved. </div> </span> <span class="btn-link color-fg-muted f6 Details-content--closed"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-unfold mr-1"> <path d="m8.177.677 2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25a.75.75 0 0 1-1.5 0V4H5.104a.25.25 0 0 1-.177-.427L7.823.677a.25.25 0 0 1 .354 0ZM7.25 10.75a.75.75 0 0 1 1.5 0V12h2.146a.25.25 0 0 1 .177.427l-2.896 2.896a.25.25 0 0 1-.354 0l-2.896-2.896A.25.25 0 0 1 5.104 12H7.25v-1.25Zm-5-2a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg>Show resolved</span> <span class="btn-link color-fg-muted f6 Details-content--open"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-fold mr-1"> <path d="M10.896 2H8.75V.75a.75.75 0 0 0-1.5 0V2H5.104a.25.25 0 0 0-.177.427l2.896 2.896a.25.25 0 0 0 .354 0l2.896-2.896A.25.25 0 0 0 10.896 2ZM8.75 15.25a.75.75 0 0 1-1.5 0V14H5.104a.25.25 0 0 1-.177-.427l2.896-2.896a.25.25 0 0 1 .354 0l2.896 2.896a.25.25 0 0 1-.177.427H8.75v1.25Zm-6.5-6.5a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM6 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 6 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5ZM12 8a.75.75 0 0 1-.75.75h-.5a.75.75 0 0 1 0-1.5h.5A.75.75 0 0 1 12 8Zm2.25.75a.75.75 0 0 0 0-1.5h-.5a.75.75 0 0 0 0 1.5h.5Z"></path> </svg>Hide resolved</span> </div> </summary> <div data-view-component="true"> <include-fragment> <span data-view-component="true"> <svg aria-label="Loading" style="box-sizing: content-box; color: var(--color-icon-primary);" width="64" height="64" viewBox="0 0 16 16" fill="none" role="img" data-view-component="true" class="my-3 mx-auto d-block anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg></span> </include-fragment> </div> </details></turbo-frame> </div> </td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR134" data-line-number="134" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR135" data-line-number="135" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> return send_file('timetable.pdf', create_pdf(html, css, self.event), 'application/pdf')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL99" data-line-number="99" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR136" data-line-number="136" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> return jsonify_template('events/timetable/timetable_pdf_export.html', form=form,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL100" data-line-number="100" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR137" data-line-number="137" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> back_url=url_for('.timetable', self.event))</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL101" data-line-number="101" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR138" data-line-number="138" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL102" data-line-number="102" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR139" data-line-number="139" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL103" data-line-number="103" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-">class RHTimetableExportDefaultPDF(<span class="x x-first x-last">RHTimetableProtectionBase</span>):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR140" data-line-number="140" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">class RHTimetableExportDefaultPDF(<span class="x x-first x-last">RHTimetableExportPDF</span>):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL104" data-line-number="104" class="blob-num blob-num-context js-linkable-line-number"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR141" data-line-number="141" class="blob-num blob-num-context js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-context js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker=" "> def _process(self):</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL105" data-line-number="105" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> pdf = get_timetable_offline_pdf_generator(self.event)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbL106" data-line-number="106" class="blob-num blob-num-deletion js-linkable-line-number"></td> <td class="blob-num blob-num-deletion empty-cell"></td> <td class="blob-code blob-code-deletion js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass js-skip-tagsearch' data-code-marker="-"> return send_file('timetable.pdf', BytesIO(pdf.getPDFBin()), 'application/pdf')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR142" data-line-number="142" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> now = now_utc()</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR143" data-line-number="143" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> css = render_template('events/timetable/pdf/timetable.css')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR144" data-line-number="144" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> event = self.event</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR145" data-line-number="145" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> entries = get_nested_timetable(event)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR146" data-line-number="146" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> days = {day: list(e) for day, e in groupby(</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR147" data-line-number="147" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> entries, lambda e: e.start_dt.astimezone(self.event.tzinfo).date()</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR148" data-line-number="148" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> )}</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR149" data-line-number="149" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR150" data-line-number="150" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> config = TimetableExportConfig(</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR151" data-line-number="151" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_title=True,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR152" data-line-number="152" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_affiliation=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR153" data-line-number="153" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_cover_page=True,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR154" data-line-number="154" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_toc=True,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR155" data-line-number="155" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_toc=True,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR156" data-line-number="156" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_abstract=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR157" data-line-number="157" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> dont_show_poster_abstract=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR158" data-line-number="158" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_contribs=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR159" data-line-number="159" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_length_contribs=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR160" data-line-number="160" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_breaks=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR161" data-line-number="161" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> new_page_per_session=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR162" data-line-number="162" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> show_session_description=False,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR163" data-line-number="163" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> print_date_close_to_sessions=False</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR164" data-line-number="164" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> )</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR165" data-line-number="165" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR166" data-line-number="166" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> html = render_template('events/timetable/pdf/timetable.html', event=self.event,</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR167" data-line-number="167" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> days=days, now=now, config=config)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR168" data-line-number="168" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR169" data-line-number="169" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> return send_file('timetable.pdf', create_pdf(html, css, self.event), 'application/pdf')</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR170" data-line-number="170" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR171" data-line-number="171" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR172" data-line-number="172" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+">def create_pdf(html, css, event) -> BytesIO:</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR173" data-line-number="173" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> css_url_fetcher = sandboxed_url_fetcher(event)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR174" data-line-number="174" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> html_url_fetcher = sandboxed_url_fetcher(event, allow_event_images=True)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR175" data-line-number="175" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> css = CSS(string=css, url_fetcher=css_url_fetcher)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR176" data-line-number="176" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> documents = [</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR177" data-line-number="177" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> HTML(string=html, url_fetcher=html_url_fetcher).render(stylesheets=(css,))</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR178" data-line-number="178" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> ]</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR179" data-line-number="179" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> all_pages = [p for doc in documents for p in doc.pages]</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR180" data-line-number="180" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR181" data-line-number="181" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> f = BytesIO()</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR182" data-line-number="182" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> documents[0].copy(all_pages).write_pdf(f)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR183" data-line-number="183" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> f.seek(0)</span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR184" data-line-number="184" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"><br></span></td> </tr> <tr data-hunk="9c54a296330d23a584d4e26707e78e625b463e83cf4722988ceb7c79a369e92a" class="show-top-border"> <td class="blob-num blob-num-addition empty-cell"></td> <td id="diff-4b8c9534859aa43e0755c3bd5580d16043412756c2c2551a380587b635044acbR185" data-line-number="185" class="blob-num blob-num-addition js-linkable-line-number js-code-nav-line-number js-blob-rnum"></td> <td class="blob-code blob-code-addition js-file-line"> <span class='blob-code-inner blob-code-marker js-code-nav-pass ' data-code-marker="+"> return f</span></td> </tr> </tbody> </table> </deferred-diff-lines> </div> </div> </div> </copilot-diff-entry> </div> <div class="js-diff-progressive-container"> <include-fragment src="/indico/indico/diffs?base_sha=257a5e293592d6061ada0a33765ad7d8eb480dd2&bytes=17796&head_user=AjobK&lines=372&pull_number=6558&responsive=true&sha1=257a5e293592d6061ada0a33765ad7d8eb480dd2&sha2=51d1a6741e7af63f6f7fed2f48037ec487389df2&start_entry=4&sticky=true&w=false" class="diff-progressive-loader js-diff-progressive-loader mb-4 d-flex flex-items-center flex-justify-center" data-targets="diff-file-filter.progressiveLoaders" data-action="include-fragment-replace:diff-file-filter#refilterAfterAsyncLoad" > <span data-view-component="true"> <svg data-hide-on-error="true" style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> <div data-show-on-error hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-fg-danger mr-1"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> Oops, something went wrong. <button data-retry-button="" type="button" data-view-component="true" class="btn-link"> Retry </button> </div> </include-fragment> </div> <div class="js-diff-progressive-container"> <include-fragment src="/indico/indico/unchanged_files_with_annotations?blob_paths%5B%5D=.github&pull_number=6558&sha2=51d1a6741e7af63f6f7fed2f48037ec487389df2" class="diff-progressive-loader js-diff-progressive-loader mb-4 d-flex flex-items-center flex-justify-center" data-targets="diff-file-filter.progressiveLoaders" > <span data-view-component="true"> <svg data-hide-on-error="true" style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" aria-hidden="true" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> <span class="sr-only">Loading</span> </span> <div data-show-on-error hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert color-fg-danger mr-1"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> Oops, something went wrong. <button data-retry-button="" type="button" data-view-component="true" class="btn-link"> Retry </button> </div> </include-fragment> </div> </div> <button type="button" class="js-toggle-all-file-notes" data-hotkey="i" style="display:none">Toggle all file notes</button> <button type="button" class="js-toggle-all-file-annotations" data-hotkey="a" style="display:none">Toggle all file annotations</button> <svg aria-hidden="true" width="100px" height="84px" viewBox="0 0 340 84" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="diff-placeholder-svg position-absolute bottom-0"> <defs> <clippath id="diff-placeholder"> <rect x="0" y="0" width="67.0175439" height="11.9298746" rx="2"></rect> <rect x="18.9473684" y="47.7194983" width="100.701754" height="11.9298746" rx="2"></rect> <rect x="0" y="71.930126" width="37.8947368" height="11.9298746" rx="2"></rect> <rect x="127.017544" y="48.0703769" width="53.3333333" height="11.9298746" rx="2"></rect> <rect x="187.719298" y="48.0703769" width="72.9824561" height="11.9298746" rx="2"></rect> <rect x="76.8421053" y="0" width="140.350877" height="11.9298746" rx="2"></rect> <rect x="17.8947368" y="23.8597491" width="140.350877" height="11.9298746" rx="2"></rect> <rect x="166.315789" y="23.8597491" width="173.684211" height="11.9298746" rx="2"></rect> </clippath> <linearGradient id="animated-diff-gradient" x1="0" x2="0" y1="0" y2="1" spreadMethod="reflect"> <stop offset="0" stop-color="#eee"></stop> <stop offset="0.2" stop-color="#eee"></stop> <stop offset="0.5" stop-color="#ddd"></stop> <stop offset="0.8" stop-color="#eee"></stop> <stop offset="1" stop-color="#eee"></stop> <animateTransform attributeName="y1" values="0%; 100%; 0" dur="1s" repeatCount="3"></animateTransform> <animateTransform attributeName="y2" values="100%; 200%; 0" dur="1s" repeatCount="3"></animateTransform> </linearGradient> </defs> </svg> </div> </div> </diff-layout> </diff-file-filter> </div> </div> <div hidden> <span class="js-add-to-batch-enabled">Add this suggestion to a batch that can be applied as a single commit.</span> <span class="js-unchanged-suggestion">This suggestion is invalid because no changes were made to the code.</span> <span class="js-closed-pull">Suggestions cannot be applied while the pull request is closed.</span> <span class="js-viewing-subset-changes">Suggestions cannot be applied while viewing a subset of changes.</span> <span class="js-one-suggestion-per-line">Only one suggestion per line can be applied in a batch.</span> <span class="js-reenable-add-to-batch">Add this suggestion to a batch that can be applied as a single commit.</span> <span class="js-validation-on-left-blob">Applying suggestions on deleted lines is not supported.</span> <span class="js-validation-on-right-blob">You must change the existing code in this line in order to create a valid suggestion.</span> <span class="js-outdated-comment">Outdated suggestions cannot be applied.</span> <span class="js-resolved-thread">This suggestion has been applied or marked resolved.</span> <span class="js-pending-review">Suggestions cannot be applied from pending reviews.</span> <span class="js-is-multiline">Suggestions cannot be applied on multi-line comments.</span> <span class="js-in-merge-queue">Suggestions cannot be applied while the pull request is queued to merge.</span> <span class="js-head-oid-not-loaded">Suggestion cannot be applied right now. Please check back later.</span> <div class="form-group errored m-0 error js-suggested-changes-inline-validation-template d-flex" style="cursor: default;"> <span class="js-suggested-changes-inline-error-message position-relative error m-0" style="max-width: inherit;"></span> </div> </div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path> </svg> </a> <span> © 2024 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>